@webitel/ui-datalist 26.8.6 → 26.8.8

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.
Files changed (148) hide show
  1. package/Readme.md +1 -0
  2. package/package.json +3 -2
  3. package/src/modules/filter-presets/components/apply-preset/apply-preset-action.vue +16 -4
  4. package/src/modules/filter-presets/components/save-preset/save-preset-action.vue +18 -4
  5. package/src/modules/filters/__tests__/createTableFiltersStore.spec.ts +38 -2
  6. package/src/modules/filters/components/column/column-filter-preview.vue +70 -0
  7. package/src/modules/filters/components/column/column-filter.vue +76 -0
  8. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue +2 -0
  9. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue +43 -5
  10. package/src/modules/filters/components/config/static-view/static-filter-field.vue +6 -21
  11. package/src/modules/filters/components/filters-actions-menu.vue +177 -0
  12. package/src/modules/filters/components/preview/dynamic-filter-preview.vue +5 -60
  13. package/src/modules/filters/components/table-filters-panel.vue +6 -28
  14. package/src/modules/filters/components/types/Filter.types.ts +5 -0
  15. package/src/modules/filters/composables/useColumnFilter.ts +116 -0
  16. package/src/modules/filters/composables/useFilterValueChange.ts +58 -0
  17. package/src/modules/filters/composables/useFilterValuePreview.ts +87 -0
  18. package/src/modules/filters/composables/useSelectedFilters.ts +64 -0
  19. package/src/modules/filters/createTableFiltersStore.ts +13 -5
  20. package/src/modules/filters/index.ts +4 -0
  21. package/src/modules/filters/modules/filterConfig/components/_custom/filterConfig.ts +1 -1
  22. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue +9 -5
  23. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue +7 -4
  24. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue +7 -4
  25. package/src/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue +7 -4
  26. package/src/modules/filters/modules/filterConfig/components/_shared/string-filter/string-filter-value-field.vue +6 -3
  27. package/src/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue +6 -3
  28. package/src/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue +6 -3
  29. package/src/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue +6 -3
  30. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue +4 -4
  31. package/src/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue +6 -3
  32. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue +7 -4
  33. package/src/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue +6 -3
  34. package/src/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue +6 -3
  35. package/src/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue +6 -3
  36. package/src/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue +1 -32
  37. package/src/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue +6 -3
  38. package/src/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue +7 -4
  39. package/src/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue +6 -3
  40. package/src/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue +7 -4
  41. package/src/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue +6 -3
  42. package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue +3 -3
  43. package/src/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue +6 -3
  44. package/src/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue +6 -3
  45. package/src/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue +6 -3
  46. package/src/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue +6 -3
  47. package/src/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue +6 -3
  48. package/src/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue +7 -4
  49. package/src/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue +4 -4
  50. package/src/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue +6 -3
  51. package/src/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue +6 -3
  52. package/src/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue +6 -3
  53. package/src/modules/headers/__tests__/createTableHeadersStore.spec.ts +34 -2
  54. package/src/modules/headers/createTableHeadersStore.ts +19 -5
  55. package/src/modules/pagination/__tests__/createTablePaginationStore.spec.ts +27 -3
  56. package/src/modules/pagination/createTablePaginationStore.ts +23 -4
  57. package/src/modules/table/__tests__/createTableStore.spec.ts +26 -0
  58. package/src/modules/table/createTableStore.store.ts +34 -15
  59. package/src/modules/types/tableStore.types.ts +21 -2
  60. package/types/.tsbuildinfo +1 -1
  61. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +15 -1
  62. package/types/modules/filter-presets/components/save-preset/save-preset-action.vue.d.ts +17 -1
  63. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +2 -35
  64. package/types/modules/filters/components/column/column-filter-preview.vue.d.ts +21 -0
  65. package/types/modules/filters/components/column/column-filter.vue.d.ts +36 -0
  66. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-label.vue.d.ts +2 -2
  67. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue.d.ts +3 -2
  68. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue.d.ts +13 -1
  69. package/types/modules/filters/components/config/static-view/static-filter-field.vue.d.ts +2 -2
  70. package/types/modules/filters/components/filters-actions-menu.vue.d.ts +29 -0
  71. package/types/modules/filters/components/table-filters-panel.vue.d.ts +6 -6
  72. package/types/modules/filters/components/types/Filter.types.d.ts +4 -0
  73. package/types/modules/filters/composables/useColumnFilter.d.ts +27 -0
  74. package/types/modules/filters/composables/useFilterValueChange.d.ts +23 -0
  75. package/types/modules/filters/composables/useFilterValuePreview.d.ts +21 -0
  76. package/types/modules/filters/composables/useSelectedFilters.d.ts +22 -0
  77. package/types/modules/filters/createTableFiltersStore.d.ts +6 -2
  78. package/types/modules/filters/index.d.ts +3 -1
  79. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue.d.ts +3 -2
  80. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue.d.ts +8 -4
  81. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue.d.ts +8 -4
  82. package/types/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue.d.ts +8 -4
  83. package/types/modules/filters/modules/filterConfig/components/_shared/string-filter/string-filter-value-field.vue.d.ts +8 -4
  84. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue.d.ts +8 -4
  85. package/types/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-field.vue.d.ts +2 -2
  86. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue.d.ts +8 -4
  87. package/types/modules/filters/modules/filterConfig/components/auditor/auditor-filter-value-field.vue.d.ts +2 -2
  88. package/types/modules/filters/modules/filterConfig/components/auditor/index.d.ts +2 -2
  89. package/types/modules/filters/modules/filterConfig/components/bucket/bucket-filter-value-field.vue.d.ts +2 -2
  90. package/types/modules/filters/modules/filterConfig/components/bucket/index.d.ts +2 -2
  91. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue.d.ts +8 -4
  92. package/types/modules/filters/modules/filterConfig/components/call-reporting-result/call-reporting-result-filter-value-field.vue.d.ts +2 -2
  93. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +3 -2
  94. package/types/modules/filters/modules/filterConfig/components/case-assignee/filterConfig.d.ts +4 -2
  95. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue.d.ts +8 -4
  96. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue.d.ts +8 -4
  97. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue.d.ts +8 -4
  98. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue.d.ts +8 -4
  99. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue.d.ts +8 -4
  100. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue.d.ts +8 -4
  101. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue.d.ts +8 -4
  102. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue.d.ts +8 -4
  103. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue.d.ts +8 -4
  104. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue.d.ts +8 -4
  105. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +2 -2
  106. package/types/modules/filters/modules/filterConfig/components/contact-group/index.d.ts +2 -2
  107. package/types/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue.d.ts +2 -2
  108. package/types/modules/filters/modules/filterConfig/components/contact-label/index.d.ts +2 -2
  109. package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue.d.ts +3 -2
  110. package/types/modules/filters/modules/filterConfig/components/contact-owner/index.d.ts +4 -2
  111. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue.d.ts +8 -4
  112. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue.d.ts +8 -4
  113. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue.d.ts +8 -4
  114. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue.d.ts +8 -4
  115. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +2 -2
  116. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +2 -2
  117. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +2 -2
  118. package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue.d.ts +2 -2
  119. package/types/modules/filters/modules/filterConfig/components/index.d.ts +24 -22
  120. package/types/modules/filters/modules/filterConfig/components/queue/index.d.ts +2 -2
  121. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +2 -2
  122. package/types/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue.d.ts +2 -2
  123. package/types/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue.d.ts +2 -2
  124. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue.d.ts +8 -4
  125. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue.d.ts +8 -4
  126. package/types/modules/filters/modules/filterConfig/components/region/index.d.ts +2 -2
  127. package/types/modules/filters/modules/filterConfig/components/region/region-filter-value-field.vue.d.ts +2 -2
  128. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue.d.ts +3 -2
  129. package/types/modules/filters/modules/filterConfig/components/skill/index.d.ts +2 -2
  130. package/types/modules/filters/modules/filterConfig/components/skill/skill-filter-value-field.vue.d.ts +2 -2
  131. package/types/modules/filters/modules/filterConfig/components/stop-cause/stop-cause-filter-value-field.vue.d.ts +2 -2
  132. package/types/modules/filters/modules/filterConfig/components/supervisor/index.d.ts +2 -2
  133. package/types/modules/filters/modules/filterConfig/components/supervisor/supervisor-filter-value-field.vue.d.ts +2 -2
  134. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue.d.ts +8 -4
  135. package/types/modules/filters/modules/filterConfig/components/tags/index.d.ts +2 -2
  136. package/types/modules/filters/modules/filterConfig/components/tags/tags-filter-value-field.vue.d.ts +2 -2
  137. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue.d.ts +2 -2
  138. package/types/modules/filters/modules/filterConfig/components/team/index.d.ts +2 -2
  139. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +2 -2
  140. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue.d.ts +2 -2
  141. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue.d.ts +8 -4
  142. package/types/modules/filters/modules/filterConfig/components/utilization-progress/utilization-progress-filter-value-field.vue.d.ts +2 -2
  143. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue.d.ts +8 -4
  144. package/types/modules/headers/createTableHeadersStore.d.ts +48 -20
  145. package/types/modules/pagination/createTablePaginationStore.d.ts +7 -3
  146. package/types/modules/permissions-page/stores/createPermissionsStore.d.ts +4 -70
  147. package/types/modules/table/createTableStore.store.d.ts +76 -141
  148. package/types/modules/types/tableStore.types.d.ts +20 -2
@@ -3,14 +3,14 @@
3
3
  <wt-timepicker
4
4
  :label="t('reusable.from')"
5
5
  :model-value="value.from"
6
- :v="vFrom"
6
+ :v="!disableValidation && vFrom"
7
7
  format="hh:mm:ss"
8
8
  @update:model-value="handleInput('from', $event)"
9
9
  />
10
10
  <wt-timepicker
11
11
  :label="t('reusable.to')"
12
12
  :model-value="value.to"
13
- :v="vTo"
13
+ :v="!disableValidation && vTo"
14
14
  format="hh:mm:ss"
15
15
  @update:model-value="handleInput('to', $event)"
16
16
  />
@@ -22,6 +22,10 @@ import { useVuelidate } from '@vuelidate/core';
22
22
  import { computed, watch } from 'vue';
23
23
  import { useI18n } from 'vue-i18n';
24
24
 
25
+ const props = defineProps<{
26
+ disableValidation?: boolean;
27
+ }>();
28
+
25
29
  const { t } = useI18n();
26
30
 
27
31
  type ModelValue = {
@@ -74,8 +78,7 @@ const v$ = useVuelidate<{
74
78
  $autoDirty: true,
75
79
  },
76
80
  );
77
- v$.value.$touch();
78
-
81
+ if (!props?.disableValidation) v$.value.$touch();
79
82
  const vFrom = computed(() => {
80
83
  const modelValidation = v$.value.model;
81
84
  if (!modelValidation) return undefined;
@@ -2,7 +2,7 @@
2
2
  <wt-input-text
3
3
  v-model:model-value="model"
4
4
  :label="t('webitelUI.filters.filterValue')"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  />
7
7
  </template>
8
8
 
@@ -14,6 +14,10 @@ import { useI18n } from 'vue-i18n';
14
14
 
15
15
  type ModelValue = string;
16
16
 
17
+ const props = defineProps<{
18
+ disableValidation?: boolean;
19
+ }>();
20
+
17
21
  const model = defineModel<ModelValue>();
18
22
  if (!model.value) {
19
23
  model.value = '';
@@ -35,8 +39,7 @@ const v$ = useVuelidate(
35
39
  },
36
40
  );
37
41
 
38
- v$.value.$touch();
39
-
42
+ if (!props?.disableValidation) v$.value.$touch();
40
43
  const emit = defineEmits<{
41
44
  'update:invalid': [
42
45
  boolean,
@@ -3,7 +3,7 @@
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
5
  :model-value="model"
6
- :v="v$.model"
6
+ :v="!disableValidation && v$.model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
9
9
  />
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -44,8 +48,7 @@ const v$ = useVuelidate(
44
48
  },
45
49
  );
46
50
 
47
- v$.value.$touch();
48
-
51
+ if (!props?.disableValidation) v$.value.$touch();
49
52
  watch(
50
53
  () => v$.value.$invalid,
51
54
  (invalid) => {
@@ -3,7 +3,7 @@
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :options="AmdResultOptions"
5
5
  v-model:model-value="selectValue"
6
- :v="v$.model"
6
+ :v="!disableValidation && v$.model"
7
7
  data-key="value"
8
8
  option-value="value"
9
9
  />
@@ -25,6 +25,10 @@ import { AmdResultOptions } from '../../enums/options/AMDResultOptions';
25
25
 
26
26
  const AMD_RESULT_EMPTY_VALUE = 'EMPTY';
27
27
 
28
+ const props = defineProps<{
29
+ disableValidation?: boolean;
30
+ }>();
31
+
28
32
  const model = defineModel<string[]>();
29
33
  const { t } = useI18n();
30
34
 
@@ -64,8 +68,7 @@ const v$ = useVuelidate(
64
68
  },
65
69
  );
66
70
 
67
- v$.value.$touch();
68
-
71
+ if (!props?.disableValidation) v$.value.$touch();
69
72
  const emit = defineEmits<{
70
73
  'update:invalid': [
71
74
  boolean,
@@ -4,7 +4,7 @@
4
4
  :label="t('webitelUI.filters.filterValue')"
5
5
  :options="CallDirectionFilterOptions"
6
6
  v-model:model-value="model"
7
- :v="v$.model"
7
+ :v="!disableValidation && v$.model"
8
8
  data-key="value"
9
9
  option-value="value"
10
10
  />
@@ -19,6 +19,10 @@ import { useI18n } from 'vue-i18n';
19
19
 
20
20
  import { CallDirectionFilterOptions } from '../../enums/options/CallDirectionFilterOptions';
21
21
 
22
+ const props = defineProps<{
23
+ disableValidation?: boolean;
24
+ }>();
25
+
22
26
  const model = defineModel<string>();
23
27
  const { t } = useI18n();
24
28
 
@@ -36,8 +40,7 @@ const v$ = useVuelidate(
36
40
  },
37
41
  );
38
42
 
39
- v$.value.$touch();
40
-
43
+ if (!props?.disableValidation) v$.value.$touch();
41
44
  const emit = defineEmits<{
42
45
  'update:invalid': [
43
46
  boolean,
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="props.filterConfig.searchRecords"
5
- :v="vList"
5
+ :v="!disableValidation && vList"
6
6
  :model-value="value.list"
7
7
  data-key="id"
8
8
  option-value="id"
@@ -11,7 +11,7 @@
11
11
  <wt-checkbox
12
12
  :label="t('reusable.showUnassigned')"
13
13
  :selected="value.unassigned"
14
- :v="vUnassigned"
14
+ :v="!disableValidation && vUnassigned"
15
15
  @update:selected="handleInput('unassigned', !!$event)"
16
16
  />
17
17
  </template>
@@ -57,6 +57,7 @@ const handleInput = <K extends keyof ModelValue>(
57
57
 
58
58
  const props = defineProps<{
59
59
  filterConfig: CaseAssigneeFilterConfig;
60
+ disableValidation?: boolean;
60
61
  }>();
61
62
 
62
63
  const emit = defineEmits<{
@@ -87,8 +88,7 @@ const v$ = useVuelidate<{
87
88
  $autoDirty: true,
88
89
  },
89
90
  );
90
- v$.value.$touch();
91
-
91
+ if (!props?.disableValidation) v$.value.$touch();
92
92
  const vList = computed(() => {
93
93
  const modelValidation = v$.value.model;
94
94
  if (!modelValidation) return undefined;
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  watch(
48
51
  () => v$.value.$invalid,
49
52
  (invalid) => {
@@ -4,7 +4,7 @@
4
4
  :show-clear="false"
5
5
  :label="t('cases.reason')"
6
6
  :search-method="caseCloseReasonsGroupsSearchMethod"
7
- :v="vSelection"
7
+ :v="!disableValidation && vSelection"
8
8
  :model-value="value.selection"
9
9
  data-key="id"
10
10
  option-value="id"
@@ -18,7 +18,7 @@
18
18
  :disabled="!value.selection"
19
19
  :label="t('webitelUI.filters.filterValue')"
20
20
  :search-method="getConditionList"
21
- :v="vConditions"
21
+ :v="!disableValidation && vConditions"
22
22
  :model-value="value.conditions"
23
23
  data-key="id"
24
24
  option-value="id"
@@ -39,6 +39,10 @@ import {
39
39
  caseCloseReasonsSearchMethod,
40
40
  } from './config.js';
41
41
 
42
+ const props = defineProps<{
43
+ disableValidation?: boolean;
44
+ }>();
45
+
42
46
  type ModelValue = {
43
47
  selection: string;
44
48
  conditions: string;
@@ -104,8 +108,7 @@ const v$ = useVuelidate<{
104
108
  },
105
109
  );
106
110
 
107
- v$.value.$touch();
108
-
111
+ if (!props?.disableValidation) v$.value.$touch();
109
112
  const vSelection = computed(() => {
110
113
  const modelValidation = v$.value.model;
111
114
  if (!modelValidation) return undefined;
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  watch(
48
51
  () => v$.value.$invalid,
49
52
  (invalid) => {
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -43,8 +47,7 @@ const v$ = useVuelidate(
43
47
  $autoDirty: true,
44
48
  },
45
49
  );
46
- v$.value.$touch();
47
-
50
+ if (!props?.disableValidation) v$.value.$touch();
48
51
  watch(
49
52
  () => v$.value.$invalid,
50
53
  (invalid) => {
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  watch(
48
51
  () => v$.value.$invalid,
49
52
  (invalid) => {
@@ -49,41 +49,10 @@ if (!model.value) {
49
49
  onMounted(loadCatalogs);
50
50
  </script>
51
51
 
52
- <style lang="scss">
53
- $form-width: 800px;
54
-
52
+ <style lang="scss" scoped>
55
53
  .service-case-filter-value-field {
56
- grid-area: value;
57
54
  background: transparent;
58
- height: 100%;
59
55
  max-height: 350px;
60
56
  overflow-y: auto;
61
57
  }
62
-
63
- .dynamic-filter-config-form {
64
- &:has(.service-case-filter-value-field) {
65
- display: grid;
66
- grid-template-rows: 64px 1fr auto;
67
- grid-template-columns: repeat(2, 1fr);
68
- grid-template-areas:
69
- 'column label'
70
- 'value value'
71
- 'footer footer';
72
- width: $form-width;
73
- height: 500px;
74
-
75
- .wt-select {
76
- grid-area: column;
77
- height: fit-content;
78
- }
79
-
80
- .wt-input-text {
81
- grid-area: label;
82
- }
83
-
84
- .dynamic-filter-config-form-footer {
85
- grid-area: footer;
86
- }
87
- }
88
- }
89
58
  </style>
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -43,8 +47,7 @@ const v$ = useVuelidate(
43
47
  $autoDirty: true,
44
48
  },
45
49
  );
46
- v$.value.$touch();
47
-
50
+ if (!props?.disableValidation) v$.value.$touch();
48
51
  watch(
49
52
  () => v$.value.$invalid,
50
53
  (invalid) => {
@@ -4,7 +4,7 @@
4
4
  :show-clear="false"
5
5
  :label="t('cases.appliedSLA')"
6
6
  :search-method="slasSearchMethod"
7
- :v="vSelection"
7
+ :v="!disableValidation && vSelection"
8
8
  :model-value="value.selection"
9
9
  data-key="id"
10
10
  option-value="id"
@@ -17,7 +17,7 @@
17
17
  :disabled="!value.selection"
18
18
  :label="t('webitelUI.filters.filterValue')"
19
19
  :search-method="getConditionList"
20
- :v="vConditions"
20
+ :v="!disableValidation && vConditions"
21
21
  :model-value="value.conditions"
22
22
  data-key="id"
23
23
  option-value="id"
@@ -35,6 +35,10 @@ import { useI18n } from 'vue-i18n';
35
35
 
36
36
  import { slasConditionsSearchMethod, slasSearchMethod } from './config.js';
37
37
 
38
+ const props = defineProps<{
39
+ disableValidation?: boolean;
40
+ }>();
41
+
38
42
  type ModelValue = {
39
43
  selection: string;
40
44
  conditions: string;
@@ -100,8 +104,7 @@ const v$ = useVuelidate<{
100
104
  },
101
105
  );
102
106
 
103
- v$.value.$touch();
104
-
107
+ if (!props?.disableValidation) v$.value.$touch();
105
108
  const vSelection = computed(() => {
106
109
  const modelValidation = v$.value.model;
107
110
  if (!modelValidation) return undefined;
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -43,8 +47,7 @@ const v$ = useVuelidate(
43
47
  $autoDirty: true,
44
48
  },
45
49
  );
46
- v$.value.$touch();
47
-
50
+ if (!props?.disableValidation) v$.value.$touch();
48
51
  watch(
49
52
  () => v$.value.$invalid,
50
53
  (invalid) => {
@@ -4,7 +4,7 @@
4
4
  :show-clear="false"
5
5
  :label="t('cases.status')"
6
6
  :search-method="caseStatusesSearchMethod"
7
- :v="vSelection"
7
+ :v="!disableValidation && vSelection"
8
8
  :model-value="value.selection"
9
9
  data-key="id"
10
10
  option-value="id"
@@ -17,7 +17,7 @@
17
17
  :disabled="!value.selection"
18
18
  :label="t('webitelUI.filters.filterValue')"
19
19
  :search-method="getConditionList"
20
- :v="vConditions"
20
+ :v="!disableValidation && vConditions"
21
21
  :model-value="value.conditions"
22
22
  data-key="id"
23
23
  option-value="id"
@@ -38,6 +38,10 @@ import {
38
38
  caseStatusesSearchMethod,
39
39
  } from './config.js';
40
40
 
41
+ const props = defineProps<{
42
+ disableValidation?: boolean;
43
+ }>();
44
+
41
45
  type ModelValue = {
42
46
  selection: string;
43
47
  conditions: string;
@@ -103,8 +107,7 @@ const v$ = useVuelidate<{
103
107
  },
104
108
  );
105
109
 
106
- v$.value.$touch();
107
-
110
+ if (!props?.disableValidation) v$.value.$touch();
108
111
  const vSelection = computed(() => {
109
112
  const modelValidation = v$.value.model;
110
113
  if (!modelValidation) return undefined;
@@ -3,7 +3,7 @@
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
5
  :model-value="model"
6
- :v="v$.model"
6
+ :v="!disableValidation && v$.model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
9
9
  />
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  watch(
48
51
  () => v$.value.$invalid,
49
52
  (invalid) => {
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="props.filterConfig.searchRecords"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,7 @@ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
20
20
 
21
21
  const props = defineProps<{
22
22
  filterConfig: WtSysTypeFilterConfig;
23
+ disableValidation?: boolean;
23
24
  }>();
24
25
 
25
26
  type ModelValue = number[];
@@ -46,8 +47,7 @@ const v$ = useVuelidate(
46
47
  $autoDirty: true,
47
48
  },
48
49
  );
49
- v$.value.$touch();
50
-
50
+ if (!props?.disableValidation) v$.value.$touch();
51
51
  watch(
52
52
  () => v$.value.$invalid,
53
53
  (invalid) => {
@@ -2,7 +2,7 @@
2
2
  <wt-multi-select
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchGateway"
5
- :v="v$.model"
5
+ :v="!disableValidation && v$.model"
6
6
  :model-value="model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  const searchGateway = async (params: { search?: string }) => {
48
51
  return params.search
49
52
  ? await searchMethod({
@@ -3,7 +3,7 @@
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :search-method="searchMethod"
5
5
  :model-value="model"
6
- :v="v$.model"
6
+ :v="!disableValidation && v$.model"
7
7
  option-value="id"
8
8
  @update:model-value="handleInput"
9
9
  />
@@ -20,6 +20,10 @@ import { searchMethod } from './config.js';
20
20
 
21
21
  type ModelValue = number[];
22
22
 
23
+ const props = defineProps<{
24
+ disableValidation?: boolean;
25
+ }>();
26
+
23
27
  const model = defineModel<ModelValue>();
24
28
 
25
29
  const emit = defineEmits<{
@@ -42,8 +46,7 @@ const v$ = useVuelidate(
42
46
  $autoDirty: true,
43
47
  },
44
48
  );
45
- v$.value.$touch();
46
-
49
+ if (!props?.disableValidation) v$.value.$touch();
47
50
  watch(
48
51
  () => v$.value.$invalid,
49
52
  (invalid) => {
@@ -3,7 +3,7 @@
3
3
  :label="t('webitelUI.filters.filterValue')"
4
4
  :options="HangupCauseOptions"
5
5
  v-model:model-value="model"
6
- :v="v$.model"
6
+ :v="!disableValidation && v$.model"
7
7
  data-key="value"
8
8
  option-value="value"
9
9
  />
@@ -18,6 +18,10 @@ import { useI18n } from 'vue-i18n';
18
18
 
19
19
  import { HangupCauseOptions } from '../../enums/options/HangupCauseFilterOptions';
20
20
 
21
+ const props = defineProps<{
22
+ disableValidation?: boolean;
23
+ }>();
24
+
21
25
  const model = defineModel<string>();
22
26
  const { t } = useI18n();
23
27
 
@@ -35,8 +39,7 @@ const v$ = useVuelidate(
35
39
  },
36
40
  );
37
41
 
38
- v$.value.$touch();
39
-
42
+ if (!props?.disableValidation) v$.value.$touch();
40
43
  const emit = defineEmits<{
41
44
  'update:invalid': [
42
45
  boolean,