@webitel/ui-datalist 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -11
- package/src/filter-presets/api/PresetQuery.api.ts +2 -2
- package/src/filter-presets/components/_shared/input-fields/preset-description-field.vue +2 -2
- package/src/filter-presets/components/_shared/input-fields/preset-name-field.vue +2 -2
- package/src/filter-presets/components/_shared/preset-filters-preview.vue +2 -2
- package/src/filter-presets/components/apply-preset/apply-preset-action.vue +5 -5
- package/src/filter-presets/components/apply-preset/preset-preview.vue +2 -2
- package/src/filter-presets/components/save-preset/overwrite-preset-popup.vue +1 -1
- package/src/filter-presets/components/save-preset/save-preset-action.vue +4 -4
- package/src/filter-presets/components/save-preset/save-preset-popup.vue +1 -1
- package/src/filters/classes/FiltersManager.ts +1 -1
- package/src/filters/components/config/dynamic-filter-config-form-label.vue +2 -2
- package/src/filters/components/config/dynamic-filter-config-form.vue +33 -12
- package/src/filters/components/config/dynamic-filter-config-view.vue +4 -4
- package/src/filters/components/dynamic-filter-add-action.vue +26 -4
- package/src/filters/components/dynamic-filter-panel-wrapper.vue +1 -1
- package/src/filters/components/dynamic-filter-search.vue +2 -2
- package/src/filters/components/filter-options/_shared/has-options/has-option-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/actual-reaction-time/actual-reaction-time-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/actual-resolution-time/actual-resolution-time-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/agent/agent-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/agent/agent-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/agent/config.js +1 -1
- package/src/filters/components/filter-options/amd-result/amd-result-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/amd-result/amd-result-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/assignee/assignee-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/assignee/assignee-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/assignee/config.js +1 -1
- package/src/filters/components/filter-options/author/author-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/author/author-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/author/config.js +1 -1
- package/src/filters/components/filter-options/cause/cause-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/cause/cause-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/close-reason-groups-case/config.js +2 -2
- package/src/filters/components/filter-options/contact/config.js +1 -1
- package/src/filters/components/filter-options/contact/contact-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/contact/contact-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/contact-group/config.js +1 -1
- package/src/filters/components/filter-options/contact-group/contact-group-filter-value-field.vue +3 -3
- package/src/filters/components/filter-options/contact-group/contact-group-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/created-at-from/created-at-from-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/created-at-from/created-at-from-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/created-at-to/created-at-to-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/created-at-to/created-at-to-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/direction/direction-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/direction/direction-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/gateway/config.js +1 -1
- package/src/filters/components/filter-options/gateway/gateway-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/gateway/gateway-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/grantee/config.js +1 -1
- package/src/filters/components/filter-options/grantee/grantee-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/grantee/grantee-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/has-attachment/has-attachment-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/has-attachment/has-attachment-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/has-file/has-file-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/has-file/has-file-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/has-rating/has-rating-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/has-rating/has-rating-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/has-transcription/has-transcription-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/has-transcription/has-transcription-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/impacted/config.js +1 -1
- package/src/filters/components/filter-options/impacted/impacted-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/impacted/impacted-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/priority-case/config.js +1 -1
- package/src/filters/components/filter-options/priority-case/priority-case-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/priority-case/priority-case-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/queue/config.js +1 -1
- package/src/filters/components/filter-options/queue/queue-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/queue/queue-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/rated-by/config.js +1 -1
- package/src/filters/components/filter-options/rated-by/rated-by-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/rated-by/rated-by-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/rating/rating-from-to-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/reaction-time/reaction-time-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/reporter/config.js +1 -1
- package/src/filters/components/filter-options/reporter/reporter-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/reporter/reporter-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/resolution-time/resolution-time-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/service-case/config.js +2 -2
- package/src/filters/components/filter-options/service-case/service-case-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/service-case/service-case-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/sla/config.js +1 -1
- package/src/filters/components/filter-options/sla/sla-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/sla/sla-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/sla-condition/config.js +2 -2
- package/src/filters/components/filter-options/sla-condition/sla-condition-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/sla-condition/sla-condition-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/source-case/config.js +1 -1
- package/src/filters/components/filter-options/source-case/source-case-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/source-case/source-case-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/status-case/config.js +2 -2
- package/src/filters/components/filter-options/status-case/status-case-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/status-case/status-case-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/tag/tag-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/tag/tag-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/talk-duration/talk-duration-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/team/config.js +1 -1
- package/src/filters/components/filter-options/team/team-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/team/team-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/total-duration/total-duration-filter-value-field.vue +1 -1
- package/src/filters/components/filter-options/user/config.js +1 -1
- package/src/filters/components/filter-options/user/user-filter-value-field.vue +2 -2
- package/src/filters/components/filter-options/user/user-filter-value-preview.vue +1 -1
- package/src/filters/components/filter-options/variable/variable-filter-value-field.vue +2 -2
- package/src/filters/components/preview/dynamic-filter-preview.vue +24 -6
- package/src/filters/components/table-filters-panel.vue +142 -68
- package/src/filters/index.ts +10 -1
- package/src/filters/types/Filter.d.ts +5 -0
- package/src/headers/createTableHeadersStore.ts +3 -3
- package/src/types/tableStore.types.ts +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webitel/ui-datalist",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Toolkit for building data lists in webitel ui system",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"lint:fix": "eslint --fix ./src && prettier --write --check ./src",
|
|
7
7
|
"lint:fix-staged": "npx lint-staged",
|
|
8
8
|
"lint:package": "publint",
|
|
9
9
|
"utils:i": "npm i",
|
|
10
|
+
"utils:link": "npm link",
|
|
10
11
|
"utils:publish": "npm publish --access public"
|
|
11
12
|
},
|
|
12
13
|
"type": "module",
|
|
@@ -16,15 +17,9 @@
|
|
|
16
17
|
"../../"
|
|
17
18
|
],
|
|
18
19
|
"exports": {
|
|
19
|
-
".":
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"./filters": {
|
|
23
|
-
"import": "./src/filters/index.ts"
|
|
24
|
-
},
|
|
25
|
-
"./presets": {
|
|
26
|
-
"import": "./src/filter-presets/index.ts"
|
|
27
|
-
}
|
|
20
|
+
".": "./src/index.ts",
|
|
21
|
+
"./filters": "./src/filters/index.ts",
|
|
22
|
+
"./presets": "./src/filter-presets/index.ts"
|
|
28
23
|
},
|
|
29
24
|
"files": [
|
|
30
25
|
"src/*",
|
|
@@ -39,7 +34,7 @@
|
|
|
39
34
|
"dependencies": {
|
|
40
35
|
"@vuelidate/core": "^2.0.3",
|
|
41
36
|
"@vuelidate/validators": "^2.0.4",
|
|
42
|
-
"@webitel/ui-sdk": "^25.4.
|
|
37
|
+
"@webitel/ui-sdk": "^25.4.48"
|
|
43
38
|
},
|
|
44
39
|
"devDependencies": {
|
|
45
40
|
"vue-tsc": "^2.2.8",
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
getDefaultGetParams,
|
|
4
4
|
getDefaultInstance,
|
|
5
5
|
getDefaultOpenAPIConfig,
|
|
6
|
-
} from '@webitel/ui-sdk/
|
|
6
|
+
} from '@webitel/ui-sdk/api/defaults/index';
|
|
7
7
|
import applyTransform, {
|
|
8
8
|
camelToSnake,
|
|
9
9
|
merge,
|
|
@@ -11,7 +11,7 @@ import applyTransform, {
|
|
|
11
11
|
skipIf,
|
|
12
12
|
snakeToCamel,
|
|
13
13
|
starToSearch,
|
|
14
|
-
} from '@webitel/ui-sdk/
|
|
14
|
+
} from '@webitel/ui-sdk/api/transformers/index';
|
|
15
15
|
import {
|
|
16
16
|
EngineCreatePresetQueryRequest,
|
|
17
17
|
EnginePresetQuery,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</template>
|
|
18
18
|
|
|
19
19
|
<script setup lang="ts">
|
|
20
|
-
import { WtLabel, WtTextarea } from '@webitel/ui-sdk/
|
|
20
|
+
import { WtLabel, WtTextarea } from '@webitel/ui-sdk/components';
|
|
21
21
|
import { useI18n } from 'vue-i18n';
|
|
22
22
|
|
|
23
23
|
const model = defineModel<string>();
|
|
@@ -29,4 +29,4 @@ const props = defineProps<{
|
|
|
29
29
|
const { t } = useI18n();
|
|
30
30
|
</script>
|
|
31
31
|
|
|
32
|
-
<style scoped
|
|
32
|
+
<style scoped></style>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<script setup lang="ts">
|
|
11
11
|
import { Validation } from '@vuelidate/core';
|
|
12
|
-
import { WtInput } from '@webitel/ui-sdk/
|
|
12
|
+
import { WtInput } from '@webitel/ui-sdk/components';
|
|
13
13
|
import { useI18n } from 'vue-i18n';
|
|
14
14
|
|
|
15
15
|
type ModelValue = string;
|
|
@@ -25,4 +25,4 @@ const props = defineProps<Props>();
|
|
|
25
25
|
const { t } = useI18n();
|
|
26
26
|
</script>
|
|
27
27
|
|
|
28
|
-
<style scoped
|
|
28
|
+
<style scoped></style>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
</template>
|
|
26
26
|
|
|
27
27
|
<script setup lang="ts">
|
|
28
|
-
import { WtLabel } from '@webitel/ui-sdk/
|
|
28
|
+
import { WtLabel } from '@webitel/ui-sdk/components';
|
|
29
29
|
import { useI18n } from 'vue-i18n';
|
|
30
30
|
|
|
31
31
|
import type { IFilter } from '../../../filters';
|
|
@@ -42,4 +42,4 @@ const props = defineProps<Props>();
|
|
|
42
42
|
const { t } = useI18n();
|
|
43
43
|
</script>
|
|
44
44
|
|
|
45
|
-
<style scoped
|
|
45
|
+
<style scoped></style>
|
|
@@ -74,10 +74,10 @@ import {
|
|
|
74
74
|
WtIconAction,
|
|
75
75
|
WtPopup,
|
|
76
76
|
WtSearchBar,
|
|
77
|
-
} from '@webitel/ui-sdk/
|
|
78
|
-
import { IconAction } from '@webitel/ui-sdk/
|
|
79
|
-
import { useTableEmpty } from '@webitel/ui-sdk/
|
|
80
|
-
import { type
|
|
77
|
+
} from '@webitel/ui-sdk/components';
|
|
78
|
+
import { IconAction } from '@webitel/ui-sdk/enums';
|
|
79
|
+
import { useTableEmpty } from '@webitel/ui-sdk/modules/TableComponentModule/composables/useTableEmpty';
|
|
80
|
+
import { type Store, storeToRefs } from 'pinia';
|
|
81
81
|
import { computed, inject, ref, watch } from 'vue';
|
|
82
82
|
import { useI18n } from 'vue-i18n';
|
|
83
83
|
import { EnginePresetQuery } from 'webitel-sdk';
|
|
@@ -90,7 +90,7 @@ const props = defineProps<{
|
|
|
90
90
|
* presets "section" namespace
|
|
91
91
|
*/
|
|
92
92
|
namespace: string;
|
|
93
|
-
usePresetsStore:
|
|
93
|
+
usePresetsStore: Store;
|
|
94
94
|
}>();
|
|
95
95
|
|
|
96
96
|
const emit = defineEmits<{
|
|
@@ -80,12 +80,12 @@ import {
|
|
|
80
80
|
WtExpansionPanel,
|
|
81
81
|
WtIconAction,
|
|
82
82
|
WtRadio,
|
|
83
|
-
} from '@webitel/ui-sdk/
|
|
84
|
-
import { createFiltersManager } from '@webitel/ui-sdk/src/filters/index';
|
|
83
|
+
} from '@webitel/ui-sdk/components';
|
|
85
84
|
import { AxiosError } from 'axios';
|
|
86
85
|
import { computed, ref } from 'vue';
|
|
87
86
|
import { EnginePresetQuery } from 'webitel-sdk';
|
|
88
87
|
|
|
88
|
+
import { createFiltersManager } from '../../../filters';
|
|
89
89
|
import PresetDescriptionField from '../_shared/input-fields/preset-description-field.vue';
|
|
90
90
|
import PresetNameField from '../_shared/input-fields/preset-name-field.vue';
|
|
91
91
|
import PresetFiltersPreview from '../_shared/preset-filters-preview.vue';
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
</template>
|
|
31
31
|
|
|
32
32
|
<script lang="ts" setup>
|
|
33
|
-
import { WtIconAction } from '@webitel/ui-sdk/
|
|
34
|
-
import { IconAction } from '@webitel/ui-sdk/
|
|
33
|
+
import { WtIconAction } from '@webitel/ui-sdk/components';
|
|
34
|
+
import { IconAction } from '@webitel/ui-sdk/enums';
|
|
35
35
|
import { computed, inject, type Ref, ref } from 'vue';
|
|
36
36
|
import { useI18n } from 'vue-i18n';
|
|
37
37
|
import { EnginePresetQuery } from 'webitel-sdk';
|
|
38
38
|
|
|
39
|
-
import { IFiltersManager } from '../../../filters
|
|
39
|
+
import { IFiltersManager } from '../../../filters';
|
|
40
40
|
import {
|
|
41
41
|
addPreset,
|
|
42
42
|
getPresetList,
|
|
@@ -136,4 +136,4 @@ const handlePresetOverwriteConfirmation = async ({
|
|
|
136
136
|
};
|
|
137
137
|
</script>
|
|
138
138
|
|
|
139
|
-
<style
|
|
139
|
+
<style scoped></style>
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
<script setup lang="ts">
|
|
49
49
|
import { useVuelidate } from '@vuelidate/core';
|
|
50
50
|
import { required } from '@vuelidate/validators';
|
|
51
|
-
import { WtPopup } from '@webitel/ui-sdk/
|
|
51
|
+
import { WtPopup } from '@webitel/ui-sdk/components';
|
|
52
52
|
import { computed, reactive, ref } from 'vue';
|
|
53
53
|
import { useI18n } from 'vue-i18n';
|
|
54
54
|
import { EnginePresetQuery } from 'webitel-sdk';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<script setup lang="ts">
|
|
11
11
|
import { useVuelidate } from '@vuelidate/core';
|
|
12
12
|
import { maxLength } from '@vuelidate/validators';
|
|
13
|
-
import WtInput from '@webitel/ui-sdk/
|
|
13
|
+
import { WtInput } from '@webitel/ui-sdk/components';
|
|
14
14
|
import { computed, watch } from 'vue';
|
|
15
15
|
import { useI18n } from 'vue-i18n';
|
|
16
16
|
|
|
@@ -46,4 +46,4 @@ watch(
|
|
|
46
46
|
);
|
|
47
47
|
</script>
|
|
48
48
|
|
|
49
|
-
<style scoped
|
|
49
|
+
<style scoped></style>
|
|
@@ -16,11 +16,20 @@
|
|
|
16
16
|
v-bind="{
|
|
17
17
|
filterName,
|
|
18
18
|
filterValue,
|
|
19
|
-
inputLabel:
|
|
20
|
-
onValueChange
|
|
21
|
-
onValueInvalidChange
|
|
19
|
+
inputLabel: valueInputLabelText,
|
|
20
|
+
onValueChange,
|
|
21
|
+
onValueInvalidChange,
|
|
22
22
|
}"
|
|
23
|
-
|
|
23
|
+
>
|
|
24
|
+
<component
|
|
25
|
+
:is="FilterOptionToValueComponentMap[filterName]"
|
|
26
|
+
:key="filterName"
|
|
27
|
+
:model-value="filterValue"
|
|
28
|
+
:label="valueInputLabelText"
|
|
29
|
+
@update:model-value="onValueChange"
|
|
30
|
+
@update:invalid="onValueInvalidChange"
|
|
31
|
+
/>
|
|
32
|
+
</slot>
|
|
24
33
|
|
|
25
34
|
<dynamic-filter-config-form-label
|
|
26
35
|
:value="filterLabel"
|
|
@@ -49,19 +58,19 @@
|
|
|
49
58
|
</template>
|
|
50
59
|
|
|
51
60
|
<script lang="ts" setup>
|
|
52
|
-
import { WtButton, WtSelect } from '@webitel/ui-sdk/
|
|
61
|
+
import { WtButton, WtSelect } from '@webitel/ui-sdk/components';
|
|
53
62
|
import deepcopy from 'deep-copy';
|
|
54
|
-
import { ref, watch } from 'vue';
|
|
63
|
+
import { computed, ref, watch } from 'vue';
|
|
55
64
|
import { useI18n } from 'vue-i18n';
|
|
56
65
|
|
|
57
|
-
import type {
|
|
66
|
+
import type {
|
|
67
|
+
FilterInitParams,
|
|
68
|
+
FilterNameSelectRepresentation,
|
|
69
|
+
IFilter,
|
|
70
|
+
} from '../../types/Filter';
|
|
71
|
+
import { FilterOptionToValueComponentMap } from '../filter-options';
|
|
58
72
|
import DynamicFilterConfigFormLabel from './dynamic-filter-config-form-label.vue';
|
|
59
73
|
|
|
60
|
-
interface FilterNameSelectRepresentation {
|
|
61
|
-
name: string;
|
|
62
|
-
value: FilterName;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
74
|
interface AddModeProps {
|
|
66
75
|
options: Array<FilterNameSelectRepresentation>;
|
|
67
76
|
}
|
|
@@ -89,6 +98,18 @@ const editMode = !!props.filter;
|
|
|
89
98
|
|
|
90
99
|
const invalid = ref(false);
|
|
91
100
|
|
|
101
|
+
const onValueChange = (v) => {
|
|
102
|
+
filterValue.value = v;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
const onValueInvalidChange = (v) => {
|
|
106
|
+
invalid.value = v;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const valueInputLabelText = computed(() => {
|
|
110
|
+
return t('webitelUI.filters.filterValue');
|
|
111
|
+
});
|
|
112
|
+
|
|
92
113
|
const onLabelValueUpdate = (val: string) => {
|
|
93
114
|
filterLabel.value = val;
|
|
94
115
|
};
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
<template #activator="slotScope">
|
|
9
9
|
<slot
|
|
10
10
|
name="activator"
|
|
11
|
-
v-bind="slotScope"
|
|
11
|
+
v-bind="{ tooltipSlotScope: slotScope }"
|
|
12
12
|
/>
|
|
13
13
|
</template>
|
|
14
14
|
<template #default="slotScope">
|
|
15
15
|
<slot
|
|
16
16
|
name="content"
|
|
17
|
-
v-bind="slotScope"
|
|
17
|
+
v-bind="{ tooltipSlotScope: slotScope }"
|
|
18
18
|
/>
|
|
19
19
|
</template>
|
|
20
20
|
</wt-tooltip>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* and their styling
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
import WtTooltip from '@webitel/ui-sdk/
|
|
30
|
+
import { WtTooltip } from '@webitel/ui-sdk/components';
|
|
31
31
|
|
|
32
32
|
interface Props {
|
|
33
33
|
disabled?: boolean;
|
|
@@ -37,4 +37,4 @@ interface Props {
|
|
|
37
37
|
const props = defineProps<Props>();
|
|
38
38
|
</script>
|
|
39
39
|
|
|
40
|
-
<style
|
|
40
|
+
<style scoped></style>
|
|
@@ -12,30 +12,52 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</template>
|
|
14
14
|
|
|
15
|
-
<template #content="
|
|
15
|
+
<template #content="{ tooltipSlotScope }">
|
|
16
16
|
<slot
|
|
17
17
|
name="form"
|
|
18
|
-
v-bind="
|
|
18
|
+
v-bind="{ tooltipSlotScope }"
|
|
19
19
|
>
|
|
20
|
-
filter
|
|
20
|
+
<dynamic-filter-config-form
|
|
21
|
+
:options="props.filterOptions"
|
|
22
|
+
@cancel="() => tooltipSlotScope.hide()"
|
|
23
|
+
@submit="
|
|
24
|
+
(payload) =>
|
|
25
|
+
submitFilterChange(payload, { hide: tooltipSlotScope.hide })
|
|
26
|
+
"
|
|
27
|
+
/>
|
|
21
28
|
</slot>
|
|
22
29
|
</template>
|
|
23
30
|
</dynamic-filter-config-view>
|
|
24
31
|
</template>
|
|
25
32
|
|
|
26
33
|
<script lang="ts" setup>
|
|
27
|
-
import { WtIconAction } from '@webitel/ui-sdk/
|
|
34
|
+
import { WtIconAction } from '@webitel/ui-sdk/components';
|
|
28
35
|
import { useI18n } from 'vue-i18n';
|
|
29
36
|
|
|
37
|
+
import type {
|
|
38
|
+
FilterInitParams,
|
|
39
|
+
FilterNameSelectRepresentation,
|
|
40
|
+
} from '../types/Filter';
|
|
41
|
+
import DynamicFilterConfigForm from './config/dynamic-filter-config-form.vue';
|
|
30
42
|
import DynamicFilterConfigView from './config/dynamic-filter-config-view.vue';
|
|
31
43
|
|
|
32
44
|
interface Props {
|
|
45
|
+
filterOptions: FilterNameSelectRepresentation[];
|
|
33
46
|
showLabel?: boolean;
|
|
34
47
|
}
|
|
35
48
|
|
|
36
49
|
const props = defineProps<Props>();
|
|
37
50
|
|
|
38
51
|
const { t } = useI18n();
|
|
52
|
+
|
|
53
|
+
const emit = defineEmits<{
|
|
54
|
+
'add:filter': [FilterInitParams];
|
|
55
|
+
}>();
|
|
56
|
+
|
|
57
|
+
const submitFilterChange = (payload: FilterInitParams, { hide }) => {
|
|
58
|
+
emit('add:filter', payload);
|
|
59
|
+
hide();
|
|
60
|
+
};
|
|
39
61
|
</script>
|
|
40
62
|
|
|
41
63
|
<style lang="scss" scoped>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</template>
|
|
19
19
|
|
|
20
20
|
<script lang="ts" setup>
|
|
21
|
-
import { WtSearchBar } from '@webitel/ui-sdk/
|
|
21
|
+
import { WtSearchBar } from '@webitel/ui-sdk/components';
|
|
22
22
|
import { computed } from 'vue';
|
|
23
23
|
import { useI18n } from 'vue-i18n';
|
|
24
24
|
|
|
@@ -57,4 +57,4 @@ const searchModeOptions = computed(() =>
|
|
|
57
57
|
);
|
|
58
58
|
</script>
|
|
59
59
|
|
|
60
|
-
<style
|
|
60
|
+
<style scoped></style>
|
package/src/filters/components/filter-options/_shared/has-options/has-option-filter-value-field.vue
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</template>
|
|
14
14
|
|
|
15
15
|
<script lang="ts" setup>
|
|
16
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
16
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
17
17
|
import { computed, useAttrs } from 'vue';
|
|
18
18
|
import { useI18n } from 'vue-i18n';
|
|
19
19
|
|
|
@@ -35,4 +35,4 @@ const strModel = computed({
|
|
|
35
35
|
});
|
|
36
36
|
</script>
|
|
37
37
|
|
|
38
|
-
<style
|
|
38
|
+
<style scoped></style>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<script lang="ts" setup>
|
|
15
15
|
import { useVuelidate } from '@vuelidate/core';
|
|
16
16
|
import { required } from '@vuelidate/validators';
|
|
17
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
17
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
18
18
|
import { computed, watch } from 'vue';
|
|
19
19
|
import { useI18n } from 'vue-i18n';
|
|
20
20
|
|
|
@@ -55,4 +55,4 @@ const handleInput = (value: ModelValue) => {
|
|
|
55
55
|
};
|
|
56
56
|
</script>
|
|
57
57
|
|
|
58
|
-
<style
|
|
58
|
+
<style scoped></style>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<script lang="ts" setup>
|
|
16
16
|
import { useVuelidate } from '@vuelidate/core';
|
|
17
17
|
import { required } from '@vuelidate/validators';
|
|
18
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
18
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
19
19
|
import { computed, watch } from 'vue';
|
|
20
20
|
import { useI18n } from 'vue-i18n';
|
|
21
21
|
|
|
@@ -49,4 +49,4 @@ watch(
|
|
|
49
49
|
);
|
|
50
50
|
</script>
|
|
51
51
|
|
|
52
|
-
<style
|
|
52
|
+
<style scoped></style>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<script lang="ts" setup>
|
|
22
22
|
import { useVuelidate } from '@vuelidate/core';
|
|
23
23
|
import { requiredIf } from '@vuelidate/validators';
|
|
24
|
-
import { WtCheckbox, WtSelect } from '@webitel/ui-sdk/
|
|
24
|
+
import { WtCheckbox, WtSelect } from '@webitel/ui-sdk/components';
|
|
25
25
|
import { computed, onMounted, watch } from 'vue';
|
|
26
26
|
import { useI18n } from 'vue-i18n';
|
|
27
27
|
|
|
@@ -70,4 +70,4 @@ watch(
|
|
|
70
70
|
);
|
|
71
71
|
</script>
|
|
72
72
|
|
|
73
|
-
<style
|
|
73
|
+
<style scoped></style>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<script lang="ts" setup>
|
|
15
15
|
import { useVuelidate } from '@vuelidate/core';
|
|
16
16
|
import { required } from '@vuelidate/validators';
|
|
17
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
17
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
18
18
|
import { computed, watch } from 'vue';
|
|
19
19
|
import { useI18n } from 'vue-i18n';
|
|
20
20
|
|
|
@@ -53,4 +53,4 @@ const handleInput = (value: ModelValue) => {
|
|
|
53
53
|
};
|
|
54
54
|
</script>
|
|
55
55
|
|
|
56
|
-
<style
|
|
56
|
+
<style scoped></style>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<script lang="ts" setup>
|
|
16
16
|
import { useVuelidate } from '@vuelidate/core';
|
|
17
17
|
import { required } from '@vuelidate/validators';
|
|
18
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
18
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
19
19
|
import { computed, watch } from 'vue';
|
|
20
20
|
import { useI18n } from 'vue-i18n';
|
|
21
21
|
|
|
@@ -49,4 +49,4 @@ watch(
|
|
|
49
49
|
);
|
|
50
50
|
</script>
|
|
51
51
|
|
|
52
|
-
<style
|
|
52
|
+
<style scoped></style>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<script lang="ts" setup>
|
|
32
32
|
import { useVuelidate } from '@vuelidate/core';
|
|
33
33
|
import { required } from '@vuelidate/validators';
|
|
34
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
34
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
35
35
|
import { computed, onMounted, watch } from 'vue';
|
|
36
36
|
import { useI18n } from 'vue-i18n';
|
|
37
37
|
|
|
@@ -99,4 +99,4 @@ watch(
|
|
|
99
99
|
);
|
|
100
100
|
</script>
|
|
101
101
|
|
|
102
|
-
<style
|
|
102
|
+
<style scoped></style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import CaseCloseReasonGroupsAPI from '@webitel/ui-sdk/
|
|
2
|
-
import CaseCloseReasonsAPI from '@webitel/ui-sdk/
|
|
1
|
+
import CaseCloseReasonGroupsAPI from '@webitel/ui-sdk/api/clients/caseCloseReasonGroups/caseCloseReasonGroups';
|
|
2
|
+
import CaseCloseReasonsAPI from '@webitel/ui-sdk/api/clients/caseCloseReasons/caseCloseReasons';
|
|
3
3
|
|
|
4
4
|
export const caseCloseReasonsGroupsSearchMethod =
|
|
5
5
|
CaseCloseReasonGroupsAPI.getLookup;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<script lang="ts" setup>
|
|
15
15
|
import { useVuelidate } from '@vuelidate/core';
|
|
16
16
|
import { required } from '@vuelidate/validators';
|
|
17
|
-
import { WtSelect } from '@webitel/ui-sdk/
|
|
17
|
+
import { WtSelect } from '@webitel/ui-sdk/components';
|
|
18
18
|
import { computed, watch } from 'vue';
|
|
19
19
|
import { useI18n } from 'vue-i18n';
|
|
20
20
|
|
|
@@ -53,4 +53,4 @@ const handleInput = (value: ModelValue) => {
|
|
|
53
53
|
};
|
|
54
54
|
</script>
|
|
55
55
|
|
|
56
|
-
<style
|
|
56
|
+
<style scoped></style>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ContactGroupsAPI from '@webitel/ui-sdk/
|
|
1
|
+
import ContactGroupsAPI from '@webitel/ui-sdk/api/clients/contactGroups/contactGroups';
|
|
2
2
|
|
|
3
3
|
export const searchMethod = ContactGroupsAPI.getLookup;
|
|
4
4
|
export const localePath = '';
|