@webitel/ui-datalist 1.1.57 → 1.1.59

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 (184) hide show
  1. package/package.json +1 -1
  2. package/src/modules/card/composables/useCardAnyFieldEditedWatcher.ts +6 -2
  3. package/src/modules/card/composables/useCardComponent.ts +4 -1
  4. package/src/modules/card/composables/useCardSaveAction.ts +2 -0
  5. package/src/modules/card/composables/useCardValidation.ts +6 -1
  6. package/src/modules/card/composables/useNestedCardComponent.ts +4 -1
  7. package/src/modules/filter-presets/api/PresetQuery.ts +32 -9
  8. package/src/modules/filter-presets/components/apply-preset/apply-preset-action.vue +15 -5
  9. package/src/modules/filter-presets/components/apply-preset/preset-preview.vue +7 -4
  10. package/src/modules/filter-presets/components/save-preset/save-preset-action.vue +11 -3
  11. package/src/modules/filter-presets/types/PresetSnapshot.ts +6 -0
  12. package/src/modules/filters/classes/Filter.ts +1 -1
  13. package/src/modules/filters/classes/FiltersManager.ts +25 -17
  14. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue +12 -11
  15. package/src/modules/filters/components/config/dynamic-view/dynamic-filter-config-view.vue +3 -1
  16. package/src/modules/filters/components/config/static-view/static-filter-field.vue +3 -1
  17. package/src/modules/filters/components/dynamic-filter-add-action.vue +8 -1
  18. package/src/modules/filters/components/preview/dynamic-filter-preview.vue +12 -2
  19. package/src/modules/filters/components/search-bar/dynamic-filter-search.vue +10 -9
  20. package/src/modules/filters/components/table-filters-panel.vue +4 -3
  21. package/src/modules/filters/components/types/Filter.types.ts +4 -1
  22. package/src/modules/filters/composables/useFilterConfigsToolkit.ts +2 -1
  23. package/src/modules/filters/createTableFiltersStore.ts +1 -1
  24. package/src/modules/filters/modules/filterConfig/classes/FilterConfig.ts +4 -1
  25. package/src/modules/filters/modules/filterConfig/classes/createFilterConfig.ts +4 -1
  26. package/src/modules/filters/modules/filterConfig/components/_custom/filterConfig.ts +8 -4
  27. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue +13 -4
  28. package/src/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-preview.vue +1 -1
  29. package/src/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue +2 -1
  30. package/src/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue +14 -9
  31. package/src/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-field.vue +1 -1
  32. package/src/modules/filters/modules/filterConfig/components/_shared/lookup-filter-preview/lookup-filter-value-preview.vue +15 -1
  33. package/src/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-preview.vue +2 -2
  34. package/src/modules/filters/modules/filterConfig/components/auditor/index.ts +5 -2
  35. package/src/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-preview.vue +1 -1
  36. package/src/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-preview.vue +1 -1
  37. package/src/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue +1 -1
  38. package/src/modules/filters/modules/filterConfig/components/case-assignee/filterConfig.ts +5 -3
  39. package/src/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue +2 -2
  40. package/src/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-preview.vue +1 -1
  41. package/src/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-preview.vue +1 -1
  42. package/src/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue +1 -1
  43. package/src/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue +2 -2
  44. package/src/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue +2 -2
  45. package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue +6 -5
  46. package/src/modules/filters/modules/filterConfig/components/contact-group/index.ts +5 -2
  47. package/src/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue +1 -1
  48. package/src/modules/filters/modules/filterConfig/components/contact-label/index.ts +4 -2
  49. package/src/modules/filters/modules/filterConfig/components/contact-owner/index.ts +7 -3
  50. package/src/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue +1 -1
  51. package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue +1 -1
  52. package/src/modules/filters/modules/filterConfig/components/queue/index.ts +5 -2
  53. package/src/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-preview.vue +2 -2
  54. package/src/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-preview.vue +2 -2
  55. package/src/modules/filters/modules/filterConfig/components/region/index.ts +5 -2
  56. package/src/modules/filters/modules/filterConfig/components/skill/index.ts +5 -2
  57. package/src/modules/filters/modules/filterConfig/components/supervisor/index.ts +5 -2
  58. package/src/modules/filters/modules/filterConfig/components/team/index.ts +6 -2
  59. package/src/modules/filters/scripts/utils.ts +2 -2
  60. package/src/modules/headers/createTableHeadersStore.ts +46 -20
  61. package/src/modules/permissions-page/components/permissions-tab.vue +7 -1
  62. package/src/modules/persist/PersistedStorage.types.ts +4 -1
  63. package/src/modules/persist/usePersistedStorage.ts +9 -3
  64. package/src/modules/scripts/utils.ts +5 -3
  65. package/types/.tsbuildinfo +1 -1
  66. package/types/modules/card/composables/useCardAnyFieldEditedWatcher.d.ts +4 -3
  67. package/types/modules/card/composables/useCardComponent.d.ts +2 -2
  68. package/types/modules/card/composables/useCardRouting.d.ts +1 -1
  69. package/types/modules/card/composables/useCardValidation.d.ts +3 -2
  70. package/types/modules/card/composables/useNestedCardComponent.d.ts +2 -2
  71. package/types/modules/card/stores/createCardStore.d.ts +18 -18
  72. package/types/modules/filter-presets/api/PresetQuery.d.ts +14 -13
  73. package/types/modules/filter-presets/components/_shared/input-fields/preset-description-field.vue.d.ts +3 -3
  74. package/types/modules/filter-presets/components/_shared/input-fields/preset-name-field.vue.d.ts +2 -2
  75. package/types/modules/filter-presets/components/apply-preset/apply-preset-action.vue.d.ts +1 -1
  76. package/types/modules/filter-presets/components/apply-preset/preset-preview.vue.d.ts +4 -4
  77. package/types/modules/filter-presets/components/save-preset/overwrite-preset-popup.vue.d.ts +3 -3
  78. package/types/modules/filter-presets/components/save-preset/save-preset-popup.vue.d.ts +3 -3
  79. package/types/modules/filter-presets/stores/createFilterPresetsStore.d.ts +40 -34
  80. package/types/modules/filter-presets/types/PresetSnapshot.d.ts +6 -0
  81. package/types/modules/filters/classes/Filter.d.ts +1 -1
  82. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-label.vue.d.ts +4 -4
  83. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form-value-input.vue.d.ts +2 -2
  84. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-form.vue.d.ts +5 -5
  85. package/types/modules/filters/components/config/dynamic-view/dynamic-filter-config-view.vue.d.ts +1 -1
  86. package/types/modules/filters/components/config/static-view/static-filter-field.vue.d.ts +3 -3
  87. package/types/modules/filters/components/dynamic-filter-add-action.vue.d.ts +1 -1
  88. package/types/modules/filters/components/dynamic-filter-panel-wrapper.vue.d.ts +1 -1
  89. package/types/modules/filters/components/preview/dynamic-filter-preview.vue.d.ts +2 -2
  90. package/types/modules/filters/components/search-bar/dynamic-filter-search.vue.d.ts +6 -6
  91. package/types/modules/filters/components/table-filters-panel.vue.d.ts +6 -6
  92. package/types/modules/filters/components/types/Filter.types.d.ts +3 -1
  93. package/types/modules/filters/composables/useFilterConfigsToolkit.d.ts +2 -1
  94. package/types/modules/filters/createTableFiltersStore.d.ts +23 -11
  95. package/types/modules/filters/modules/filterConfig/classes/FilterConfig.d.ts +3 -1
  96. package/types/modules/filters/modules/filterConfig/components/_custom/filterConfig.d.ts +2 -5
  97. package/types/modules/filters/modules/filterConfig/components/_custom/type-extension-filter-value-field.vue.d.ts +2 -2
  98. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-filter-value-field.vue.d.ts +3 -3
  99. package/types/modules/filters/modules/filterConfig/components/_shared/date-time-filter/date-time-options/date-time-options-filter-value-field.vue.d.ts +5 -5
  100. package/types/modules/filters/modules/filterConfig/components/_shared/durations/duration-filter-value-field.vue.d.ts +3 -3
  101. package/types/modules/filters/modules/filterConfig/components/_shared/has-options/has-option-filter-value-field.vue.d.ts +3 -3
  102. package/types/modules/filters/modules/filterConfig/components/agent/agent-filter-value-field.vue.d.ts +4 -4
  103. package/types/modules/filters/modules/filterConfig/components/agent/config.d.ts +2 -0
  104. package/types/modules/filters/modules/filterConfig/components/agent-status/agent-status-filter-value-field.vue.d.ts +4 -4
  105. package/types/modules/filters/modules/filterConfig/components/amd-result/amd-result-filter-value-field.vue.d.ts +4 -4
  106. package/types/modules/filters/modules/filterConfig/components/auditor/auditor-filter-value-field.vue.d.ts +3 -3
  107. package/types/modules/filters/modules/filterConfig/components/auditor/index.d.ts +5 -5
  108. package/types/modules/filters/modules/filterConfig/components/call-direction/call-direction-filter-value-field.vue.d.ts +4 -4
  109. package/types/modules/filters/modules/filterConfig/components/case-actual-reaction-time/case-actual-reaction-time-filter-value-field.vue.d.ts +3 -3
  110. package/types/modules/filters/modules/filterConfig/components/case-actual-resolution-time/case-actual-resolution-time-filter-value-field.vue.d.ts +3 -3
  111. package/types/modules/filters/modules/filterConfig/components/case-assignee/case-assignee-filter-value-field.vue.d.ts +2 -2
  112. package/types/modules/filters/modules/filterConfig/components/case-assignee/filterConfig.d.ts +5 -5
  113. package/types/modules/filters/modules/filterConfig/components/case-author/case-author-filter-value-field.vue.d.ts +4 -4
  114. package/types/modules/filters/modules/filterConfig/components/case-author/config.d.ts +4 -0
  115. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/case-close-reason-groups-filter-value-field.vue.d.ts +3 -3
  116. package/types/modules/filters/modules/filterConfig/components/case-close-reason-groups/config.d.ts +4 -0
  117. package/types/modules/filters/modules/filterConfig/components/case-impacted/case-impacted-filter-value-field.vue.d.ts +4 -4
  118. package/types/modules/filters/modules/filterConfig/components/case-impacted/config.d.ts +2 -0
  119. package/types/modules/filters/modules/filterConfig/components/case-priority/case-priority-filter-value-field.vue.d.ts +4 -4
  120. package/types/modules/filters/modules/filterConfig/components/case-priority/config.d.ts +2 -0
  121. package/types/modules/filters/modules/filterConfig/components/case-reaction-time/case-reaction-time-filter-value-field.vue.d.ts +3 -3
  122. package/types/modules/filters/modules/filterConfig/components/case-reporter/case-reporter-filter-value-field.vue.d.ts +4 -4
  123. package/types/modules/filters/modules/filterConfig/components/case-reporter/config.d.ts +2 -0
  124. package/types/modules/filters/modules/filterConfig/components/case-resolution-time/case-resolution-time-filter-value-field.vue.d.ts +3 -3
  125. package/types/modules/filters/modules/filterConfig/components/case-service/case-service-filter-value-field.vue.d.ts +2 -2
  126. package/types/modules/filters/modules/filterConfig/components/case-service/config.d.ts +4 -0
  127. package/types/modules/filters/modules/filterConfig/components/case-sla/case-sla-filter-value-field.vue.d.ts +4 -4
  128. package/types/modules/filters/modules/filterConfig/components/case-sla/config.d.ts +2 -0
  129. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/case-sla-condition-filter-value-field.vue.d.ts +3 -3
  130. package/types/modules/filters/modules/filterConfig/components/case-sla-condition/config.d.ts +4 -0
  131. package/types/modules/filters/modules/filterConfig/components/case-source/case-source-filter-value-field.vue.d.ts +4 -4
  132. package/types/modules/filters/modules/filterConfig/components/case-source/config.d.ts +4 -0
  133. package/types/modules/filters/modules/filterConfig/components/case-status/case-status-filter-value-field.vue.d.ts +3 -3
  134. package/types/modules/filters/modules/filterConfig/components/case-status/config.d.ts +4 -0
  135. package/types/modules/filters/modules/filterConfig/components/contact/config.d.ts +2 -0
  136. package/types/modules/filters/modules/filterConfig/components/contact/contact-filter-value-field.vue.d.ts +4 -4
  137. package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +2 -2
  138. package/types/modules/filters/modules/filterConfig/components/contact-group/index.d.ts +6 -4
  139. package/types/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue.d.ts +3 -3
  140. package/types/modules/filters/modules/filterConfig/components/contact-label/index.d.ts +5 -5
  141. package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue.d.ts +3 -3
  142. package/types/modules/filters/modules/filterConfig/components/contact-owner/index.d.ts +5 -5
  143. package/types/modules/filters/modules/filterConfig/components/created-at-from/created-at-from-filter-value-field.vue.d.ts +3 -3
  144. package/types/modules/filters/modules/filterConfig/components/created-at-to/created-at-to-filter-value-field.vue.d.ts +3 -3
  145. package/types/modules/filters/modules/filterConfig/components/gateway/config.d.ts +2 -0
  146. package/types/modules/filters/modules/filterConfig/components/gateway/gateway-filter-value-field.vue.d.ts +4 -4
  147. package/types/modules/filters/modules/filterConfig/components/grantee/config.d.ts +4 -0
  148. package/types/modules/filters/modules/filterConfig/components/grantee/grantee-filter-value-field.vue.d.ts +4 -4
  149. package/types/modules/filters/modules/filterConfig/components/hangup-cause/hangup-cause-filter-value-field.vue.d.ts +4 -4
  150. package/types/modules/filters/modules/filterConfig/components/has-attachment/has-attachment-filter-value-field.vue.d.ts +4 -4
  151. package/types/modules/filters/modules/filterConfig/components/has-file/has-file-filter-value-field.vue.d.ts +4 -4
  152. package/types/modules/filters/modules/filterConfig/components/has-rating/has-rating-filter-value-field.vue.d.ts +4 -4
  153. package/types/modules/filters/modules/filterConfig/components/has-transcription/has-transcription-filter-value-field.vue.d.ts +4 -4
  154. package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue.d.ts +3 -3
  155. package/types/modules/filters/modules/filterConfig/components/index.d.ts +60 -59
  156. package/types/modules/filters/modules/filterConfig/components/queue/index.d.ts +5 -5
  157. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +3 -3
  158. package/types/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue.d.ts +4 -4
  159. package/types/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue.d.ts +4 -4
  160. package/types/modules/filters/modules/filterConfig/components/rated-by/config.d.ts +4 -0
  161. package/types/modules/filters/modules/filterConfig/components/rated-by/rated-by-filter-value-field.vue.d.ts +4 -4
  162. package/types/modules/filters/modules/filterConfig/components/rating/rating-from-to-filter-value-field.vue.d.ts +3 -3
  163. package/types/modules/filters/modules/filterConfig/components/region/index.d.ts +5 -5
  164. package/types/modules/filters/modules/filterConfig/components/region/region-filter-value-field.vue.d.ts +3 -3
  165. package/types/modules/filters/modules/filterConfig/components/score/score-from-to-filter-value-field.vue.d.ts +3 -3
  166. package/types/modules/filters/modules/filterConfig/components/skill/index.d.ts +5 -5
  167. package/types/modules/filters/modules/filterConfig/components/skill/skill-filter-value-field.vue.d.ts +3 -3
  168. package/types/modules/filters/modules/filterConfig/components/supervisor/index.d.ts +5 -5
  169. package/types/modules/filters/modules/filterConfig/components/supervisor/supervisor-filter-value-field.vue.d.ts +3 -3
  170. package/types/modules/filters/modules/filterConfig/components/tag/tag-filter-value-field.vue.d.ts +4 -4
  171. package/types/modules/filters/modules/filterConfig/components/talk-duration/talk-duration-filter-value-field.vue.d.ts +4 -4
  172. package/types/modules/filters/modules/filterConfig/components/team/index.d.ts +5 -5
  173. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +3 -3
  174. package/types/modules/filters/modules/filterConfig/components/total-duration/total-duration-filter-value-field.vue.d.ts +4 -4
  175. package/types/modules/filters/modules/filterConfig/components/user/config.d.ts +4 -0
  176. package/types/modules/filters/modules/filterConfig/components/user/user-filter-value-field.vue.d.ts +4 -4
  177. package/types/modules/filters/modules/filterConfig/components/utilization-progress/utilization-progress-filter-value-field.vue.d.ts +4 -4
  178. package/types/modules/filters/modules/filterConfig/components/variable/variable-filter-value-field.vue.d.ts +4 -4
  179. package/types/modules/filters/modules/filterConfig/composables/booleanFilterToolkit.d.ts +2 -2
  180. package/types/modules/filters/scripts/utils.d.ts +2 -2
  181. package/types/modules/headers/createTableHeadersStore.d.ts +57 -58
  182. package/types/modules/permissions-page/stores/createPermissionsStore.d.ts +80 -68
  183. package/types/modules/persist/PersistedStorage.types.d.ts +3 -3
  184. package/types/modules/table/createTableStore.store.d.ts +78 -66
@@ -1,3 +1,4 @@
1
+ import type { WtTableSortOrder } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
1
2
  import { sortToQueryAdapter } from '@webitel/ui-sdk/scripts';
2
3
  import { SortSymbols } from '@webitel/ui-sdk/scripts/sortQueryAdapters';
3
4
  import { computed, nextTick, ref } from 'vue';
@@ -11,8 +12,6 @@ import type {
11
12
  useTableStoreConfig,
12
13
  } from '../types/tableStore.types';
13
14
 
14
- type SortSymbol = (typeof SortSymbols)[keyof typeof SortSymbols];
15
-
16
15
  interface TableHeadersStoreBodyParams {
17
16
  rawHeaders: DatalistTableHeader[];
18
17
  id: string;
@@ -34,8 +33,13 @@ export const tableHeadersStoreBody = ({
34
33
  });
35
34
 
36
35
  const sort = computed(() => {
37
- const encodeSortQuery = ({ column, order }) =>
38
- `${sortToQueryAdapter(order)}${column.field}`;
36
+ const encodeSortQuery = ({
37
+ column,
38
+ order,
39
+ }: {
40
+ column: DatalistTableHeader;
41
+ order: DatalistTableHeader['sort'];
42
+ }) => `${sortToQueryAdapter(order)}${column.field}`;
39
43
 
40
44
  const sortedCol = headers.value.find((header) => header.sort);
41
45
 
@@ -48,7 +52,7 @@ export const tableHeadersStoreBody = ({
48
52
  });
49
53
 
50
54
  const columnWidths = computed(() => {
51
- return headers.value.reduce((acc, header) => {
55
+ return headers.value.reduce<Record<string, string>>((acc, header) => {
52
56
  if (header.width) {
53
57
  acc[header.field] = header.width;
54
58
  }
@@ -60,7 +64,7 @@ export const tableHeadersStoreBody = ({
60
64
  headers.value = rawHeaders;
61
65
  };
62
66
 
63
- const updateShownHeaders = (value) => {
67
+ const updateShownHeaders = (value: DatalistTableHeader[]) => {
64
68
  headers.value = value;
65
69
  };
66
70
 
@@ -114,13 +118,17 @@ export const tableHeadersStoreBody = ({
114
118
  show: fieldsSet.has(header.field),
115
119
  }));
116
120
 
121
+ // TODO(types): placeholders — the consuming app fills in `value`/`text`
117
122
  const customHeaders = fields
118
123
  .filter((field) => !mainFieldNames.has(field))
119
- .map((field) => ({
120
- show: true,
121
- field,
122
- shouldBeInitialized: true,
123
- }));
124
+ .map(
125
+ (field) =>
126
+ ({
127
+ show: true,
128
+ field,
129
+ shouldBeInitialized: true,
130
+ }) as DatalistTableHeader,
131
+ );
124
132
 
125
133
  const headersByField = new Map(
126
134
  [
@@ -152,14 +160,14 @@ export const tableHeadersStoreBody = ({
152
160
  };
153
161
 
154
162
  const updateSort = (
155
- column,
163
+ column: DatalistTableHeader,
156
164
  options:
157
165
  | {
158
- order?: SortSymbol;
166
+ order?: WtTableSortOrder;
159
167
  }
160
- | SortSymbol = {},
168
+ | WtTableSortOrder = {},
161
169
  ) => {
162
- const getNextSortOrder = (sort) => {
170
+ const getNextSortOrder = (sort: DatalistTableHeader['sort']) => {
163
171
  switch (sort) {
164
172
  case SortSymbols.NONE:
165
173
  return SortSymbols.ASC;
@@ -172,12 +180,20 @@ export const tableHeadersStoreBody = ({
172
180
  }
173
181
  };
174
182
 
175
- const changeHeadersSort = ({ headers, sortedHeader, order }) => {
183
+ const changeHeadersSort = ({
184
+ headers,
185
+ sortedHeader,
186
+ order,
187
+ }: {
188
+ headers: DatalistTableHeader[];
189
+ sortedHeader: DatalistTableHeader;
190
+ order: WtTableSortOrder;
191
+ }) => {
176
192
  return headers.map((header) => {
177
193
  if (header.sort === undefined) return header;
178
194
 
179
195
  // reset all headers by default
180
- let newSort = null;
196
+ let newSort: WtTableSortOrder = null;
181
197
 
182
198
  if (header.field === sortedHeader.field) {
183
199
  newSort = order;
@@ -190,7 +206,7 @@ export const tableHeadersStoreBody = ({
190
206
  });
191
207
  };
192
208
 
193
- let order: SortSymbol;
209
+ let order: WtTableSortOrder;
194
210
 
195
211
  if (typeof options === 'string') {
196
212
  order = options;
@@ -273,7 +289,13 @@ export const tableHeadersStoreBody = ({
273
289
  return headers.value.find((header) => header.field === field);
274
290
  };
275
291
 
276
- const columnResize = ({ columnName, columnWidth }) => {
292
+ const columnResize = ({
293
+ columnName,
294
+ columnWidth,
295
+ }: {
296
+ columnName: string;
297
+ columnWidth: string;
298
+ }) => {
277
299
  const column = getHeaderByField(columnName);
278
300
 
279
301
  if (column) {
@@ -319,7 +341,11 @@ export const tableHeadersStoreBody = ({
319
341
  export const createTableHeadersStore = <Entity extends Identifiable>(
320
342
  namespace: string,
321
343
  config: useTableStoreConfig<Entity>,
322
- { headers: rawHeaders },
344
+ {
345
+ headers: rawHeaders,
346
+ }: {
347
+ headers: DatalistTableHeader[];
348
+ },
323
349
  ) => {
324
350
  const id = `${namespace}/headers`;
325
351
  return createDatalistStore({
@@ -61,7 +61,13 @@ onUnmounted(() => {
61
61
  });
62
62
 
63
63
  const existingGranteeIds = computed(() =>
64
- dataList.value.map((item) => item.grantee.id),
64
+ dataList.value.map(
65
+ (item: {
66
+ grantee: {
67
+ id: string;
68
+ };
69
+ }) => item.grantee.id,
70
+ ),
65
71
  );
66
72
 
67
73
  const tabContentProps = computed(() => ({
@@ -39,7 +39,10 @@ export interface PersistedPropertyConfig {
39
39
  name: string;
40
40
  value: PersistableValue;
41
41
  }) => Promise<void>,
42
- { value, name },
42
+ context: {
43
+ name: string;
44
+ value: PersistableValue;
45
+ },
43
46
  ) => Promise<void>;
44
47
  onRestore?: (
45
48
  // resolves `undefined` when no storage held a value for `name`
@@ -85,20 +85,26 @@ export const usePersistedStorage = ({
85
85
  wrap all setItemFns in one callback
86
86
  so that onStore is called only once on each value change
87
87
  */
88
- const save = async ({ name, value: storedValue }) => {
88
+ const save = async ({
89
+ name,
90
+ value: storedValue,
91
+ }: {
92
+ name: string;
93
+ value: PersistableValue;
94
+ }) => {
89
95
  setItemFns.forEach((setter) => {
90
96
  setter(name, storedValue);
91
97
  });
92
98
  };
93
99
  await onStore(save, {
94
100
  name,
95
- value,
101
+ value: value.value ?? '',
96
102
  });
97
103
  } else {
98
104
  /*
99
105
  else, perform default storing logic
100
106
  */
101
- const storedValue = value.value;
107
+ const storedValue = value.value ?? '';
102
108
  setItemFns.forEach((setter) => {
103
109
  setter(name, storedValue);
104
110
  });
@@ -10,9 +10,11 @@ export const applyStorePatch = <StoreBody extends StoreInstance>(
10
10
  store: StoreBody | Store,
11
11
  patch: Patch,
12
12
  ) => {
13
- for (const key of Object.keys(patch)) {
14
- const value = patch[key];
15
- const target = store[key];
13
+ const patchEntries = patch as Record<string, unknown>;
14
+
15
+ for (const key of Object.keys(patchEntries)) {
16
+ const value = patchEntries[key];
17
+ const target = (store as Record<string, unknown>)[key];
16
18
 
17
19
  if (isRef(target)) {
18
20
  (target as Ref<unknown>).value = isRef(value) ? unref(value) : value;