@webitel/ui-datalist 1.0.13 → 1.0.15

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 (164) hide show
  1. package/package.json +17 -7
  2. package/src/modules/filters/classes/Filter.ts +2 -2
  3. package/src/modules/filters/classes/FiltersManager.ts +4 -4
  4. package/src/modules/filters/components/search-bar/dynamic-filter-search.vue +1 -1
  5. package/src/modules/filters/composables/useFilterConfigsToolkit.ts +1 -1
  6. package/src/modules/filters/index.ts +7 -5
  7. package/src/modules/filters/modules/filterConfig/classes/FilterConfig.ts +1 -0
  8. package/src/modules/filters/modules/filterConfig/classes/createFilterConfig.ts +8 -12
  9. package/src/modules/filters/modules/filterConfig/components/_custom/index.ts +7 -4
  10. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue +16 -1
  11. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-preview.vue +35 -8
  12. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-preview.vue +15 -0
  13. package/src/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-preview.vue +15 -0
  14. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-preview.vue +1 -1
  15. package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue +1 -1
  16. package/src/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue +1 -2
  17. package/src/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue +1 -2
  18. package/src/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue +1 -2
  19. package/src/modules/filters/modules/filterConfig/components/index.ts +0 -12
  20. package/src/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.ts +0 -1
  21. package/src/modules/filters/modules/filterConfig/enums/FilterOption.ts +0 -2
  22. package/src/modules/filters/modules/filterConfig/index.ts +5 -0
  23. package/src/modules/filters/modules/filterConfig/types/DynamicFilterPreviewComponent.ts +8 -0
  24. package/types/index.d.ts +2 -0
  25. package/types/modules/filter-presets/api/PresetQuery.d.ts +42 -0
  26. package/types/modules/filter-presets/components/_shared/input-fields/preset-description-field.vue.d.ts +12 -0
  27. package/types/modules/filter-presets/components/_shared/input-fields/preset-name-field.vue.d.ts +15 -0
  28. package/types/modules/filter-presets/components/_shared/preset-filters-preview.vue.d.ts +8 -0
  29. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +16 -0
  30. package/types/modules/filter-presets/components/apply-preset/preset-preview.vue.d.ts +27 -0
  31. package/types/modules/filter-presets/components/save-preset/overwrite-preset-popup.vue.d.ts +11 -0
  32. package/types/modules/filter-presets/components/save-preset/save-preset-action.vue.d.ts +22 -0
  33. package/types/modules/filter-presets/components/save-preset/save-preset-popup.vue.d.ts +24 -0
  34. package/types/modules/filter-presets/index.d.ts +4 -0
  35. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +2 -0
  36. package/types/modules/filter-presets/stores/headers/headers.d.ts +2 -0
  37. package/types/modules/filters/classes/Filter.d.ts +46 -0
  38. package/types/modules/filters/classes/FiltersManager.d.ts +50 -0
  39. package/types/modules/filters/components/config/dynamic-filter-config-form-label.vue.d.ts +11 -0
  40. package/types/modules/filters/components/config/dynamic-filter-config-form-value-input.vue.d.ts +16 -0
  41. package/types/modules/filters/components/config/dynamic-filter-config-form.vue.d.ts +93 -0
  42. package/types/modules/filters/components/config/dynamic-filter-config-view.vue.d.ts +27 -0
  43. package/types/modules/filters/components/dynamic-filter-add-action.vue.d.ts +47 -0
  44. package/types/modules/filters/components/dynamic-filter-panel-wrapper.vue.d.ts +24 -0
  45. package/types/modules/filters/components/preview/dynamic-filter-preview-info.vue.d.ts +16 -0
  46. package/types/modules/filters/components/preview/dynamic-filter-preview.vue.d.ts +72 -0
  47. package/types/modules/filters/components/search-bar/dynamic-filter-search.vue.d.ts +22 -0
  48. package/types/modules/filters/components/table-filters-panel.vue.d.ts +65 -0
  49. package/types/modules/filters/composables/useFilterConfigsToolkit.d.ts +31 -0
  50. package/types/modules/filters/createTableFiltersStore.d.ts +121 -0
  51. package/types/modules/filters/index.d.ts +8 -0
  52. package/types/modules/filters/modules/filterConfig/classes/FilterConfig.d.ts +56 -0
  53. package/types/modules/filters/modules/filterConfig/classes/createFilterConfig.d.ts +2 -0
  54. package/types/modules/filters/modules/filterConfig/components/_custom/index.d.ts +17 -0
  55. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue.d.ts +15 -0
  56. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-preview.vue.d.ts +7 -0
  57. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue.d.ts +13 -0
  58. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-preview.vue.d.ts +5 -0
  59. package/types/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue.d.ts +15 -0
  60. package/types/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-field.vue.d.ts +9 -0
  61. package/types/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-preview.vue.d.ts +5 -0
  62. package/types/modules/filters/modules/filterConfig/components/_shared/lookup-filter-preview/lookup-filter-value-preview.vue.d.ts +8 -0
  63. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue.d.ts +12 -0
  64. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-preview.vue.d.ts +6 -0
  65. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue.d.ts +11 -0
  66. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-preview.vue.d.ts +5 -0
  67. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue.d.ts +11 -0
  68. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-preview.vue.d.ts +5 -0
  69. package/types/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-field.vue.d.ts +13 -0
  70. package/types/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-preview.vue.d.ts +5 -0
  71. package/types/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-field.vue.d.ts +13 -0
  72. package/types/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-preview.vue.d.ts +5 -0
  73. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +19 -0
  74. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-preview.vue.d.ts +8 -0
  75. package/types/modules/filters/modules/filterConfig/components/case-assignee/index.d.ts +44 -0
  76. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue.d.ts +12 -0
  77. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-preview.vue.d.ts +8 -0
  78. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue.d.ts +15 -0
  79. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-preview.vue.d.ts +6 -0
  80. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue.d.ts +12 -0
  81. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-preview.vue.d.ts +6 -0
  82. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue.d.ts +12 -0
  83. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-preview.vue.d.ts +6 -0
  84. package/types/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-field.vue.d.ts +13 -0
  85. package/types/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-preview.vue.d.ts +5 -0
  86. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue.d.ts +12 -0
  87. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-preview.vue.d.ts +6 -0
  88. package/types/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-field.vue.d.ts +13 -0
  89. package/types/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-preview.vue.d.ts +5 -0
  90. package/types/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue.d.ts +10 -0
  91. package/types/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-preview.vue.d.ts +9 -0
  92. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue.d.ts +12 -0
  93. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-preview.vue.d.ts +6 -0
  94. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue.d.ts +15 -0
  95. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-preview.vue.d.ts +6 -0
  96. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue.d.ts +12 -0
  97. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-preview.vue.d.ts +6 -0
  98. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue.d.ts +15 -0
  99. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-preview.vue.d.ts +6 -0
  100. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue.d.ts +12 -0
  101. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-preview.vue.d.ts +6 -0
  102. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +15 -0
  103. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue.d.ts +8 -0
  104. package/types/modules/filters/modules/filterConfig/components/created-at/created-at-filter-value-field.vue.d.ts +13 -0
  105. package/types/modules/filters/modules/filterConfig/components/created-at/created-at-filter-value-preview.vue.d.ts +9 -0
  106. package/types/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-field.vue.d.ts +9 -0
  107. package/types/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-preview.vue.d.ts +5 -0
  108. package/types/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-field.vue.d.ts +9 -0
  109. package/types/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-preview.vue.d.ts +5 -0
  110. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue.d.ts +12 -0
  111. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-preview.vue.d.ts +8 -0
  112. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue.d.ts +12 -0
  113. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-preview.vue.d.ts +8 -0
  114. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue.d.ts +11 -0
  115. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-preview.vue.d.ts +5 -0
  116. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue.d.ts +11 -0
  117. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-preview.vue.d.ts +5 -0
  118. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +12 -0
  119. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-preview.vue.d.ts +5 -0
  120. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +12 -0
  121. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-preview.vue.d.ts +5 -0
  122. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +12 -0
  123. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-preview.vue.d.ts +5 -0
  124. package/types/modules/filters/modules/filterConfig/components/index.d.ts +126 -0
  125. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +12 -0
  126. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-preview.vue.d.ts +6 -0
  127. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue.d.ts +12 -0
  128. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-preview.vue.d.ts +8 -0
  129. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue.d.ts +15 -0
  130. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-preview.vue.d.ts +5 -0
  131. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue.d.ts +20 -0
  132. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-preview.vue.d.ts +5 -0
  133. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue.d.ts +11 -0
  134. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-preview.vue.d.ts +5 -0
  135. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue.d.ts +12 -0
  136. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-preview.vue.d.ts +6 -0
  137. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +12 -0
  138. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-preview.vue.d.ts +6 -0
  139. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue.d.ts +12 -0
  140. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-preview.vue.d.ts +6 -0
  141. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue.d.ts +12 -0
  142. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-preview.vue.d.ts +8 -0
  143. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue.d.ts +12 -0
  144. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-preview.vue.d.ts +5 -0
  145. package/types/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.d.ts +20 -0
  146. package/types/modules/filters/modules/filterConfig/composables/useFromToSecToPreviewTime.d.ts +7 -0
  147. package/types/modules/filters/modules/filterConfig/enums/FilterOption.d.ts +47 -0
  148. package/types/modules/filters/modules/filterConfig/enums/options/AMDResultOptions.d.ts +7 -0
  149. package/types/modules/filters/modules/filterConfig/enums/options/BooleanFilterOptions.d.ts +3 -0
  150. package/types/modules/filters/modules/filterConfig/enums/options/CallDirectionFilterOptions.d.ts +7 -0
  151. package/types/modules/filters/modules/filterConfig/enums/options/CallHistoryTagFilterOptions.d.ts +2 -0
  152. package/types/modules/filters/modules/filterConfig/enums/options/HangupCauseFilterOptions.d.ts +7 -0
  153. package/types/modules/filters/modules/filterConfig/index.d.ts +3 -0
  154. package/types/modules/filters/modules/filterConfig/types/DynamicFilterPreviewComponent.d.ts +7 -0
  155. package/types/modules/filters/scripts/utils.d.ts +5 -0
  156. package/types/modules/headers/createTableHeadersStore.d.ts +30 -0
  157. package/types/modules/pagination/createTablePaginationStore.d.ts +25 -0
  158. package/types/modules/persist/PersistedStorage.types.d.ts +36 -0
  159. package/types/modules/persist/useLocalStoragePersistedStorage.d.ts +4 -0
  160. package/types/modules/persist/usePersistedStorage.d.ts +2 -0
  161. package/types/modules/persist/useRoutePersistedStorage.d.ts +2 -0
  162. package/types/modules/table/createTableStore.store.d.ts +5 -0
  163. package/types/modules/types/tableStore.types.d.ts +41 -0
  164. package/src/index.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-datalist",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "Toolkit for building data lists in webitel ui system",
5
5
  "scripts": {
6
6
  "build:types": "vue-tsc -p ./tsconfig.build.json",
@@ -9,21 +9,31 @@
9
9
  "lint:package": "publint",
10
10
  "utils:i": "npm i",
11
11
  "utils:link": "npm link",
12
- "utils:publish": "npm publish --access public"
12
+ "utils:publish": "(npm run build:types || true) && npm publish --access public"
13
13
  },
14
14
  "type": "module",
15
15
  "main": "./src/index.ts",
16
- "types": "./dist/types/index.d.ts",
16
+ "types": "./types/index.d.ts",
17
17
  "workspaces": [
18
18
  "../../"
19
19
  ],
20
20
  "exports": {
21
- ".": "./src/index.ts",
22
- "./filters": "./src/modules/filters/index.ts",
23
- "./presets": "./src/modules/filter-presets/index.ts"
21
+ ".": {
22
+ "import": "./src/index.ts",
23
+ "types": "./types/index.d.ts"
24
+ },
25
+ "./filters": {
26
+ "import": "./src/modules/filters/index.ts",
27
+ "types": "./types/filters/index.d.ts"
28
+ },
29
+ "./presets": {
30
+ "import": "./src/modules/filter-presets/index.ts",
31
+ "types": "./types/filter-presets/index.d.ts"
32
+ }
24
33
  },
25
34
  "files": [
26
35
  "src/*",
36
+ "types/",
27
37
  "Readme.md",
28
38
  "CHANGELOG.md"
29
39
  ],
@@ -36,7 +46,7 @@
36
46
  "dependencies": {
37
47
  "@vuelidate/core": "^2.0.3",
38
48
  "@vuelidate/validators": "^2.0.4",
39
- "@webitel/ui-sdk": "^25.4.66",
49
+ "@webitel/ui-sdk": "^25.4.70",
40
50
  "@webitel/styleguide": "^24.12.26"
41
51
  },
42
52
  "devDependencies": {
@@ -26,7 +26,7 @@ export interface FilterEnumOption {
26
26
  value: FilterValue;
27
27
  }
28
28
 
29
- export interface FilterConfig {
29
+ export interface FilterInstanceConfig {
30
30
  /**
31
31
  * Perform simple type conversion on store/restore,
32
32
  * without need to provide custom store/restore functions
@@ -53,7 +53,7 @@ export class Filter implements IFilter {
53
53
  constructor(
54
54
  { name, value, label }: FilterInitParams,
55
55
  public payload: object | undefined,
56
- public config: FilterConfig,
56
+ public config: FilterInstanceConfig,
57
57
  ) {
58
58
  this.name = name;
59
59
  this.value = value;
@@ -8,9 +8,9 @@ import {
8
8
  } from '../scripts/utils';
9
9
  import {
10
10
  Filter,
11
- FilterConfig,
12
11
  FilterData,
13
12
  FilterInitParams,
13
+ FilterInstanceConfig,
14
14
  FilterLabel,
15
15
  FilterName,
16
16
  FilterValue,
@@ -25,7 +25,7 @@ export interface IFiltersManager {
25
25
  addFilter: (
26
26
  params: FilterInitParams,
27
27
  payload?: object,
28
- config?: FilterConfig,
28
+ config?: FilterInstanceConfig,
29
29
  ) => IFilter;
30
30
  updateFilter: ({
31
31
  name,
@@ -83,7 +83,7 @@ export interface IFiltersManager {
83
83
  }) => IFilter[];
84
84
  }
85
85
 
86
- export type FiltersManagerConfig = FilterConfig;
86
+ export type FiltersManagerConfig = FilterInstanceConfig;
87
87
 
88
88
  class FiltersManager implements IFiltersManager {
89
89
  filters = new Map<FilterName, IFilter>();
@@ -101,7 +101,7 @@ class FiltersManager implements IFiltersManager {
101
101
  addFilter(
102
102
  filterInitParams: FilterInitParams,
103
103
  payload?: object,
104
- config?: FilterConfig,
104
+ config?: FilterInstanceConfig,
105
105
  ): IFilter {
106
106
  const filter = new Filter(filterInitParams, payload, config || this.config);
107
107
  this.filters.set(filterInitParams.name, filter);
@@ -15,9 +15,9 @@ import { WtSearchBar } from '@webitel/ui-sdk/components';
15
15
  import {computed, type Ref, ref,watch} from 'vue';
16
16
  import { useI18n } from 'vue-i18n';
17
17
 
18
- import type { DynamicFilterSearchSearchModeOption } from './types/DynamicFilterSearch';
19
18
  import {FilterInitParams, FilterName} from "../../classes/Filter";
20
19
  import {IFiltersManager} from "../../classes/FiltersManager";
20
+ import type { DynamicFilterSearchSearchModeOption } from './types/DynamicFilterSearch';
21
21
 
22
22
  /**
23
23
  * @description
@@ -59,7 +59,7 @@ export const useFilterConfigsToolkit = ({
59
59
  }
60
60
 
61
61
  if (typeof opt === 'string') {
62
- return createFilterConfig({ filterOption: opt });
62
+ return createFilterConfig({ name: opt });
63
63
  }
64
64
 
65
65
  return new FilterConfig({
@@ -1,19 +1,21 @@
1
1
  import {
2
2
  Filter,
3
- FilterConfig,
4
3
  FilterInitParams,
5
- FilterLabel, FilterName,
4
+ FilterInstanceConfig,
5
+ FilterLabel,
6
+ FilterName,
6
7
  FilterValue,
7
- IFilter
8
+ IFilter,
8
9
  } from './classes/Filter';
9
10
  import {
10
11
  createFiltersManager,
11
12
  FiltersManagerConfig,
12
- IFiltersManager
13
+ IFiltersManager,
13
14
  } from './classes/FiltersManager';
14
15
  import DynamicFilterSearchComponent from './components/search-bar/dynamic-filter-search.vue';
15
16
  import TableFiltersPanelComponent from './components/table-filters-panel.vue';
16
17
  import { FilterOption } from './modules/filterConfig/enums/FilterOption';
18
+ export * from './modules/filterConfig';
17
19
 
18
20
  export {
19
21
  createFiltersManager,
@@ -24,8 +26,8 @@ export {
24
26
  };
25
27
 
26
28
  export type {
27
- FilterConfig,
28
29
  FilterInitParams,
30
+ FilterInstanceConfig,
29
31
  FilterLabel,
30
32
  FilterName,
31
33
  FiltersManagerConfig,
@@ -46,6 +46,7 @@ export class FilterConfig implements BaseFilterConfig {
46
46
  valueInputComponent: Component;
47
47
  valuePreviewComponent: Component;
48
48
  label?: ReturnType<MessageResolver> | string;
49
+ notDeletable?: boolean;
49
50
 
50
51
  constructor({
51
52
  name,
@@ -4,28 +4,24 @@ import {
4
4
  FilterOptionToValueComponentMap,
5
5
  } from '../components';
6
6
  import { FilterOption } from '../enums/FilterOption';
7
- import { BaseFilterConfig, FilterConfig } from './FilterConfig';
7
+ import {
8
+ BaseFilterConfig,
9
+ FilterConfig,
10
+ FilterConfigBaseParams,
11
+ } from './FilterConfig';
8
12
 
9
13
  export const createFilterConfig = ({
10
- filterOption,
11
- }: {
12
- filterOption: FilterOption;
13
- }): BaseFilterConfig => {
14
+ name,
15
+ }: Partial<FilterConfigBaseParams> &
16
+ Pick<FilterConfigBaseParams, 'name'>): BaseFilterConfig => {
14
17
  const filterConfigClass = FilterOptionToFilterConfigCreatorMap[filterOption];
15
18
 
16
19
  if (filterConfigClass) {
17
20
  return filterConfigClass();
18
21
  }
19
22
 
20
- // throw new Error(
21
- // `Filter config class not found for this filter option: ${filterOption}`,
22
- // );
23
-
24
23
  /**
25
24
  * @author @dlohvinov
26
- *
27
- * @deprecated
28
- * compat. should be removed with FilterOption to Component maps
29
25
  * */
30
26
  return new FilterConfig({
31
27
  name: filterOption,
@@ -1,13 +1,14 @@
1
1
  import { sysTypes } from '@webitel/ui-sdk/api/clients/index';
2
+ import { WtTypeExtensionFieldKind } from '@webitel/ui-sdk/enums';
2
3
  import { WebitelProtoDataField } from 'webitel-sdk';
3
4
 
5
+ import { FilterConfig } from '../../classes/FilterConfig';
6
+ import { CustomFilterOption } from '../../enums/FilterOption';
4
7
  import {
5
8
  BaseFilterConfig,
6
- FilterConfig,
7
9
  FilterConfigBaseParams,
8
10
  IWtSysTypeFilterConfig,
9
- } from '../../classes/FilterConfig';
10
- import { CustomFilterOption } from '../../enums/FilterOption';
11
+ } from '../../types/FilterConfig';
11
12
  import TypeExtensionFilterValueField from './type-extension-filter-value-field.vue';
12
13
  import TypeExtensionFilterValuePreview from './type-extension-filter-value-preview.vue';
13
14
 
@@ -61,7 +62,9 @@ export const createTypeExtensionFilterConfig = (
61
62
  { field }: { field: WebitelProtoDataField },
62
63
  ) => {
63
64
  switch (field.kind) {
64
- case 'lookup':
65
+ case WtTypeExtensionFieldKind.Select:
66
+ return new TypeExtensionWtSysTypeFieldFilterConfig(name, { field });
67
+ case WtTypeExtensionFieldKind.Multiselect:
65
68
  return new TypeExtensionWtSysTypeFieldFilterConfig(name, { field });
66
69
  default:
67
70
  return new TypeExtensionFilterConfig(name, { field });
@@ -4,7 +4,21 @@
4
4
  v-model:model-value="model"
5
5
  :field="props.filterConfig.field"
6
6
  >
7
- <template #[ExtensionFieldType.Select]="{ defaultProps }">
7
+ <template #[WtTypeExtensionFieldKind.Boolean]="{ defaultProps }">
8
+ <has-option-filter-value-field
9
+ v-model:model-value="model"
10
+ />
11
+ </template>
12
+ <template #[WtTypeExtensionFieldKind.Select]="{ defaultProps }">
13
+ <wt-select
14
+ v-bind="defaultProps"
15
+ :value="model ?? [] /* so that component won't break when model is nullish at init */"
16
+ :search-method="(...params) => props.filterConfig.searchRecords(...params)"
17
+ use-value-from-options-by-prop="id"
18
+ @input="model = $event"
19
+ />
20
+ </template>
21
+ <template #[WtTypeExtensionFieldKind.Multiselect]="{ defaultProps }">
8
22
  <wt-select
9
23
  v-bind="defaultProps"
10
24
  :value="model ?? [] /* so that component won't break when model is nullish at init */"
@@ -23,6 +37,7 @@ import { WtSelect, WtTypeExtensionValueInput } from '@webitel/ui-sdk/components'
23
37
  import { WtTypeExtensionFieldKind } from '@webitel/ui-sdk/enums'; // DO NOT REMOVE THIS IMPORT!! : Webstorm lies you, import is used for dynamic slot computation
24
38
  import {computed, useAttrs, watch} from "vue";
25
39
 
40
+ import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
26
41
  import {ITypeExtensionFilterConfig} from "./index";
27
42
 
28
43
  const model = defineModel<unknown>();
@@ -1,18 +1,45 @@
1
1
  <template>
2
- <div class="type-extension-filter-value-preview">
3
- 213
4
- </div>
2
+ <template v-if="showLookupValuePreview">
3
+ <lookup-value-preview
4
+ :value="props.value"
5
+ />
6
+ </template>
7
+ <template
8
+ v-else-if="props.filterConfig.field.kind === WtTypeExtensionFieldKind.Boolean"
9
+ >
10
+ <has-option-value-preview
11
+ :value="props.value"
12
+ />
13
+ </template>
14
+ <template
15
+ v-else-if="props.filterConfig.field.kind === WtTypeExtensionFieldKind.Calendar"
16
+ >
17
+ <date-time-value-preview
18
+ :value="props.value * 1000 /* FIXME 😬😬😬 backend format -> frontend format conversion */"
19
+ />
20
+ </template>
21
+ <template v-else>
22
+ {{ props.value }}
23
+ </template>
5
24
  </template>
6
25
 
7
26
  <script setup lang="ts">
8
- const props = defineProps({});
27
+ import { WtTypeExtensionFieldKind } from '@webitel/ui-sdk/enums';
28
+ import { computed } from 'vue';
9
29
 
10
- const emit = defineEmits([]);
30
+ import { DynamicFilterPreviewComponentProps } from '../../types/DynamicFilterPreviewComponent';
31
+ import DateTimeValuePreview from '../_shared/date-time-filter/date-time-filter-value-preview.vue';
32
+ import HasOptionValuePreview from '../_shared/has-options/has-option-filter-value-preview.vue';
33
+ import LookupValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
34
+ import { ITypeExtensionFilterConfig } from './index';
11
35
 
36
+ const props = defineProps<DynamicFilterPreviewComponentProps & { filterConfig: ITypeExtensionFilterConfig }>();
37
+
38
+ const showLookupValuePreview = computed(() => {
39
+ return [WtTypeExtensionFieldKind.Multiselect, WtTypeExtensionFieldKind.Select]
40
+ .includes(props.filterConfig.field.kind);
41
+ });
12
42
  </script>
13
43
 
14
44
  <style scoped lang="scss">
15
- .type-extension-filter-value-preview {
16
-
17
- }
18
45
  </style>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <div>{{ date }}</div>
3
+ </template>
4
+
5
+ <script lang="ts" setup>
6
+ import { ref } from 'vue';
7
+
8
+ const props = defineProps<{
9
+ value: number[];
10
+ }>();
11
+
12
+ const date = ref(new Date(+props.value).toLocaleString());
13
+ </script>
14
+
15
+ <style scoped></style>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <div>{{ localeValue }}</div>
3
+ </template>
4
+
5
+ <script lang="ts" setup>
6
+ import { usePrettifyBooleanValuePreview } from '../../../composables/booleanFilterToolkit';
7
+
8
+ const props = defineProps<{
9
+ value: boolean;
10
+ }>();
11
+
12
+ const { localeValue } = usePrettifyBooleanValuePreview(props.value);
13
+ </script>
14
+
15
+ <style scoped></style>
@@ -7,8 +7,8 @@ import {computed} from "vue";
7
7
  import { useI18n } from 'vue-i18n';
8
8
  import { WebitelContactsContact } from 'webitel-sdk';
9
9
 
10
- import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
11
10
  import {IFilter} from "../../../../classes/Filter";
11
+ import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
12
12
 
13
13
  const props = defineProps<{
14
14
  value: WebitelContactsContact[];
@@ -7,8 +7,8 @@ import {computed} from "vue";
7
7
  import { useI18n } from 'vue-i18n';
8
8
  import { WebitelContactsContact } from 'webitel-sdk';
9
9
 
10
- import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
11
10
  import {IFilter} from "../../../../classes/Filter";
11
+ import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
12
12
 
13
13
  const props = defineProps<{
14
14
  value: WebitelContactsContact[];
@@ -10,9 +10,8 @@
10
10
  import { watch } from 'vue';
11
11
 
12
12
  import { useBooleanFilterValueValidation } from '../../composables/booleanFilterToolkit';
13
- import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
14
-
15
13
  import {BooleanFilterModelValue} from "../../enums/options/BooleanFilterOptions";
14
+ import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
16
15
 
17
16
  const model = defineModel<BooleanFilterModelValue>();
18
17
 
@@ -10,9 +10,8 @@
10
10
  import { watch } from 'vue';
11
11
 
12
12
  import { useBooleanFilterValueValidation } from '../../composables/booleanFilterToolkit';
13
- import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
14
-
15
13
  import {BooleanFilterModelValue} from "../../enums/options/BooleanFilterOptions";
14
+ import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
16
15
 
17
16
  const model = defineModel<BooleanFilterModelValue>();
18
17
 
@@ -10,9 +10,8 @@
10
10
  import { watch } from 'vue';
11
11
 
12
12
  import { useBooleanFilterValueValidation } from '../../composables/booleanFilterToolkit';
13
- import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
14
-
15
13
  import {BooleanFilterModelValue} from "../../enums/options/BooleanFilterOptions";
14
+ import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
16
15
 
17
16
  const model = defineModel<BooleanFilterModelValue>();
18
17
 
@@ -59,10 +59,6 @@ import ContactGroupFilter from './contact-group/contact-group-filter-value-field
59
59
  import ContactGroupFilterPreview from './contact-group/contact-group-filter-value-preview.vue';
60
60
  import CreatedAtFilterValueField from './created-at/created-at-filter-value-field.vue';
61
61
  import CreatedAtFilterPreview from './created-at/created-at-filter-value-preview.vue';
62
- import CreatedAtFromFilter from './created-at-from/created-at-from-filter-value-field.vue';
63
- import CreatedAtFromFilterPreview from './created-at-from/created-at-from-filter-value-preview.vue';
64
- import CreatedAtToFilter from './created-at-to/created-at-to-filter-value-field.vue';
65
- import CreatedAtToFilterPreview from './created-at-to/created-at-to-filter-value-preview.vue';
66
62
  import { searchMethod as gatewaySearchMethod } from './gateway/config';
67
63
  import GatewayFilter from './gateway/gateway-filter-value-field.vue';
68
64
  import GatewayFilterPreview from './gateway/gateway-filter-value-preview.vue';
@@ -144,10 +140,6 @@ export {
144
140
  ContactGroupFilter,
145
141
  ContactGroupFilterPreview,
146
142
  CreatedAtFilterValueField,
147
- CreatedAtFromFilter,
148
- CreatedAtFromFilterPreview,
149
- CreatedAtToFilter,
150
- CreatedAtToFilterPreview,
151
143
  GatewayFilter,
152
144
  GatewayFilterPreview,
153
145
  GranteeFilter,
@@ -208,8 +200,6 @@ export const FilterOptionToValueComponentMap: Record<
208
200
  [FilterOption.User]: UserFilter,
209
201
  [FilterOption.Variable]: VariableFilter,
210
202
  [FilterOption.CreatedAt]: CreatedAtFilterValueField,
211
- [FilterOption.CreatedAtFrom]: CreatedAtFromFilter,
212
- [FilterOption.CreatedAtTo]: CreatedAtToFilter,
213
203
  [FilterOption.CaseStatus]: CaseStatusFilterValueField,
214
204
  [FilterOption.CaseSource]: CaseSourceFilterValueField,
215
205
  [FilterOption.CaseService]: CaseServiceFilterValueField,
@@ -254,8 +244,6 @@ export const FilterOptionToPreviewComponentMap: Record<
254
244
  [FilterOption.HasTranscription]: HasTranscriptionFilterPreview,
255
245
  [FilterOption.User]: UserFilterPreview,
256
246
  [FilterOption.Variable]: VariableFilterPreview,
257
- [FilterOption.CreatedAtFrom]: CreatedAtFromFilterPreview,
258
- [FilterOption.CreatedAtTo]: CreatedAtToFilterPreview,
259
247
  [FilterOption.CaseStatus]: CaseStatusFilterValuePreview,
260
248
  [FilterOption.CaseSource]: CaseSourceFilterValuePreview,
261
249
  [FilterOption.CaseService]: CaseServiceFilterValuePreview,
@@ -2,7 +2,6 @@ import { useVuelidate } from '@vuelidate/core';
2
2
  import { computed, ModelRef, type Reactive, type Ref } from 'vue';
3
3
  import { useI18n } from 'vue-i18n';
4
4
 
5
-
6
5
  import {BooleanFilterModelValue} from "../enums/options/BooleanFilterOptions";
7
6
 
8
7
  export const usePrettifyBooleanValuePreview = (
@@ -19,8 +19,6 @@ export const FilterOption = {
19
19
  User: 'user',
20
20
  Variable: 'variable',
21
21
  CreatedAt: 'createdAt',
22
- CreatedAtFrom: 'createdAtFrom',
23
- CreatedAtTo: 'createdAtTo',
24
22
  CaseStatus: 'status',
25
23
  CaseSource: 'source',
26
24
  CaseService: 'service',
@@ -0,0 +1,5 @@
1
+ export type * from './classes/FilterConfig';
2
+
3
+ import { createFilterConfig } from './classes/createFilterConfig';
4
+
5
+ export { createFilterConfig };
@@ -0,0 +1,8 @@
1
+ import { IFilter } from '../../../classes/Filter';
2
+ import { TFilterConfig } from './FilterConfig';
3
+
4
+ export type DynamicFilterPreviewComponentProps = {
5
+ value: unknown;
6
+ filterConfig: TFilterConfig;
7
+ filter: IFilter;
8
+ };
@@ -0,0 +1,2 @@
1
+ import { createTableStore } from './modules/table/createTableStore.store';
2
+ export { createTableStore };
@@ -0,0 +1,42 @@
1
+ import { EngineCreatePresetQueryRequest, EnginePresetQuery } from 'webitel-sdk';
2
+ type GetPresetListRequestConfig = {
3
+ transformers: {
4
+ useStarToSearch?: boolean;
5
+ };
6
+ };
7
+ declare const getPresetList: (params: any, config: GetPresetListRequestConfig) => Promise<{
8
+ items: any;
9
+ next: any;
10
+ }>;
11
+ declare const addPreset: ({ preset, namespace, }: {
12
+ preset: EngineCreatePresetQueryRequest;
13
+ namespace: string;
14
+ }) => Promise<EnginePresetQuery>;
15
+ declare const updatePreset: ({ item: itemInstance, id, namespace }: {
16
+ item: any;
17
+ id: any;
18
+ namespace: any;
19
+ }) => Promise<any>;
20
+ declare const deletePreset: ({ id }: {
21
+ id: any;
22
+ }) => Promise<any>;
23
+ declare const PresetQueryAPI: {
24
+ getList: (params: any, config: GetPresetListRequestConfig) => Promise<{
25
+ items: any;
26
+ next: any;
27
+ }>;
28
+ add: ({ preset, namespace, }: {
29
+ preset: EngineCreatePresetQueryRequest;
30
+ namespace: string;
31
+ }) => Promise<EnginePresetQuery>;
32
+ update: ({ item: itemInstance, id, namespace }: {
33
+ item: any;
34
+ id: any;
35
+ namespace: any;
36
+ }) => Promise<any>;
37
+ delete: ({ id }: {
38
+ id: any;
39
+ }) => Promise<any>;
40
+ };
41
+ export { addPreset, deletePreset, getPresetList, updatePreset };
42
+ export default PresetQueryAPI;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ previewMode?: boolean;
3
+ };
4
+ type __VLS_PublicProps = __VLS_Props & {
5
+ modelValue?: string;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: string) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: (value: string) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
12
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { Validation } from '@vuelidate/core';
2
+ type ModelValue = string;
3
+ type Props = {
4
+ v: Validation;
5
+ };
6
+ type __VLS_Props = Props;
7
+ type __VLS_PublicProps = __VLS_Props & {
8
+ modelValue?: ModelValue;
9
+ };
10
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ "update:modelValue": (value: string) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
+ "onUpdate:modelValue"?: (value: string) => any;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import type { IFiltersManager } from '../../../filters';
2
+ import { TFilterConfig } from "../../../filters/modules/filterConfig/classes/FilterConfig";
3
+ type __VLS_Props = {
4
+ filtersManager: IFiltersManager;
5
+ filterConfigs: TFilterConfig[];
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { type Store } from 'pinia';
2
+ import { TFilterConfig } from "../../../filters/modules/filterConfig/classes/FilterConfig";
3
+ type __VLS_Props = {
4
+ /**
5
+ * presets "section" namespace
6
+ */
7
+ namespace: string;
8
+ usePresetsStore: Store;
9
+ filterConfigs: TFilterConfig[];
10
+ };
11
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ apply: (args_0: string) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onApply?: (args_0: string) => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import { AxiosError } from 'axios';
2
+ import { EnginePresetQuery } from 'webitel-sdk';
3
+ import { TFilterConfig } from "../../../filters/modules/filterConfig/classes/FilterConfig";
4
+ type Props = {
5
+ preset: EnginePresetQuery;
6
+ isSelected: boolean;
7
+ collapsed: boolean;
8
+ filterConfigs: TFilterConfig[];
9
+ };
10
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ "preset:select": (args_0: EnginePresetQuery) => any;
12
+ "preset:update": (args_0: {
13
+ preset: EnginePresetQuery;
14
+ onSuccess: () => void;
15
+ onFailure: (err: AxiosError) => void;
16
+ }) => any;
17
+ "preset:delete": (args_0: EnginePresetQuery) => any;
18
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
19
+ "onPreset:select"?: (args_0: EnginePresetQuery) => any;
20
+ "onPreset:update"?: (args_0: {
21
+ preset: EnginePresetQuery;
22
+ onSuccess: () => void;
23
+ onFailure: (err: AxiosError) => void;
24
+ }) => any;
25
+ "onPreset:delete"?: (args_0: EnginePresetQuery) => any;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { SubmitConfig } from './save-preset-popup.vue';
2
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3
+ cancel: () => any;
4
+ close: () => any;
5
+ confirm: (args_0: SubmitConfig) => any;
6
+ }, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
7
+ onCancel?: () => any;
8
+ onClose?: () => any;
9
+ onConfirm?: (args_0: SubmitConfig) => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ export default _default;