From 0473d9eaf98662d317a35207dd0a19cee781b23f Mon Sep 17 00:00:00 2001 From: Sergei Ogorelkov Date: Fri, 12 May 2023 09:43:58 +0400 Subject: [PATCH] [TSK-1333] Separate filter for TypeString (#3171) Signed-off-by: Sergei Ogorelkov --- models/view/src/index.ts | 12 +++- models/view/src/plugin.ts | 1 + plugins/view-assets/lang/en.json | 1 + plugins/view-assets/lang/ru.json | 1 + .../src/components/filter/StringFilter.svelte | 67 +++++++++++++++++++ .../components/filter/TimestampFilter.svelte | 1 + .../src/components/filter/ValueFilter.svelte | 9 +-- .../linkPresenters/YoutubePresenter.svelte | 1 + plugins/view-resources/src/filter.ts | 12 ++++ plugins/view-resources/src/index.ts | 4 ++ plugins/view-resources/src/plugin.ts | 2 + plugins/view/src/index.ts | 1 + 12 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 plugins/view-resources/src/components/filter/StringFilter.svelte diff --git a/models/view/src/index.ts b/models/view/src/index.ts index ad3e431fea..d8243f5daa 100644 --- a/models/view/src/index.ts +++ b/models/view/src/index.ts @@ -671,7 +671,7 @@ export function createModel (builder: Builder): void { }) builder.mixin(core.class.TypeString, core.class.Class, view.mixin.AttributeFilter, { - component: view.component.ValueFilter + component: view.component.StringFilter }) builder.mixin(core.class.TypeHyperlink, core.class.Class, view.mixin.AttributeFilter, { @@ -762,6 +762,16 @@ export function createModel (builder: Builder): void { view.filter.FilterAfter ) + builder.createDoc( + view.class.FilterMode, + core.space.Model, + { + label: view.string.Contains, + result: view.function.FilterContainsResult + }, + view.filter.FilterContains + ) + builder.createDoc( view.class.FilterMode, core.space.Model, diff --git a/models/view/src/plugin.ts b/models/view/src/plugin.ts index 5d97851d2c..1b49b9bfd1 100644 --- a/models/view/src/plugin.ts +++ b/models/view/src/plugin.ts @@ -103,6 +103,7 @@ export default mergeIds(viewId, view, { FilterValueNinResult: '' as FilterFunction, FilterBeforeResult: '' as FilterFunction, FilterAfterResult: '' as FilterFunction, + FilterContainsResult: '' as FilterFunction, FilterNestedMatchResult: '' as FilterFunction, FilterNestedDontMatchResult: '' as FilterFunction, FilterDateOutdated: '' as FilterFunction, diff --git a/plugins/view-assets/lang/en.json b/plugins/view-assets/lang/en.json index c8ddd6930d..d66ac783cb 100644 --- a/plugins/view-assets/lang/en.json +++ b/plugins/view-assets/lang/en.json @@ -1,5 +1,6 @@ { "string": { + "Contains": "contains", "MoveClass": "Move {class}", "SelectToMove": "Select the {classLabel} you want to move {class} to.", "Delete": "Delete", diff --git a/plugins/view-assets/lang/ru.json b/plugins/view-assets/lang/ru.json index aa646bab9d..ea2b33262b 100644 --- a/plugins/view-assets/lang/ru.json +++ b/plugins/view-assets/lang/ru.json @@ -1,5 +1,6 @@ { "string": { + "Contains": "содержит", "MoveClass": "Переместить {class}", "SelectToMove": "Выберите {classLabel}, в который вы хотите переместить {class}.", "Delete": "Удалить", diff --git a/plugins/view-resources/src/components/filter/StringFilter.svelte b/plugins/view-resources/src/components/filter/StringFilter.svelte new file mode 100644 index 0000000000..2bc9f58d4f --- /dev/null +++ b/plugins/view-resources/src/components/filter/StringFilter.svelte @@ -0,0 +1,67 @@ + + + +
dispatch('changeContent')} on:keydown={onKeyDown}> +
+ +
+
diff --git a/plugins/view-resources/src/components/filter/TimestampFilter.svelte b/plugins/view-resources/src/components/filter/TimestampFilter.svelte index c6b3600cd2..1cdc8d3058 100644 --- a/plugins/view-resources/src/components/filter/TimestampFilter.svelte +++ b/plugins/view-resources/src/components/filter/TimestampFilter.svelte @@ -57,6 +57,7 @@
{#each values as value, i} +