@webitel/ui-datalist 1.1.5 → 1.1.7

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 (220) hide show
  1. package/package.json +3 -10
  2. package/src/modules/_shared/createDatalistStore.ts +44 -44
  3. package/src/modules/card/composables/useCardAnyFieldEditedWatcher.ts +15 -15
  4. package/src/modules/card/composables/useCardComponent.ts +69 -67
  5. package/src/modules/card/composables/useCardIsNew.ts +5 -5
  6. package/src/modules/card/composables/useCardRouting.ts +22 -24
  7. package/src/modules/card/composables/useCardSaveAction.ts +15 -15
  8. package/src/modules/card/composables/useCardValidation.ts +22 -24
  9. package/src/modules/card/composables/useItemCardSaveText.ts +14 -14
  10. package/src/modules/card/stores/createCardStore.ts +174 -173
  11. package/src/modules/filter-presets/api/PresetQuery.ts +115 -92
  12. package/src/modules/filter-presets/components/_shared/input-fields/preset-description-field.vue +1 -1
  13. package/src/modules/filter-presets/components/_shared/preset-filters-preview.vue +8 -10
  14. package/src/modules/filter-presets/components/apply-preset/apply-preset-action.vue +119 -97
  15. package/src/modules/filter-presets/components/apply-preset/preset-preview.vue +66 -60
  16. package/src/modules/filter-presets/components/save-preset/overwrite-preset-popup.vue +8 -6
  17. package/src/modules/filter-presets/components/save-preset/save-preset-action.vue +93 -87
  18. package/src/modules/filter-presets/components/save-preset/save-preset-popup.vue +43 -38
  19. package/src/modules/filter-presets/stores/createFilterPresetsStore.ts +50 -45
  20. package/src/modules/filter-presets/stores/headers/headers.ts +20 -20
  21. package/src/modules/filters/classes/Filter.ts +42 -42
  22. package/src/modules/filters/classes/FiltersManager.ts +287 -246
  23. package/src/modules/filters/classes/__tests__/FiltersManager.spec.ts +64 -0
  24. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue +6 -4
  25. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue +57 -51
  26. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-view.vue +14 -3
  27. package/src/modules/filters/components/config/static-view/static-filter-field.vue +16 -18
  28. package/src/modules/filters/components/dynamic-filter-add-action.vue +46 -14
  29. package/src/modules/filters/components/dynamic-filter-panel-wrapper.vue +6 -6
  30. package/src/modules/filters/components/preview/dynamic-filter-preview.vue +50 -48
  31. package/src/modules/filters/components/search-bar/dynamic-filter-search.vue +92 -80
  32. package/src/modules/filters/components/search-bar/types/DynamicFilterSearch.d.ts +1 -1
  33. package/src/modules/filters/components/table-filters-panel.vue +96 -82
  34. package/src/modules/filters/components/types/Filter.types.ts +14 -10
  35. package/src/modules/filters/composables/useFilterConfigsToolkit.ts +143 -136
  36. package/src/modules/filters/createTableFiltersStore.ts +109 -93
  37. package/src/modules/filters/index.ts +24 -23
  38. package/src/modules/filters/modules/filterConfig/classes/FilterConfig.ts +55 -55
  39. package/src/modules/filters/modules/filterConfig/classes/createFilterConfig.ts +19 -19
  40. package/src/modules/filters/modules/filterConfig/components/_custom/filterConfig.ts +84 -67
  41. package/src/modules/filters/modules/filterConfig/components/_custom/index.ts +3 -3
  42. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue +24 -16
  43. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-preview.vue +7 -7
  44. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue +12 -9
  45. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-preview.vue +3 -3
  46. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue +38 -31
  47. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-preview.vue +14 -9
  48. package/src/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-field.vue +10 -8
  49. package/src/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-preview.vue +1 -1
  50. package/src/modules/filters/modules/filterConfig/components/_shared/lookup-filter-preview/lookup-filter-value-preview.vue +4 -4
  51. package/src/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue +22 -14
  52. package/src/modules/filters/modules/filterConfig/components/agent/agent-filter-value-preview.vue +1 -1
  53. package/src/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-field.vue +33 -20
  54. package/src/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-preview.vue +7 -8
  55. package/src/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue +21 -13
  56. package/src/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-preview.vue +1 -1
  57. package/src/modules/filters/modules/filterConfig/components/auditor/auditor-filter-value-field.vue +33 -19
  58. package/src/modules/filters/modules/filterConfig/components/auditor/auditor-filter-value-preview.vue +1 -1
  59. package/src/modules/filters/modules/filterConfig/components/auditor/index.ts +10 -9
  60. package/src/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue +21 -13
  61. package/src/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-preview.vue +1 -1
  62. package/src/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-field.vue +2 -2
  63. package/src/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-preview.vue +2 -2
  64. package/src/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-field.vue +2 -2
  65. package/src/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-preview.vue +2 -2
  66. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue +36 -25
  67. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-preview.vue +15 -13
  68. package/src/modules/filters/modules/filterConfig/components/case-assignee/filterConfig.ts +24 -18
  69. package/src/modules/filters/modules/filterConfig/components/case-assignee/index.ts +3 -3
  70. package/src/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue +22 -14
  71. package/src/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-preview.vue +4 -4
  72. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue +42 -34
  73. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-preview.vue +1 -1
  74. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/config.js +1 -1
  75. package/src/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue +22 -14
  76. package/src/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-preview.vue +1 -1
  77. package/src/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue +22 -14
  78. package/src/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-preview.vue +1 -1
  79. package/src/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-field.vue +2 -2
  80. package/src/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-preview.vue +2 -2
  81. package/src/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue +22 -14
  82. package/src/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-preview.vue +1 -1
  83. package/src/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-field.vue +2 -2
  84. package/src/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-preview.vue +2 -2
  85. package/src/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-preview.vue +4 -4
  86. package/src/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue +22 -14
  87. package/src/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-preview.vue +1 -1
  88. package/src/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue +40 -32
  89. package/src/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-preview.vue +1 -1
  90. package/src/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue +22 -14
  91. package/src/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-preview.vue +1 -1
  92. package/src/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue +42 -34
  93. package/src/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-preview.vue +1 -1
  94. package/src/modules/filters/modules/filterConfig/components/case-status/config.js +1 -1
  95. package/src/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue +22 -14
  96. package/src/modules/filters/modules/filterConfig/components/contact/contact-filter-value-preview.vue +1 -1
  97. package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue +57 -46
  98. package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue +15 -13
  99. package/src/modules/filters/modules/filterConfig/components/contact-group/index.ts +39 -27
  100. package/src/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue +33 -22
  101. package/src/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-preview.vue +4 -5
  102. package/src/modules/filters/modules/filterConfig/components/contact-label/index.ts +20 -15
  103. package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue +24 -16
  104. package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-preview.vue +4 -4
  105. package/src/modules/filters/modules/filterConfig/components/contact-owner/index.ts +10 -9
  106. package/src/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-field.vue +1 -1
  107. package/src/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-preview.vue +3 -3
  108. package/src/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-field.vue +1 -1
  109. package/src/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-preview.vue +3 -3
  110. package/src/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue +27 -15
  111. package/src/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-preview.vue +4 -4
  112. package/src/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue +22 -14
  113. package/src/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-preview.vue +4 -4
  114. package/src/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue +21 -13
  115. package/src/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-preview.vue +1 -1
  116. package/src/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue +21 -13
  117. package/src/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-preview.vue +1 -1
  118. package/src/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue +11 -7
  119. package/src/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-preview.vue +1 -1
  120. package/src/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue +11 -7
  121. package/src/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-preview.vue +1 -1
  122. package/src/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue +11 -7
  123. package/src/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-preview.vue +1 -1
  124. package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue +19 -14
  125. package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-preview.vue +1 -1
  126. package/src/modules/filters/modules/filterConfig/components/index.ts +261 -259
  127. package/src/modules/filters/modules/filterConfig/components/queue/index.ts +10 -9
  128. package/src/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue +33 -19
  129. package/src/modules/filters/modules/filterConfig/components/queue/queue-filter-value-preview.vue +1 -1
  130. package/src/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue +33 -20
  131. package/src/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-preview.vue +7 -8
  132. package/src/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue +33 -20
  133. package/src/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-preview.vue +7 -7
  134. package/src/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue +22 -14
  135. package/src/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-preview.vue +4 -4
  136. package/src/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-preview.vue +1 -1
  137. package/src/modules/filters/modules/filterConfig/components/region/index.ts +10 -9
  138. package/src/modules/filters/modules/filterConfig/components/region/region-filter-value-field.vue +33 -19
  139. package/src/modules/filters/modules/filterConfig/components/region/region-filter-value-preview.vue +1 -1
  140. package/src/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-preview.vue +1 -1
  141. package/src/modules/filters/modules/filterConfig/components/skill/index.ts +10 -9
  142. package/src/modules/filters/modules/filterConfig/components/skill/skill-filter-value-field.vue +33 -19
  143. package/src/modules/filters/modules/filterConfig/components/skill/skill-filter-value-preview.vue +1 -1
  144. package/src/modules/filters/modules/filterConfig/components/supervisor/index.ts +10 -9
  145. package/src/modules/filters/modules/filterConfig/components/supervisor/supervisor-filter-value-field.vue +33 -19
  146. package/src/modules/filters/modules/filterConfig/components/supervisor/supervisor-filter-value-preview.vue +1 -1
  147. package/src/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue +21 -13
  148. package/src/modules/filters/modules/filterConfig/components/tag/tag-filter-value-preview.vue +10 -10
  149. package/src/modules/filters/modules/filterConfig/components/talk-duration/TalkDurationFilter.d.ts +2 -2
  150. package/src/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue +3 -1
  151. package/src/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-preview.vue +1 -1
  152. package/src/modules/filters/modules/filterConfig/components/team/index.ts +10 -10
  153. package/src/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue +33 -19
  154. package/src/modules/filters/modules/filterConfig/components/team/team-filter-value-preview.vue +1 -1
  155. package/src/modules/filters/modules/filterConfig/components/total-duration/TotalDurationFilter.d.ts +2 -2
  156. package/src/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue +3 -1
  157. package/src/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-preview.vue +1 -1
  158. package/src/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue +22 -14
  159. package/src/modules/filters/modules/filterConfig/components/user/user-filter-value-preview.vue +4 -4
  160. package/src/modules/filters/modules/filterConfig/components/utilization-progress/utilization-progress-filter-value-field.vue +33 -20
  161. package/src/modules/filters/modules/filterConfig/components/utilization-progress/utilization-progress-filter-value-preview.vue +1 -2
  162. package/src/modules/filters/modules/filterConfig/components/variable/variable-filter-value-preview.vue +1 -1
  163. package/src/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.ts +31 -23
  164. package/src/modules/filters/modules/filterConfig/composables/useAgentStatusOptions.ts +16 -15
  165. package/src/modules/filters/modules/filterConfig/composables/useFromToSecToPreviewTime.ts +26 -26
  166. package/src/modules/filters/modules/filterConfig/composables/useQueuePeriodOptions.ts +66 -36
  167. package/src/modules/filters/modules/filterConfig/composables/useQueueTypeOptions.ts +12 -13
  168. package/src/modules/filters/modules/filterConfig/enums/FilterOption.ts +51 -51
  169. package/src/modules/filters/modules/filterConfig/enums/options/AMDResultOptions.ts +29 -29
  170. package/src/modules/filters/modules/filterConfig/enums/options/BooleanFilterOptions.ts +8 -8
  171. package/src/modules/filters/modules/filterConfig/enums/options/CallDirectionFilterOptions.ts +20 -11
  172. package/src/modules/filters/modules/filterConfig/enums/options/CallHistoryTagFilterOptions.ts +5 -5
  173. package/src/modules/filters/modules/filterConfig/enums/options/HangupCauseFilterOptions.ts +257 -257
  174. package/src/modules/filters/modules/filterConfig/enums/options/UtilizationProgressOptions.ts +16 -16
  175. package/src/modules/filters/modules/filterConfig/types/DynamicFilterPreviewComponent.ts +3 -3
  176. package/src/modules/filters/scripts/utils.ts +13 -13
  177. package/src/modules/headers/createTableHeadersStore.ts +278 -251
  178. package/src/modules/pagination/createTablePaginationStore.ts +55 -52
  179. package/src/modules/persist/PersistedStorage.types.ts +33 -31
  180. package/src/modules/persist/useLocalStoragePersistedStorage.ts +24 -24
  181. package/src/modules/persist/usePersistedStorage.ts +117 -105
  182. package/src/modules/persist/useRoutePersistedStorage.ts +33 -31
  183. package/src/modules/scripts/utils.ts +13 -13
  184. package/src/modules/table/createTableStore.store.ts +352 -316
  185. package/src/modules/types/StoreProvider.ts +3 -3
  186. package/src/modules/types/createDatalistStore.types.ts +12 -9
  187. package/src/modules/types/tableStore.types.ts +44 -44
  188. package/types/modules/card/composables/useCardRouting.d.ts +1 -1
  189. package/types/modules/card/composables/useCardSaveAction.d.ts +1 -1
  190. package/types/modules/filter-presets/components/_shared/preset-filters-preview.vue.d.ts +1 -1
  191. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +1 -1
  192. package/types/modules/filter-presets/components/apply-preset/preset-preview.vue.d.ts +1 -1
  193. package/types/modules/filter-presets/components/save-preset/save-preset-action.vue.d.ts +1 -1
  194. package/types/modules/filter-presets/components/save-preset/save-preset-popup.vue.d.ts +1 -1
  195. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +16 -4
  196. package/types/modules/filters/classes/FiltersManager.d.ts +4 -1
  197. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue.d.ts +1 -1
  198. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue.d.ts +2 -2
  199. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-view.vue.d.ts +7 -5
  200. package/types/modules/filters/components/dynamic-filter-add-action.vue.d.ts +4 -4
  201. package/types/modules/filters/components/table-filters-panel.vue.d.ts +4 -4
  202. package/types/modules/filters/components/types/Filter.types.d.ts +9 -3
  203. package/types/modules/filters/createTableFiltersStore.d.ts +8 -2
  204. package/types/modules/filters/modules/filterConfig/components/_custom/filterConfig.d.ts +2 -2
  205. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +1 -1
  206. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-preview.vue.d.ts +1 -1
  207. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue.d.ts +1 -1
  208. package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue.d.ts +1 -1
  209. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +1 -1
  210. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +1 -1
  211. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +1 -1
  212. package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue.d.ts +2 -2
  213. package/types/modules/filters/modules/filterConfig/components/index.d.ts +14 -14
  214. package/types/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.d.ts +1 -1
  215. package/types/modules/filters/modules/filterConfig/enums/options/AMDResultOptions.d.ts +1 -1
  216. package/types/modules/filters/modules/filterConfig/enums/options/CallDirectionFilterOptions.d.ts +4 -1
  217. package/types/modules/filters/modules/filterConfig/enums/options/CallHistoryTagFilterOptions.d.ts +1 -1
  218. package/types/modules/filters/modules/filterConfig/enums/options/HangupCauseFilterOptions.d.ts +1 -1
  219. package/types/modules/filters/scripts/utils.d.ts +1 -1
  220. package/types/modules/table/createTableStore.store.d.ts +16 -4
@@ -38,60 +38,68 @@ import { useI18n } from 'vue-i18n';
38
38
  import { slasConditionsSearchMethod, slasSearchMethod } from './config.js';
39
39
 
40
40
  type ModelValue = {
41
- selection: string;
42
- conditions: string;
41
+ selection: string;
42
+ conditions: string;
43
43
  };
44
44
  const model = defineModel<ModelValue>();
45
45
  const { t } = useI18n();
46
46
 
47
47
  const updateSelected = (value) => {
48
- model.value.selection = value;
49
- model.value.conditions = '';
48
+ model.value.selection = value;
49
+ model.value.conditions = '';
50
50
  };
51
51
 
52
52
  const getConditionList = async (params) => {
53
- return await slasConditionsSearchMethod({
54
- parentId: model.value.selection,
55
- ...params,
56
- });
53
+ return await slasConditionsSearchMethod({
54
+ parentId: model.value.selection,
55
+ ...params,
56
+ });
57
57
  };
58
58
 
59
59
  const initModel = () => {
60
- if (!model.value) {
61
- model.value = {
62
- selection: '',
63
- conditions: '',
64
- };
65
- }
60
+ if (!model.value) {
61
+ model.value = {
62
+ selection: '',
63
+ conditions: '',
64
+ };
65
+ }
66
66
  };
67
67
  onMounted(() => initModel());
68
68
  const v$ = useVuelidate(
69
- computed(() => ({
70
- model: {
71
- selection: {
72
- required,
73
- },
74
- conditions: {
75
- required,
76
- },
77
- },
78
- })),
79
- { model },
80
- { $autoDirty: true },
69
+ computed(() => ({
70
+ model: {
71
+ selection: {
72
+ required,
73
+ },
74
+ conditions: {
75
+ required,
76
+ },
77
+ },
78
+ })),
79
+ {
80
+ model,
81
+ },
82
+ {
83
+ $autoDirty: true,
84
+ },
81
85
  );
82
86
 
83
87
  v$.value.$touch();
84
88
 
85
89
  const emit = defineEmits<{
86
- 'update:invalid': [boolean];
90
+ 'update:invalid': [
91
+ boolean,
92
+ ];
87
93
  }>();
88
94
 
89
95
  watch(
90
- () => v$.value.$invalid,
91
- (invalid) => {
92
- emit('update:invalid', invalid);
93
- },
94
- { immediate: true },
96
+ () => v$.value.$invalid,
97
+ (invalid) => {
98
+ emit('update:invalid', invalid);
99
+ },
100
+ {
101
+ immediate: true,
102
+ },
95
103
  );
96
104
  </script>
97
105
 
@@ -8,7 +8,7 @@ import { CasesSLACondition } from 'webitel-sdk';
8
8
  import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
9
9
 
10
10
  const props = defineProps<{
11
- value: CasesSLACondition[];
11
+ value: CasesSLACondition[];
12
12
  }>();
13
13
  </script>
14
14
 
@@ -25,32 +25,40 @@ type ModelValue = number[];
25
25
  const model = defineModel<ModelValue>();
26
26
 
27
27
  const emit = defineEmits<{
28
- 'update:invalid': [boolean];
28
+ 'update:invalid': [
29
+ boolean,
30
+ ];
29
31
  }>();
30
32
 
31
33
  const { t } = useI18n();
32
34
 
33
35
  const v$ = useVuelidate(
34
- computed(() => ({
35
- model: {
36
- required,
37
- },
38
- })),
39
- { model },
40
- { $autoDirty: true },
36
+ computed(() => ({
37
+ model: {
38
+ required,
39
+ },
40
+ })),
41
+ {
42
+ model,
43
+ },
44
+ {
45
+ $autoDirty: true,
46
+ },
41
47
  );
42
48
  v$.value.$touch();
43
49
 
44
50
  watch(
45
- () => v$.value.$invalid,
46
- (invalid) => {
47
- emit('update:invalid', invalid);
48
- },
49
- { immediate: true },
51
+ () => v$.value.$invalid,
52
+ (invalid) => {
53
+ emit('update:invalid', invalid);
54
+ },
55
+ {
56
+ immediate: true,
57
+ },
50
58
  );
51
59
 
52
60
  const handleInput = (value: ModelValue) => {
53
- model.value = value;
61
+ model.value = value;
54
62
  };
55
63
  </script>
56
64
 
@@ -8,7 +8,7 @@ import { CasesSource } from 'webitel-sdk';
8
8
  import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
9
9
 
10
10
  const props = defineProps<{
11
- value: CasesSource[];
11
+ value: CasesSource[];
12
12
  }>();
13
13
  </script>
14
14
 
@@ -36,66 +36,74 @@ import { computed, onMounted, watch } from 'vue';
36
36
  import { useI18n } from 'vue-i18n';
37
37
 
38
38
  import {
39
- caseStatusConditionsSearchMethod,
40
- caseStatusesSearchMethod,
39
+ caseStatusConditionsSearchMethod,
40
+ caseStatusesSearchMethod,
41
41
  } from './config.js';
42
42
 
43
43
  type ModelValue = {
44
- selection: string;
45
- conditions: string;
44
+ selection: string;
45
+ conditions: string;
46
46
  };
47
47
  const model = defineModel<ModelValue>();
48
48
  const { t } = useI18n();
49
49
 
50
50
  const updateSelected = (value) => {
51
- model.value.selection = value;
52
- model.value.conditions = '';
51
+ model.value.selection = value;
52
+ model.value.conditions = '';
53
53
  };
54
54
 
55
55
  const getConditionList = (params) => {
56
- return caseStatusConditionsSearchMethod({
57
- parentId: model.value.selection,
58
- ...params,
59
- });
56
+ return caseStatusConditionsSearchMethod({
57
+ parentId: model.value.selection,
58
+ ...params,
59
+ });
60
60
  };
61
61
 
62
62
  const initModel = () => {
63
- if (!model.value) {
64
- model.value = {
65
- selection: '',
66
- conditions: '',
67
- };
68
- }
63
+ if (!model.value) {
64
+ model.value = {
65
+ selection: '',
66
+ conditions: '',
67
+ };
68
+ }
69
69
  };
70
70
  onMounted(() => initModel());
71
71
 
72
72
  const v$ = useVuelidate(
73
- computed(() => ({
74
- model: {
75
- selection: {
76
- required,
77
- },
78
- conditions: {
79
- required,
80
- },
81
- },
82
- })),
83
- { model },
84
- { $autoDirty: true },
73
+ computed(() => ({
74
+ model: {
75
+ selection: {
76
+ required,
77
+ },
78
+ conditions: {
79
+ required,
80
+ },
81
+ },
82
+ })),
83
+ {
84
+ model,
85
+ },
86
+ {
87
+ $autoDirty: true,
88
+ },
85
89
  );
86
90
 
87
91
  v$.value.$touch();
88
92
 
89
93
  const emit = defineEmits<{
90
- 'update:invalid': [boolean];
94
+ 'update:invalid': [
95
+ boolean,
96
+ ];
91
97
  }>();
92
98
 
93
99
  watch(
94
- () => v$.value.$invalid,
95
- (invalid) => {
96
- emit('update:invalid', invalid);
97
- },
98
- { immediate: true },
100
+ () => v$.value.$invalid,
101
+ (invalid) => {
102
+ emit('update:invalid', invalid);
103
+ },
104
+ {
105
+ immediate: true,
106
+ },
99
107
  );
100
108
  </script>
101
109
 
@@ -8,7 +8,7 @@ import type { WebitelcasesStatus } from 'webitel-sdk';
8
8
  import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
9
9
 
10
10
  const props = defineProps<{
11
- value: WebitelcasesStatus[];
11
+ value: WebitelcasesStatus[];
12
12
  }>();
13
13
  </script>
14
14
 
@@ -3,4 +3,4 @@ import CaseStatusesApi from '@webitel/ui-sdk/api/clients/caseStatuses/caseStatus
3
3
 
4
4
  export const caseStatusesSearchMethod = CaseStatusesApi.getLookup;
5
5
  export const caseStatusConditionsSearchMethod =
6
- CaseStatusConditionsAPI.getLookup;
6
+ CaseStatusConditionsAPI.getLookup;
@@ -25,31 +25,39 @@ type ModelValue = number[];
25
25
  const model = defineModel<ModelValue>();
26
26
 
27
27
  const emit = defineEmits<{
28
- 'update:invalid': [boolean];
28
+ 'update:invalid': [
29
+ boolean,
30
+ ];
29
31
  }>();
30
32
  const { t } = useI18n();
31
33
 
32
34
  const v$ = useVuelidate(
33
- computed(() => ({
34
- model: {
35
- required,
36
- },
37
- })),
38
- { model },
39
- { $autoDirty: true },
35
+ computed(() => ({
36
+ model: {
37
+ required,
38
+ },
39
+ })),
40
+ {
41
+ model,
42
+ },
43
+ {
44
+ $autoDirty: true,
45
+ },
40
46
  );
41
47
  v$.value.$touch();
42
48
 
43
49
  watch(
44
- () => v$.value.$invalid,
45
- (invalid) => {
46
- emit('update:invalid', invalid);
47
- },
48
- { immediate: true },
50
+ () => v$.value.$invalid,
51
+ (invalid) => {
52
+ emit('update:invalid', invalid);
53
+ },
54
+ {
55
+ immediate: true,
56
+ },
49
57
  );
50
58
 
51
59
  const handleInput = (value: ModelValue) => {
52
- model.value = value;
60
+ model.value = value;
53
61
  };
54
62
  </script>
55
63
 
@@ -8,7 +8,7 @@ import type { WebitelContactsContact } from 'webitel-sdk';
8
8
  import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
9
9
 
10
10
  const props = defineProps<{
11
- value: WebitelContactsContact[];
11
+ value: WebitelContactsContact[];
12
12
  }>();
13
13
  </script>
14
14
 
@@ -23,82 +23,93 @@
23
23
  <script lang="ts" setup>
24
24
  import { useVuelidate } from '@vuelidate/core';
25
25
  import { requiredIf } from '@vuelidate/validators';
26
- import { WtSelect } from '@webitel/ui-sdk/components';
27
- import { WtCheckbox } from '@webitel/ui-sdk/components';
26
+ import { WtCheckbox, WtSelect } from '@webitel/ui-sdk/components';
28
27
  import { computed, onMounted, watch } from 'vue';
29
28
  import { useI18n } from 'vue-i18n';
30
29
 
31
30
  import { IContactGroupFilterConfig } from './index';
32
31
 
33
32
  const props = defineProps<{
34
- filterConfig: IContactGroupFilterConfig;
35
- disableValidation?: boolean;
36
- hideLabel?: boolean;
33
+ filterConfig: IContactGroupFilterConfig;
34
+ disableValidation?: boolean;
35
+ hideLabel?: boolean;
37
36
  }>();
38
37
 
39
38
  type ModelValue = {
40
- list: string[];
41
- unassigned: boolean;
39
+ list: string[];
40
+ unassigned: boolean;
42
41
  };
43
42
 
44
43
  const model = defineModel<ModelValue>();
45
44
 
46
45
  const emit = defineEmits<{
47
- 'update:invalid': [boolean];
46
+ 'update:invalid': [
47
+ boolean,
48
+ ];
48
49
  }>();
49
50
  const { t } = useI18n();
50
51
 
51
- const labelValue = computed(() => props?.hideLabel ? null : t('webitelUI.filters.filterValue'))
52
+ const labelValue = computed(() =>
53
+ props?.hideLabel ? null : t('webitelUI.filters.filterValue'),
54
+ );
52
55
 
53
56
  const changeListValue = (event) => {
54
- if(!event.length && !model.value.unassigned) {
55
-
56
- return model.value = {}
57
- } else {
58
- model.value = {
59
- ...model.value,
60
- list: event,
61
- };
62
- }
57
+ if (!event.length && !model.value.unassigned) {
58
+ return (model.value = {});
59
+ } else {
60
+ model.value = {
61
+ ...model.value,
62
+ list: event,
63
+ };
64
+ }
63
65
  };
64
- const v$ = useVuelidate(
65
- computed(() => ({
66
- model: {
67
- list: { required: requiredIf(() => !model.value.unassigned) },
68
- unassigned: {
69
- required: requiredIf(() =>
70
- props.filterConfig?.hideUnassigned && !model.value.list.length
71
- ),
72
- },
73
- },
74
- })),
75
- { model },
76
- { $autoDirty: true }
66
+ const v$ = useVuelidate(
67
+ computed(() => ({
68
+ model: {
69
+ list: {
70
+ required: requiredIf(() => !model.value.unassigned),
71
+ },
72
+ unassigned: {
73
+ required: requiredIf(
74
+ () => props.filterConfig?.hideUnassigned && !model.value.list.length,
75
+ ),
76
+ },
77
+ },
78
+ })),
79
+ {
80
+ model,
81
+ },
82
+ {
83
+ $autoDirty: true,
84
+ },
77
85
  );
78
86
 
79
87
  const initModel = () => {
80
- if (!model.value) {
81
- model.value = {
82
- list: [],
83
- unassigned: null,
84
- };
85
- }
88
+ if (!model.value) {
89
+ model.value = {
90
+ list: [],
91
+ unassigned: null,
92
+ };
93
+ }
86
94
  };
87
95
 
88
96
  onMounted(() => {
89
- if(!props?.disableValidation) v$.value.$touch();
97
+ if (!props?.disableValidation) v$.value.$touch();
90
98
 
91
- initModel();
99
+ initModel();
92
100
  });
93
101
 
94
102
  watch(
95
- () => v$?.value?.$invalid,
96
- (invalid) => {
97
- if (v$?.value) {
98
- emit('update:invalid', invalid);
99
- }
100
- },
101
- { immediate: true });
103
+ () => v$?.value?.$invalid,
104
+ (invalid) => {
105
+ if (v$?.value) {
106
+ emit('update:invalid', invalid);
107
+ }
108
+ },
109
+ {
110
+ immediate: true,
111
+ },
112
+ );
102
113
  </script>
103
114
 
104
115
  <style scoped></style>
@@ -3,33 +3,35 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts" setup>
6
- import {computed} from "vue";
6
+ import { computed } from 'vue';
7
7
  import { useI18n } from 'vue-i18n';
8
8
  import { WebitelContactsContact } from 'webitel-sdk';
9
9
 
10
- import {IFilter} from "../../../../classes/Filter";
10
+ import { IFilter } from '../../../../classes/Filter';
11
11
  import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
12
12
 
13
13
  const props = defineProps<{
14
- value: WebitelContactsContact[];
15
- filter: IFilter,
14
+ value: WebitelContactsContact[];
15
+ filter: IFilter;
16
16
  }>();
17
17
 
18
18
  const { t } = useI18n();
19
19
 
20
20
  const rawValue = computed(() => {
21
- return props.filter.value;
21
+ return props.filter.value;
22
22
  });
23
23
 
24
24
  const shownValue = computed(() => {
25
- const shownValue = [...props.value];
26
- if (rawValue.value.unassigned) {
27
- shownValue.unshift({
28
- name: t('reusable.unassigned'),
29
- id: 'unassigned',
30
- });
31
- }
32
- return shownValue;
25
+ const shownValue = [
26
+ ...props.value,
27
+ ];
28
+ if (rawValue.value.unassigned) {
29
+ shownValue.unshift({
30
+ name: t('reusable.unassigned'),
31
+ id: 'unassigned',
32
+ });
33
+ }
34
+ return shownValue;
33
35
  });
34
36
  </script>
35
37
 
@@ -1,43 +1,55 @@
1
1
  import { contactGroups } from '@webitel/ui-sdk/api/clients/index';
2
2
 
3
- import { IWtSysTypeFilterConfig,WtSysTypeFilterConfig } from '../../classes/FilterConfig';
3
+ import {
4
+ IWtSysTypeFilterConfig,
5
+ WtSysTypeFilterConfig,
6
+ } from '../../classes/FilterConfig';
4
7
  import { FilterOption } from '../../enums/FilterOption';
5
8
  import ContactGroupFilterValueField from './contact-group-filter-value-field.vue';
6
9
  import ContactGroupFilterValuePreview from './contact-group-filter-value-preview.vue';
7
10
 
8
11
  class ContactGroupFilterConfig extends WtSysTypeFilterConfig {
9
- readonly name = FilterOption.ContactGroup;
10
- valueInputComponent = ContactGroupFilterValueField;
11
- valuePreviewComponent = ContactGroupFilterValuePreview;
12
- hideUnassigned?: boolean;
12
+ readonly name = FilterOption.ContactGroup;
13
+ valueInputComponent = ContactGroupFilterValueField;
14
+ valuePreviewComponent = ContactGroupFilterValuePreview;
15
+ hideUnassigned?: boolean;
13
16
 
14
- constructor(params: { hideUnassigned?: boolean } = {}) {
15
- super(params);
16
- if ('hideUnassigned' in params) {
17
- this.hideUnassigned = params.hideUnassigned;
18
- }
19
- }
17
+ constructor(
18
+ params: {
19
+ hideUnassigned?: boolean;
20
+ } = {},
21
+ ) {
22
+ super(params);
23
+ if ('hideUnassigned' in params) {
24
+ this.hideUnassigned = params.hideUnassigned;
25
+ }
26
+ }
20
27
 
21
- searchRecords(
22
- params: object,
23
- { filterValue } = {},
24
- ): Promise<{ items: unknown[]; next?: boolean }> {
25
- const id = params.id?.list?.length ? params.id?.list : (params.id || filterValue?.list);
26
- // params.id?.list /* general logic from dynamic-filter-preview.vue*/
27
- // params.id /* wt-select options loadings */
28
- // filterValue?.list; /* newest and coolest, but not implemented on all filters 🥲 */
28
+ searchRecords(
29
+ params: object,
30
+ { filterValue } = {},
31
+ ): Promise<{
32
+ items: unknown[];
33
+ next?: boolean;
34
+ }> {
35
+ const id = params.id?.list?.length
36
+ ? params.id?.list
37
+ : params.id || filterValue?.list;
38
+ // params.id?.list /* general logic from dynamic-filter-preview.vue*/
39
+ // params.id /* wt-select options loadings */
40
+ // filterValue?.list; /* newest and coolest, but not implemented on all filters 🥲 */
29
41
 
30
- return contactGroups.getLookup({
31
- ...params,
32
- id,
33
- type: 'STATIC',
34
- });
35
- }
42
+ return contactGroups.getLookup({
43
+ ...params,
44
+ id,
45
+ type: 'STATIC',
46
+ });
47
+ }
36
48
  }
37
49
 
38
50
  export const createContactGroupFilterConfig = (params) =>
39
- new ContactGroupFilterConfig(params);
51
+ new ContactGroupFilterConfig(params);
40
52
 
41
53
  export interface IContactGroupFilterConfig extends IWtSysTypeFilterConfig {
42
- hideUnassigned?: boolean;
54
+ hideUnassigned?: boolean;
43
55
  }