@webitel/ui-datalist 1.0.14 → 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 (156) hide show
  1. package/package.json +16 -6
  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/case-assignee/case-assignee-filter-value-preview.vue +1 -1
  10. package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue +1 -1
  11. package/src/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue +1 -2
  12. package/src/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue +1 -2
  13. package/src/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue +1 -2
  14. package/src/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.ts +0 -1
  15. package/src/modules/filters/modules/filterConfig/index.ts +5 -0
  16. package/types/index.d.ts +2 -0
  17. package/types/modules/filter-presets/api/PresetQuery.d.ts +42 -0
  18. package/types/modules/filter-presets/components/_shared/input-fields/preset-description-field.vue.d.ts +12 -0
  19. package/types/modules/filter-presets/components/_shared/input-fields/preset-name-field.vue.d.ts +15 -0
  20. package/types/modules/filter-presets/components/_shared/preset-filters-preview.vue.d.ts +8 -0
  21. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +16 -0
  22. package/types/modules/filter-presets/components/apply-preset/preset-preview.vue.d.ts +27 -0
  23. package/types/modules/filter-presets/components/save-preset/overwrite-preset-popup.vue.d.ts +11 -0
  24. package/types/modules/filter-presets/components/save-preset/save-preset-action.vue.d.ts +22 -0
  25. package/types/modules/filter-presets/components/save-preset/save-preset-popup.vue.d.ts +24 -0
  26. package/types/modules/filter-presets/index.d.ts +4 -0
  27. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +2 -0
  28. package/types/modules/filter-presets/stores/headers/headers.d.ts +2 -0
  29. package/types/modules/filters/classes/Filter.d.ts +46 -0
  30. package/types/modules/filters/classes/FiltersManager.d.ts +50 -0
  31. package/types/modules/filters/components/config/dynamic-filter-config-form-label.vue.d.ts +11 -0
  32. package/types/modules/filters/components/config/dynamic-filter-config-form-value-input.vue.d.ts +16 -0
  33. package/types/modules/filters/components/config/dynamic-filter-config-form.vue.d.ts +93 -0
  34. package/types/modules/filters/components/config/dynamic-filter-config-view.vue.d.ts +27 -0
  35. package/types/modules/filters/components/dynamic-filter-add-action.vue.d.ts +47 -0
  36. package/types/modules/filters/components/dynamic-filter-panel-wrapper.vue.d.ts +24 -0
  37. package/types/modules/filters/components/preview/dynamic-filter-preview-info.vue.d.ts +16 -0
  38. package/types/modules/filters/components/preview/dynamic-filter-preview.vue.d.ts +72 -0
  39. package/types/modules/filters/components/search-bar/dynamic-filter-search.vue.d.ts +22 -0
  40. package/types/modules/filters/components/table-filters-panel.vue.d.ts +65 -0
  41. package/types/modules/filters/composables/useFilterConfigsToolkit.d.ts +31 -0
  42. package/types/modules/filters/createTableFiltersStore.d.ts +121 -0
  43. package/types/modules/filters/index.d.ts +8 -0
  44. package/types/modules/filters/modules/filterConfig/classes/FilterConfig.d.ts +56 -0
  45. package/types/modules/filters/modules/filterConfig/classes/createFilterConfig.d.ts +2 -0
  46. package/types/modules/filters/modules/filterConfig/components/_custom/index.d.ts +17 -0
  47. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue.d.ts +15 -0
  48. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-preview.vue.d.ts +7 -0
  49. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue.d.ts +13 -0
  50. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-preview.vue.d.ts +5 -0
  51. package/types/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue.d.ts +15 -0
  52. package/types/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-field.vue.d.ts +9 -0
  53. package/types/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-preview.vue.d.ts +5 -0
  54. package/types/modules/filters/modules/filterConfig/components/_shared/lookup-filter-preview/lookup-filter-value-preview.vue.d.ts +8 -0
  55. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue.d.ts +12 -0
  56. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-preview.vue.d.ts +6 -0
  57. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue.d.ts +11 -0
  58. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-preview.vue.d.ts +5 -0
  59. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue.d.ts +11 -0
  60. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-preview.vue.d.ts +5 -0
  61. package/types/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-field.vue.d.ts +13 -0
  62. package/types/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-preview.vue.d.ts +5 -0
  63. package/types/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-field.vue.d.ts +13 -0
  64. package/types/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-preview.vue.d.ts +5 -0
  65. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +19 -0
  66. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-preview.vue.d.ts +8 -0
  67. package/types/modules/filters/modules/filterConfig/components/case-assignee/index.d.ts +44 -0
  68. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue.d.ts +12 -0
  69. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-preview.vue.d.ts +8 -0
  70. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue.d.ts +15 -0
  71. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-preview.vue.d.ts +6 -0
  72. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue.d.ts +12 -0
  73. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-preview.vue.d.ts +6 -0
  74. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue.d.ts +12 -0
  75. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-preview.vue.d.ts +6 -0
  76. package/types/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-field.vue.d.ts +13 -0
  77. package/types/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-preview.vue.d.ts +5 -0
  78. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue.d.ts +12 -0
  79. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-preview.vue.d.ts +6 -0
  80. package/types/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-field.vue.d.ts +13 -0
  81. package/types/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-preview.vue.d.ts +5 -0
  82. package/types/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue.d.ts +10 -0
  83. package/types/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-preview.vue.d.ts +9 -0
  84. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue.d.ts +12 -0
  85. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-preview.vue.d.ts +6 -0
  86. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue.d.ts +15 -0
  87. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-preview.vue.d.ts +6 -0
  88. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue.d.ts +12 -0
  89. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-preview.vue.d.ts +6 -0
  90. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue.d.ts +15 -0
  91. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-preview.vue.d.ts +6 -0
  92. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue.d.ts +12 -0
  93. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-preview.vue.d.ts +6 -0
  94. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +15 -0
  95. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-preview.vue.d.ts +8 -0
  96. package/types/modules/filters/modules/filterConfig/components/created-at/created-at-filter-value-field.vue.d.ts +13 -0
  97. package/types/modules/filters/modules/filterConfig/components/created-at/created-at-filter-value-preview.vue.d.ts +9 -0
  98. package/types/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-field.vue.d.ts +9 -0
  99. package/types/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-preview.vue.d.ts +5 -0
  100. package/types/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-field.vue.d.ts +9 -0
  101. package/types/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-preview.vue.d.ts +5 -0
  102. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue.d.ts +12 -0
  103. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-preview.vue.d.ts +8 -0
  104. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue.d.ts +12 -0
  105. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-preview.vue.d.ts +8 -0
  106. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue.d.ts +11 -0
  107. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-preview.vue.d.ts +5 -0
  108. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue.d.ts +11 -0
  109. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-preview.vue.d.ts +5 -0
  110. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +12 -0
  111. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-preview.vue.d.ts +5 -0
  112. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +12 -0
  113. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-preview.vue.d.ts +5 -0
  114. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +12 -0
  115. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-preview.vue.d.ts +5 -0
  116. package/types/modules/filters/modules/filterConfig/components/index.d.ts +126 -0
  117. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +12 -0
  118. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-preview.vue.d.ts +6 -0
  119. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue.d.ts +12 -0
  120. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-preview.vue.d.ts +8 -0
  121. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue.d.ts +15 -0
  122. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-preview.vue.d.ts +5 -0
  123. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue.d.ts +20 -0
  124. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-preview.vue.d.ts +5 -0
  125. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue.d.ts +11 -0
  126. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-preview.vue.d.ts +5 -0
  127. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue.d.ts +12 -0
  128. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-preview.vue.d.ts +6 -0
  129. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +12 -0
  130. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-preview.vue.d.ts +6 -0
  131. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue.d.ts +12 -0
  132. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-preview.vue.d.ts +6 -0
  133. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue.d.ts +12 -0
  134. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-preview.vue.d.ts +8 -0
  135. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue.d.ts +12 -0
  136. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-preview.vue.d.ts +5 -0
  137. package/types/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.d.ts +20 -0
  138. package/types/modules/filters/modules/filterConfig/composables/useFromToSecToPreviewTime.d.ts +7 -0
  139. package/types/modules/filters/modules/filterConfig/enums/FilterOption.d.ts +47 -0
  140. package/types/modules/filters/modules/filterConfig/enums/options/AMDResultOptions.d.ts +7 -0
  141. package/types/modules/filters/modules/filterConfig/enums/options/BooleanFilterOptions.d.ts +3 -0
  142. package/types/modules/filters/modules/filterConfig/enums/options/CallDirectionFilterOptions.d.ts +7 -0
  143. package/types/modules/filters/modules/filterConfig/enums/options/CallHistoryTagFilterOptions.d.ts +2 -0
  144. package/types/modules/filters/modules/filterConfig/enums/options/HangupCauseFilterOptions.d.ts +7 -0
  145. package/types/modules/filters/modules/filterConfig/index.d.ts +3 -0
  146. package/types/modules/filters/modules/filterConfig/types/DynamicFilterPreviewComponent.d.ts +7 -0
  147. package/types/modules/filters/scripts/utils.d.ts +5 -0
  148. package/types/modules/headers/createTableHeadersStore.d.ts +30 -0
  149. package/types/modules/pagination/createTablePaginationStore.d.ts +25 -0
  150. package/types/modules/persist/PersistedStorage.types.d.ts +36 -0
  151. package/types/modules/persist/useLocalStoragePersistedStorage.d.ts +4 -0
  152. package/types/modules/persist/usePersistedStorage.d.ts +2 -0
  153. package/types/modules/persist/useRoutePersistedStorage.d.ts +2 -0
  154. package/types/modules/table/createTableStore.store.d.ts +5 -0
  155. package/types/modules/types/tableStore.types.d.ts +41 -0
  156. 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.14",
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
  ],
@@ -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,
@@ -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
 
@@ -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 = (
@@ -0,0 +1,5 @@
1
+ export type * from './classes/FilterConfig';
2
+
3
+ import { createFilterConfig } from './classes/createFilterConfig';
4
+
5
+ export { createFilterConfig };
@@ -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;
@@ -0,0 +1,22 @@
1
+ import { FilterName, IFiltersManager } from '../../../filters';
2
+ import { TFilterConfig } from "../../../filters/modules/filterConfig/classes/FilterConfig";
3
+ type __VLS_Props = {
4
+ /**
5
+ * @description
6
+ * presets "section" namespace
7
+ */
8
+ namespace: string;
9
+ /**
10
+ * @author @dlohvinov
11
+ * serves as a source for local filters manager
12
+ */
13
+ filtersManager: IFiltersManager;
14
+ /**
15
+ * @description
16
+ * include in preset only filter values related to filters panel
17
+ */
18
+ filtersIncluded: FilterName[];
19
+ filterConfigs: TFilterConfig[];
20
+ };
21
+ 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>;
22
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import { EnginePresetQuery } from 'webitel-sdk';
2
+ import type { IFiltersManager } from '../../../filters';
3
+ import { TFilterConfig } from "../../../filters/modules/filterConfig/classes/FilterConfig";
4
+ export type SubmitConfig = {
5
+ onSuccess?: () => void;
6
+ onFailure?: (err: Error) => void;
7
+ onCompleted?: () => void;
8
+ };
9
+ type __VLS_Props = {
10
+ /**
11
+ * @description
12
+ * is needed here for `.toString()`
13
+ */
14
+ filtersManager: IFiltersManager;
15
+ filterConfigs: TFilterConfig[];
16
+ };
17
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ submit: (args_0: EnginePresetQuery, args_1?: SubmitConfig) => any;
19
+ close: () => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onSubmit?: (args_0: EnginePresetQuery, args_1?: SubmitConfig) => any;
22
+ onClose?: () => any;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import ApplyPresetAction from './components/apply-preset/apply-preset-action.vue';
2
+ import SavePresetAction from './components/save-preset/save-preset-action.vue';
3
+ import { createFilterPresetsStore } from './stores/createFilterPresetsStore.ts';
4
+ export { ApplyPresetAction, createFilterPresetsStore, SavePresetAction };
@@ -0,0 +1,2 @@
1
+ import { EnginePresetQuery } from 'webitel-sdk';
2
+ export declare const createFilterPresetsStore: (namespace?: string) => import("pinia").StoreDefinition<string, Pick<import("../../types/tableStore.types.js").TableStore<EnginePresetQuery>, "sort" | "filtersManager" | "headers" | "shownHeaders" | "fields" | "page" | "size" | "next" | "isFiltersRestoring" | "dataList" | "error" | "isLoading" | "selected">, Pick<import("../../types/tableStore.types.js").TableStore<EnginePresetQuery>, never>, Pick<import("../../types/tableStore.types.js").TableStore<EnginePresetQuery>, "hasFilter" | "addFilter" | "updateFilter" | "deleteFilter" | "updateShownHeaders" | "updateSort" | "updatePage" | "updateSize" | "updateSelected" | "loadDataList" | "initialize" | "deleteEls" | "patchItemProperty">>;
@@ -0,0 +1,2 @@
1
+ import { WtTableHeader } from 'src/components/wt-table/types/WtTable.d.ts';
2
+ export declare const headers: WtTableHeader[];
@@ -0,0 +1,46 @@
1
+ export type FilterName = string;
2
+ export type FilterLabel = string;
3
+ export type FilterValue = object | [] | string | number | boolean | undefined | null;
4
+ /**
5
+ * represents user-input data, that should be (re)stored
6
+ */
7
+ export interface FilterData {
8
+ value: FilterValue;
9
+ label?: FilterLabel;
10
+ }
11
+ export interface FilterInitParams extends FilterData {
12
+ name: FilterName;
13
+ }
14
+ export interface FilterEnumOption {
15
+ locale: string;
16
+ value: FilterValue;
17
+ }
18
+ export interface FilterInstanceConfig {
19
+ /**
20
+ * Perform simple type conversion on store/restore,
21
+ * without need to provide custom store/restore functions
22
+ */
23
+ storableType?: string;
24
+ /**
25
+ * list of persistence storages that should be used for this filter
26
+ */
27
+ storage?: string[];
28
+ }
29
+ export interface IFilter {
30
+ name: FilterName;
31
+ value: FilterValue;
32
+ label?: FilterLabel;
33
+ set: (data: FilterData) => IFilter;
34
+ }
35
+ export declare class Filter implements IFilter {
36
+ payload: object | undefined;
37
+ config: FilterInstanceConfig;
38
+ readonly name: FilterName;
39
+ label: FilterLabel;
40
+ value: FilterValue;
41
+ constructor({ name, value, label }: FilterInitParams, payload: object | undefined, config: FilterInstanceConfig);
42
+ set({ value, label }: {
43
+ value?: FilterValue;
44
+ label?: FilterLabel;
45
+ }): IFilter;
46
+ }
@@ -0,0 +1,50 @@
1
+ import { FilterInitParams, FilterInstanceConfig, FilterLabel, FilterName, FilterValue, IFilter } from './Filter';
2
+ export interface IFiltersManager {
3
+ filters: Map<FilterName, IFilter>;
4
+ hasFilter: (name: FilterName) => boolean;
5
+ getFilter: (name: FilterName) => IFilter;
6
+ addFilter: (params: FilterInitParams, payload?: object, config?: FilterInstanceConfig) => IFilter;
7
+ updateFilter: ({ name, }: {
8
+ name: FilterName;
9
+ value?: FilterValue;
10
+ label?: FilterLabel;
11
+ }) => IFilter;
12
+ deleteFilter: (name: FilterName) => IFilter;
13
+ /**
14
+ * Converts filters data to String, that can be stored
15
+ */
16
+ toString: () => string;
17
+ /**
18
+ * Restores filters from string
19
+ */
20
+ fromString: (snapshotStr: string) => void;
21
+ /**
22
+ * deletes filters
23
+ * If include/exclude are not provided, all filters will be deleted
24
+ */
25
+ reset: ({ include, exclude, }?: {
26
+ include?: FilterName[];
27
+ exclude?: FilterName[];
28
+ }) => void;
29
+ /**
30
+ * @returns Array<FilterName>
31
+ */
32
+ getAllKeys: () => FilterName[];
33
+ /**
34
+ * @returns { FilterName: FilterValue }
35
+ */
36
+ getAllValues: () => {
37
+ [name: FilterName]: FilterValue;
38
+ };
39
+ /**
40
+ * @returns Array<IFilter>
41
+ * @param include
42
+ * @param exclude
43
+ */
44
+ getFiltersList: ({ include, exclude, }?: {
45
+ include?: FilterName[];
46
+ exclude?: FilterName[];
47
+ }) => IFilter[];
48
+ }
49
+ export type FiltersManagerConfig = FilterInstanceConfig;
50
+ export declare const createFiltersManager: (config?: FiltersManagerConfig) => IFiltersManager;
@@ -0,0 +1,11 @@
1
+ type __VLS_PublicProps = {
2
+ modelValue?: string;
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
+ "update:modelValue": (value: string) => any;
6
+ "update:invalid": (args_0: boolean) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
8
+ "onUpdate:modelValue"?: (value: string) => any;
9
+ "onUpdate:invalid"?: (args_0: boolean) => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { TFilterConfig } from "../../modules/filterConfig/classes/FilterConfig";
2
+ type __VLS_Props = {
3
+ filterConfig: TFilterConfig;
4
+ label?: string;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & {
7
+ modelValue?: unknown;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: unknown) => any;
11
+ "update:invalid": (args_0: boolean) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
+ "onUpdate:modelValue"?: (value: unknown) => any;
14
+ "onUpdate:invalid"?: (args_0: boolean) => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;