@webitel/ui-datalist 26.8.6 → 26.8.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/Readme.md +1 -0
  2. package/package.json +3 -2
  3. package/src/modules/filter-presets/components/apply-preset/apply-preset-action.vue +16 -4
  4. package/src/modules/filter-presets/components/save-preset/save-preset-action.vue +18 -4
  5. package/src/modules/filters/__tests__/createTableFiltersStore.spec.ts +38 -2
  6. package/src/modules/filters/components/column/column-filter-preview.vue +70 -0
  7. package/src/modules/filters/components/column/column-filter.vue +76 -0
  8. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue +2 -0
  9. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue +43 -5
  10. package/src/modules/filters/components/config/static-view/static-filter-field.vue +6 -21
  11. package/src/modules/filters/components/filters-actions-menu.vue +177 -0
  12. package/src/modules/filters/components/preview/dynamic-filter-preview.vue +5 -60
  13. package/src/modules/filters/components/table-filters-panel.vue +6 -28
  14. package/src/modules/filters/components/types/Filter.types.ts +5 -0
  15. package/src/modules/filters/composables/useColumnFilter.ts +116 -0
  16. package/src/modules/filters/composables/useFilterValueChange.ts +58 -0
  17. package/src/modules/filters/composables/useFilterValuePreview.ts +87 -0
  18. package/src/modules/filters/composables/useSelectedFilters.ts +64 -0
  19. package/src/modules/filters/createTableFiltersStore.ts +13 -5
  20. package/src/modules/filters/index.ts +4 -0
  21. package/src/modules/filters/modules/filterConfig/components/_custom/filterConfig.ts +1 -1
  22. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue +9 -5
  23. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue +7 -4
  24. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue +7 -4
  25. package/src/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue +7 -4
  26. package/src/modules/filters/modules/filterConfig/components/_shared/string-filter/string-filter-value-field.vue +6 -3
  27. package/src/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue +6 -3
  28. package/src/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue +6 -3
  29. package/src/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue +6 -3
  30. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue +4 -4
  31. package/src/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue +6 -3
  32. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue +7 -4
  33. package/src/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue +6 -3
  34. package/src/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue +6 -3
  35. package/src/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue +6 -3
  36. package/src/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue +1 -32
  37. package/src/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue +6 -3
  38. package/src/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue +7 -4
  39. package/src/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue +6 -3
  40. package/src/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue +7 -4
  41. package/src/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue +6 -3
  42. package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue +3 -3
  43. package/src/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue +6 -3
  44. package/src/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue +6 -3
  45. package/src/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue +6 -3
  46. package/src/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue +6 -3
  47. package/src/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue +6 -3
  48. package/src/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue +7 -4
  49. package/src/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue +4 -4
  50. package/src/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue +6 -3
  51. package/src/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue +6 -3
  52. package/src/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue +6 -3
  53. package/src/modules/headers/__tests__/createTableHeadersStore.spec.ts +34 -2
  54. package/src/modules/headers/createTableHeadersStore.ts +19 -5
  55. package/src/modules/pagination/__tests__/createTablePaginationStore.spec.ts +27 -3
  56. package/src/modules/pagination/createTablePaginationStore.ts +23 -4
  57. package/src/modules/table/__tests__/createTableStore.spec.ts +26 -0
  58. package/src/modules/table/createTableStore.store.ts +34 -15
  59. package/src/modules/types/tableStore.types.ts +21 -2
  60. package/types/.tsbuildinfo +1 -1
  61. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +15 -1
  62. package/types/modules/filter-presets/components/save-preset/save-preset-action.vue.d.ts +17 -1
  63. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +2 -35
  64. package/types/modules/filters/components/column/column-filter-preview.vue.d.ts +21 -0
  65. package/types/modules/filters/components/column/column-filter.vue.d.ts +36 -0
  66. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-label.vue.d.ts +2 -2
  67. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue.d.ts +3 -2
  68. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue.d.ts +13 -1
  69. package/types/modules/filters/components/config/static-view/static-filter-field.vue.d.ts +2 -2
  70. package/types/modules/filters/components/filters-actions-menu.vue.d.ts +29 -0
  71. package/types/modules/filters/components/table-filters-panel.vue.d.ts +6 -6
  72. package/types/modules/filters/components/types/Filter.types.d.ts +4 -0
  73. package/types/modules/filters/composables/useColumnFilter.d.ts +27 -0
  74. package/types/modules/filters/composables/useFilterValueChange.d.ts +23 -0
  75. package/types/modules/filters/composables/useFilterValuePreview.d.ts +21 -0
  76. package/types/modules/filters/composables/useSelectedFilters.d.ts +22 -0
  77. package/types/modules/filters/createTableFiltersStore.d.ts +6 -2
  78. package/types/modules/filters/index.d.ts +3 -1
  79. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue.d.ts +3 -2
  80. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue.d.ts +8 -4
  81. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue.d.ts +8 -4
  82. package/types/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue.d.ts +8 -4
  83. package/types/modules/filters/modules/filterConfig/components/_shared/string-filter/string-filter-value-field.vue.d.ts +8 -4
  84. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue.d.ts +8 -4
  85. package/types/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-field.vue.d.ts +2 -2
  86. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue.d.ts +8 -4
  87. package/types/modules/filters/modules/filterConfig/components/auditor/auditor-filter-value-field.vue.d.ts +2 -2
  88. package/types/modules/filters/modules/filterConfig/components/auditor/index.d.ts +2 -2
  89. package/types/modules/filters/modules/filterConfig/components/bucket/bucket-filter-value-field.vue.d.ts +2 -2
  90. package/types/modules/filters/modules/filterConfig/components/bucket/index.d.ts +2 -2
  91. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue.d.ts +8 -4
  92. package/types/modules/filters/modules/filterConfig/components/call-reporting-result/call-reporting-result-filter-value-field.vue.d.ts +2 -2
  93. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +3 -2
  94. package/types/modules/filters/modules/filterConfig/components/case-assignee/filterConfig.d.ts +4 -2
  95. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue.d.ts +8 -4
  96. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue.d.ts +8 -4
  97. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue.d.ts +8 -4
  98. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue.d.ts +8 -4
  99. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue.d.ts +8 -4
  100. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue.d.ts +8 -4
  101. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue.d.ts +8 -4
  102. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue.d.ts +8 -4
  103. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue.d.ts +8 -4
  104. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue.d.ts +8 -4
  105. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +2 -2
  106. package/types/modules/filters/modules/filterConfig/components/contact-group/index.d.ts +2 -2
  107. package/types/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue.d.ts +2 -2
  108. package/types/modules/filters/modules/filterConfig/components/contact-label/index.d.ts +2 -2
  109. package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue.d.ts +3 -2
  110. package/types/modules/filters/modules/filterConfig/components/contact-owner/index.d.ts +4 -2
  111. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue.d.ts +8 -4
  112. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue.d.ts +8 -4
  113. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue.d.ts +8 -4
  114. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue.d.ts +8 -4
  115. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +2 -2
  116. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +2 -2
  117. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +2 -2
  118. package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue.d.ts +2 -2
  119. package/types/modules/filters/modules/filterConfig/components/index.d.ts +24 -22
  120. package/types/modules/filters/modules/filterConfig/components/queue/index.d.ts +2 -2
  121. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +2 -2
  122. package/types/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue.d.ts +2 -2
  123. package/types/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue.d.ts +2 -2
  124. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue.d.ts +8 -4
  125. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue.d.ts +8 -4
  126. package/types/modules/filters/modules/filterConfig/components/region/index.d.ts +2 -2
  127. package/types/modules/filters/modules/filterConfig/components/region/region-filter-value-field.vue.d.ts +2 -2
  128. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue.d.ts +3 -2
  129. package/types/modules/filters/modules/filterConfig/components/skill/index.d.ts +2 -2
  130. package/types/modules/filters/modules/filterConfig/components/skill/skill-filter-value-field.vue.d.ts +2 -2
  131. package/types/modules/filters/modules/filterConfig/components/stop-cause/stop-cause-filter-value-field.vue.d.ts +2 -2
  132. package/types/modules/filters/modules/filterConfig/components/supervisor/index.d.ts +2 -2
  133. package/types/modules/filters/modules/filterConfig/components/supervisor/supervisor-filter-value-field.vue.d.ts +2 -2
  134. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue.d.ts +8 -4
  135. package/types/modules/filters/modules/filterConfig/components/tags/index.d.ts +2 -2
  136. package/types/modules/filters/modules/filterConfig/components/tags/tags-filter-value-field.vue.d.ts +2 -2
  137. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue.d.ts +2 -2
  138. package/types/modules/filters/modules/filterConfig/components/team/index.d.ts +2 -2
  139. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +2 -2
  140. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue.d.ts +2 -2
  141. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue.d.ts +8 -4
  142. package/types/modules/filters/modules/filterConfig/components/utilization-progress/utilization-progress-filter-value-field.vue.d.ts +2 -2
  143. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue.d.ts +8 -4
  144. package/types/modules/headers/createTableHeadersStore.d.ts +48 -20
  145. package/types/modules/pagination/createTablePaginationStore.d.ts +7 -3
  146. package/types/modules/permissions-page/stores/createPermissionsStore.d.ts +4 -70
  147. package/types/modules/table/createTableStore.store.d.ts +76 -141
  148. package/types/modules/types/tableStore.types.d.ts +20 -2
@@ -1,6 +1,7 @@
1
1
  import { type Ref } from 'vue';
2
+ import type { FilterName } from '../filters';
2
3
  import type { Identifiable } from '../types/createDatalistStore.types';
3
- import type { LoadDataListOptions, PatchItemPropertyParams, useTableStoreConfig } from '../types/tableStore.types';
4
+ import type { DatalistTableHeader, LoadDataListOptions, PatchItemPropertyParams, useTableStoreConfig } from '../types/tableStore.types';
4
5
  export declare const tableStoreBody: <Entity extends Identifiable>(namespace: string, config: useTableStoreConfig<Entity>) => {
5
6
  isStoreSetUp: Ref<boolean, boolean>;
6
7
  isNested: Ref<boolean, boolean>;
@@ -11,120 +12,87 @@ export declare const tableStoreBody: <Entity extends Identifiable>(namespace: st
11
12
  page: Ref<number, number>;
12
13
  size: Ref<number, number>;
13
14
  next: Ref<boolean, boolean>;
14
- headers: Ref<{
15
- value: string;
16
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
17
- text?: string | undefined;
18
- width?: string | undefined;
19
- field: string;
20
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
21
- show?: boolean | undefined;
22
- reorderable?: boolean | undefined;
23
- shouldBeInitialized?: boolean | undefined;
24
- access?: (() => boolean | Ref<boolean>) | undefined;
25
- }[], import("../..").DatalistTableHeader[] | {
26
- value: string;
27
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
28
- text?: string | undefined;
29
- width?: string | undefined;
30
- field: string;
31
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
32
- show?: boolean | undefined;
33
- reorderable?: boolean | undefined;
34
- shouldBeInitialized?: boolean | undefined;
35
- access?: (() => boolean | Ref<boolean>) | undefined;
36
- }[]>;
37
- shownHeaders: import("vue").ComputedRef<{
38
- value: string;
39
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
40
- text?: string | undefined;
41
- width?: string | undefined;
42
- field: string;
43
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
44
- show?: boolean | undefined;
45
- reorderable?: boolean | undefined;
46
- shouldBeInitialized?: boolean | undefined;
47
- access?: (() => boolean | Ref<boolean>) | undefined;
48
- }[]>;
15
+ headers: import("vue").ComputedRef<DatalistTableHeader[]>;
16
+ shownHeaders: import("vue").ComputedRef<DatalistTableHeader[]>;
49
17
  fields: import("vue").ComputedRef<string[]>;
50
18
  sort: import("vue").ComputedRef<string | null>;
51
19
  columnWidths: import("vue").ComputedRef<Record<string, string>>;
52
20
  searchMode: Ref<string, string>;
53
21
  filtersManager: Ref<{
54
22
  filters: Map<string, {
55
- name: import("../filters").FilterName;
23
+ name: FilterName;
56
24
  value: import("../filters").FilterValue;
57
25
  label?: import("../filters").FilterLabel | undefined;
58
26
  set: (data: import("../filters/classes/Filter").FilterData) => import("../filters").IFilter;
59
27
  }> & Omit<Map<string, import("../filters").IFilter>, keyof Map<any, any>>;
60
- hasFilter: (name: import("../filters").FilterName) => boolean;
61
- getFilter: (name: import("../filters").FilterName) => import("../filters").IFilter | undefined;
28
+ hasFilter: (name: FilterName) => boolean;
29
+ getFilter: (name: FilterName) => import("../filters").IFilter | undefined;
62
30
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
63
31
  updateFilter: ({ name, }: {
64
- name: import("../filters").FilterName;
32
+ name: FilterName;
65
33
  value?: import("../filters").FilterValue;
66
34
  label?: import("../filters").FilterLabel;
67
35
  }) => import("../filters").IFilter;
68
36
  deleteFilter: ({ name }: {
69
- name: import("../filters").FilterName;
37
+ name: FilterName;
70
38
  }) => import("../filters").IFilter | undefined;
71
39
  toString: (options?: {
72
- include?: import("../filters").FilterName[];
73
- exclude?: import("../filters").FilterName[];
40
+ include?: FilterName[];
41
+ exclude?: FilterName[];
74
42
  }) => string;
75
43
  fromString: (snapshotStr: string) => void;
76
44
  reset: ({ include, exclude, }?: {
77
- include?: import("../filters").FilterName[];
78
- exclude?: import("../filters").FilterName[];
45
+ include?: FilterName[];
46
+ exclude?: FilterName[];
79
47
  }) => void;
80
- getAllKeys: () => import("../filters").FilterName[];
48
+ getAllKeys: () => FilterName[];
81
49
  getAllValues: ({ include, exclude, }?: {
82
- include?: import("../filters").FilterName[];
83
- exclude?: import("../filters").FilterName[];
50
+ include?: FilterName[];
51
+ exclude?: FilterName[];
84
52
  }) => {
85
- [name: import("../filters").FilterName]: import("../filters").FilterValue;
53
+ [name: FilterName]: import("../filters").FilterValue;
86
54
  };
87
55
  getFiltersList: ({ include, exclude, }?: {
88
- include?: import("../filters").FilterName[];
89
- exclude?: import("../filters").FilterName[];
56
+ include?: FilterName[];
57
+ exclude?: FilterName[];
90
58
  }) => import("../filters").IFilter[];
91
59
  }, {
92
60
  filters: Map<string, {
93
- name: import("../filters").FilterName;
61
+ name: FilterName;
94
62
  value: import("../filters").FilterValue;
95
63
  label?: import("../filters").FilterLabel | undefined;
96
64
  set: (data: import("../filters/classes/Filter").FilterData) => import("../filters").IFilter;
97
65
  }> & Omit<Map<string, import("../filters").IFilter>, keyof Map<any, any>>;
98
- hasFilter: (name: import("../filters").FilterName) => boolean;
99
- getFilter: (name: import("../filters").FilterName) => import("../filters").IFilter | undefined;
66
+ hasFilter: (name: FilterName) => boolean;
67
+ getFilter: (name: FilterName) => import("../filters").IFilter | undefined;
100
68
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
101
69
  updateFilter: ({ name, }: {
102
- name: import("../filters").FilterName;
70
+ name: FilterName;
103
71
  value?: import("../filters").FilterValue;
104
72
  label?: import("../filters").FilterLabel;
105
73
  }) => import("../filters").IFilter;
106
74
  deleteFilter: ({ name }: {
107
- name: import("../filters").FilterName;
75
+ name: FilterName;
108
76
  }) => import("../filters").IFilter | undefined;
109
77
  toString: (options?: {
110
- include?: import("../filters").FilterName[];
111
- exclude?: import("../filters").FilterName[];
78
+ include?: FilterName[];
79
+ exclude?: FilterName[];
112
80
  }) => string;
113
81
  fromString: (snapshotStr: string) => void;
114
82
  reset: ({ include, exclude, }?: {
115
- include?: import("../filters").FilterName[];
116
- exclude?: import("../filters").FilterName[];
83
+ include?: FilterName[];
84
+ exclude?: FilterName[];
117
85
  }) => void;
118
- getAllKeys: () => import("../filters").FilterName[];
86
+ getAllKeys: () => FilterName[];
119
87
  getAllValues: ({ include, exclude, }?: {
120
- include?: import("../filters").FilterName[];
121
- exclude?: import("../filters").FilterName[];
88
+ include?: FilterName[];
89
+ exclude?: FilterName[];
122
90
  }) => {
123
- [name: import("../filters").FilterName]: import("../filters").FilterValue;
91
+ [name: FilterName]: import("../filters").FilterValue;
124
92
  };
125
93
  getFiltersList: ({ include, exclude, }?: {
126
- include?: import("../filters").FilterName[];
127
- exclude?: import("../filters").FilterName[];
94
+ include?: FilterName[];
95
+ exclude?: FilterName[];
128
96
  }) => import("../filters").IFilter[];
129
97
  }>;
130
98
  isFiltersRestoring: Ref<boolean, boolean>;
@@ -143,7 +111,7 @@ export declare const tableStoreBody: <Entity extends Identifiable>(namespace: st
143
111
  updateSearchMode: (newSearch: string) => void;
144
112
  updatePage: (newPage: number) => void;
145
113
  updateSize: (newSize: number) => void;
146
- updateSort: (column: import("../..").DatalistTableHeader, options?: {
114
+ updateSort: (column: DatalistTableHeader, options?: {
147
115
  order?: import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder;
148
116
  } | import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder) => void;
149
117
  columnResize: ({ columnName, columnWidth, }: {
@@ -151,16 +119,16 @@ export declare const tableStoreBody: <Entity extends Identifiable>(namespace: st
151
119
  columnWidth: string;
152
120
  }) => void;
153
121
  columnReorder: (orderedFields: string[]) => void;
154
- updateShownHeaders: (value: import("../..").DatalistTableHeader[]) => void;
155
- hasFilter: (name: import("../filters").FilterName) => boolean;
122
+ updateShownHeaders: (value: DatalistTableHeader[]) => void;
123
+ hasFilter: (name: FilterName) => boolean;
156
124
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
157
125
  updateFilter: ({ name, }: {
158
- name: import("../filters").FilterName;
126
+ name: FilterName;
159
127
  value?: import("../filters").FilterValue;
160
128
  label?: import("../filters").FilterLabel;
161
129
  }) => import("../filters").IFilter;
162
130
  deleteFilter: ({ name }: {
163
- name: import("../filters").FilterName;
131
+ name: FilterName;
164
132
  }) => import("../filters").IFilter | undefined;
165
133
  };
166
134
  export declare const createTableStore: <Entity extends Identifiable>(namespace: string, config: useTableStoreConfig<Entity>) => import("../types/createDatalistStore.types").PatchableStoreFactory<{
@@ -173,120 +141,87 @@ export declare const createTableStore: <Entity extends Identifiable>(namespace:
173
141
  page: Ref<number, number>;
174
142
  size: Ref<number, number>;
175
143
  next: Ref<boolean, boolean>;
176
- headers: Ref<{
177
- value: string;
178
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
179
- text?: string | undefined;
180
- width?: string | undefined;
181
- field: string;
182
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
183
- show?: boolean | undefined;
184
- reorderable?: boolean | undefined;
185
- shouldBeInitialized?: boolean | undefined;
186
- access?: (() => boolean | Ref<boolean>) | undefined;
187
- }[], import("../..").DatalistTableHeader[] | {
188
- value: string;
189
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
190
- text?: string | undefined;
191
- width?: string | undefined;
192
- field: string;
193
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
194
- show?: boolean | undefined;
195
- reorderable?: boolean | undefined;
196
- shouldBeInitialized?: boolean | undefined;
197
- access?: (() => boolean | Ref<boolean>) | undefined;
198
- }[]>;
199
- shownHeaders: import("vue").ComputedRef<{
200
- value: string;
201
- locale?: string | (string | number | Record<string, unknown>)[] | undefined;
202
- text?: string | undefined;
203
- width?: string | undefined;
204
- field: string;
205
- sort?: (import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder | boolean) | undefined;
206
- show?: boolean | undefined;
207
- reorderable?: boolean | undefined;
208
- shouldBeInitialized?: boolean | undefined;
209
- access?: (() => boolean | Ref<boolean>) | undefined;
210
- }[]>;
144
+ headers: import("vue").ComputedRef<DatalistTableHeader[]>;
145
+ shownHeaders: import("vue").ComputedRef<DatalistTableHeader[]>;
211
146
  fields: import("vue").ComputedRef<string[]>;
212
147
  sort: import("vue").ComputedRef<string | null>;
213
148
  columnWidths: import("vue").ComputedRef<Record<string, string>>;
214
149
  searchMode: Ref<string, string>;
215
150
  filtersManager: Ref<{
216
151
  filters: Map<string, {
217
- name: import("../filters").FilterName;
152
+ name: FilterName;
218
153
  value: import("../filters").FilterValue;
219
154
  label?: import("../filters").FilterLabel | undefined;
220
155
  set: (data: import("../filters/classes/Filter").FilterData) => import("../filters").IFilter;
221
156
  }> & Omit<Map<string, import("../filters").IFilter>, keyof Map<any, any>>;
222
- hasFilter: (name: import("../filters").FilterName) => boolean;
223
- getFilter: (name: import("../filters").FilterName) => import("../filters").IFilter | undefined;
157
+ hasFilter: (name: FilterName) => boolean;
158
+ getFilter: (name: FilterName) => import("../filters").IFilter | undefined;
224
159
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
225
160
  updateFilter: ({ name, }: {
226
- name: import("../filters").FilterName;
161
+ name: FilterName;
227
162
  value?: import("../filters").FilterValue;
228
163
  label?: import("../filters").FilterLabel;
229
164
  }) => import("../filters").IFilter;
230
165
  deleteFilter: ({ name }: {
231
- name: import("../filters").FilterName;
166
+ name: FilterName;
232
167
  }) => import("../filters").IFilter | undefined;
233
168
  toString: (options?: {
234
- include?: import("../filters").FilterName[];
235
- exclude?: import("../filters").FilterName[];
169
+ include?: FilterName[];
170
+ exclude?: FilterName[];
236
171
  }) => string;
237
172
  fromString: (snapshotStr: string) => void;
238
173
  reset: ({ include, exclude, }?: {
239
- include?: import("../filters").FilterName[];
240
- exclude?: import("../filters").FilterName[];
174
+ include?: FilterName[];
175
+ exclude?: FilterName[];
241
176
  }) => void;
242
- getAllKeys: () => import("../filters").FilterName[];
177
+ getAllKeys: () => FilterName[];
243
178
  getAllValues: ({ include, exclude, }?: {
244
- include?: import("../filters").FilterName[];
245
- exclude?: import("../filters").FilterName[];
179
+ include?: FilterName[];
180
+ exclude?: FilterName[];
246
181
  }) => {
247
- [name: import("../filters").FilterName]: import("../filters").FilterValue;
182
+ [name: FilterName]: import("../filters").FilterValue;
248
183
  };
249
184
  getFiltersList: ({ include, exclude, }?: {
250
- include?: import("../filters").FilterName[];
251
- exclude?: import("../filters").FilterName[];
185
+ include?: FilterName[];
186
+ exclude?: FilterName[];
252
187
  }) => import("../filters").IFilter[];
253
188
  }, {
254
189
  filters: Map<string, {
255
- name: import("../filters").FilterName;
190
+ name: FilterName;
256
191
  value: import("../filters").FilterValue;
257
192
  label?: import("../filters").FilterLabel | undefined;
258
193
  set: (data: import("../filters/classes/Filter").FilterData) => import("../filters").IFilter;
259
194
  }> & Omit<Map<string, import("../filters").IFilter>, keyof Map<any, any>>;
260
- hasFilter: (name: import("../filters").FilterName) => boolean;
261
- getFilter: (name: import("../filters").FilterName) => import("../filters").IFilter | undefined;
195
+ hasFilter: (name: FilterName) => boolean;
196
+ getFilter: (name: FilterName) => import("../filters").IFilter | undefined;
262
197
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
263
198
  updateFilter: ({ name, }: {
264
- name: import("../filters").FilterName;
199
+ name: FilterName;
265
200
  value?: import("../filters").FilterValue;
266
201
  label?: import("../filters").FilterLabel;
267
202
  }) => import("../filters").IFilter;
268
203
  deleteFilter: ({ name }: {
269
- name: import("../filters").FilterName;
204
+ name: FilterName;
270
205
  }) => import("../filters").IFilter | undefined;
271
206
  toString: (options?: {
272
- include?: import("../filters").FilterName[];
273
- exclude?: import("../filters").FilterName[];
207
+ include?: FilterName[];
208
+ exclude?: FilterName[];
274
209
  }) => string;
275
210
  fromString: (snapshotStr: string) => void;
276
211
  reset: ({ include, exclude, }?: {
277
- include?: import("../filters").FilterName[];
278
- exclude?: import("../filters").FilterName[];
212
+ include?: FilterName[];
213
+ exclude?: FilterName[];
279
214
  }) => void;
280
- getAllKeys: () => import("../filters").FilterName[];
215
+ getAllKeys: () => FilterName[];
281
216
  getAllValues: ({ include, exclude, }?: {
282
- include?: import("../filters").FilterName[];
283
- exclude?: import("../filters").FilterName[];
217
+ include?: FilterName[];
218
+ exclude?: FilterName[];
284
219
  }) => {
285
- [name: import("../filters").FilterName]: import("../filters").FilterValue;
220
+ [name: FilterName]: import("../filters").FilterValue;
286
221
  };
287
222
  getFiltersList: ({ include, exclude, }?: {
288
- include?: import("../filters").FilterName[];
289
- exclude?: import("../filters").FilterName[];
223
+ include?: FilterName[];
224
+ exclude?: FilterName[];
290
225
  }) => import("../filters").IFilter[];
291
226
  }>;
292
227
  isFiltersRestoring: Ref<boolean, boolean>;
@@ -305,7 +240,7 @@ export declare const createTableStore: <Entity extends Identifiable>(namespace:
305
240
  updateSearchMode: (newSearch: string) => void;
306
241
  updatePage: (newPage: number) => void;
307
242
  updateSize: (newSize: number) => void;
308
- updateSort: (column: import("../..").DatalistTableHeader, options?: {
243
+ updateSort: (column: DatalistTableHeader, options?: {
309
244
  order?: import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder;
310
245
  } | import("@webitel/ui-sdk/src/components/wt-table/types/WtTable").WtTableSortOrder) => void;
311
246
  columnResize: ({ columnName, columnWidth, }: {
@@ -313,15 +248,15 @@ export declare const createTableStore: <Entity extends Identifiable>(namespace:
313
248
  columnWidth: string;
314
249
  }) => void;
315
250
  columnReorder: (orderedFields: string[]) => void;
316
- updateShownHeaders: (value: import("../..").DatalistTableHeader[]) => void;
317
- hasFilter: (name: import("../filters").FilterName) => boolean;
251
+ updateShownHeaders: (value: DatalistTableHeader[]) => void;
252
+ hasFilter: (name: FilterName) => boolean;
318
253
  addFilter: (params: import("../filters").FilterInitParams, payload?: object, config?: import("../filters").FilterInstanceConfig) => import("../filters").IFilter;
319
254
  updateFilter: ({ name, }: {
320
- name: import("../filters").FilterName;
255
+ name: FilterName;
321
256
  value?: import("../filters").FilterValue;
322
257
  label?: import("../filters").FilterLabel;
323
258
  }) => import("../filters").IFilter;
324
259
  deleteFilter: ({ name }: {
325
- name: import("../filters").FilterName;
260
+ name: FilterName;
326
261
  }) => import("../filters").IFilter | undefined;
327
262
  }>;
@@ -1,14 +1,24 @@
1
1
  import type { ApiModule } from '@webitel/ui-sdk/api/types/ApiModule';
2
2
  import type { WtTableHeader } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
3
3
  import type { Ref } from 'vue';
4
- import type { IFiltersManager } from '../filters';
4
+ import type { FilterName, IFiltersManager } from '../filters';
5
5
  import type { DatalistStoreProviderType } from './StoreProvider';
6
+ /**
7
+ * Minimal shape of an already-resolved header filter. Deliberately not the full
8
+ * `AnyFilterConfig` (with its `Component` props): `createTableHeadersStore` keeps headers in a
9
+ * plain `ref<DatalistTableHeader[]>`, and `Component` props there send Vue's `UnwrapRef` into
10
+ * excessive type-instantiation depth (TS2589). `useColumnFilter`'s `isResolvedFilterConfig`
11
+ * narrows a value of this shape back to `AnyFilterConfig` for actual use.
12
+ */
13
+ export type ResolvedHeaderFilter = {
14
+ name: FilterName;
15
+ };
6
16
  /**
7
17
  * Table header shape used inside the datalist stores. In addition to the
8
18
  * base {@link WtTableHeader} shape, datalist stores key columns by `field`
9
19
  * and may flag dynamically-appended headers for lazy initialization.
10
20
  */
11
- export type DatalistTableHeader = WtTableHeader & {
21
+ export type DatalistTableHeader = Omit<WtTableHeader, 'filter'> & {
12
22
  field: string;
13
23
  shouldBeInitialized?: boolean;
14
24
  /**
@@ -18,6 +28,14 @@ export type DatalistTableHeader = WtTableHeader & {
18
28
  * restorable from persisted state. Omitted means allowed.
19
29
  */
20
30
  access?: () => boolean | Ref<boolean>;
31
+ /**
32
+ * Name of the filter shown in the column header popover (`column-filter` slot),
33
+ * or an already-resolved config for it (build one with `createFilterConfig`). Passing a
34
+ * config here lets `headers.ts` map the header to its filter once, instead of
35
+ * `useColumnFilter` searching `filterOptions`/`filterableExtensionFields` for it on every
36
+ * column.
37
+ */
38
+ filter?: WtTableHeader['filter'] | ResolvedHeaderFilter;
21
39
  };
22
40
  export type TrackSelectedRowBy<T> = (row: T) => T;
23
41
  /**