@platforma-sdk/ui-vue 1.44.5 → 1.44.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 (66) hide show
  1. package/.turbo/turbo-build.log +33 -35
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +14 -0
  4. package/dist/AgGridVue/createAgGridColDef.js +2 -3
  5. package/dist/AgGridVue/createAgGridColDef.js.map +1 -1
  6. package/dist/AgGridVue/useAgGridOptions.js +2 -3
  7. package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
  8. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +2 -3
  9. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
  10. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +2 -3
  11. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
  12. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +7 -8
  13. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +1 -1
  14. package/dist/components/PlAgDataTable/sources/focus-row.js +20 -21
  15. package/dist/components/PlAgDataTable/sources/focus-row.js.map +1 -1
  16. package/dist/components/PlAgDataTable/sources/table-source-v2.js +2 -3
  17. package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
  18. package/dist/components/PlAgDataTable/sources/table-state-v2.js +2 -3
  19. package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
  20. package/dist/components/PlAgDataTable/types.js +9 -10
  21. package/dist/components/PlAgDataTable/types.js.map +1 -1
  22. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +9 -10
  23. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +1 -1
  24. package/dist/components/PlAgRowNumHeader.vue.js +2 -3
  25. package/dist/components/PlAgRowNumHeader.vue.js.map +1 -1
  26. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +2 -3
  27. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  28. package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +2 -3
  29. package/dist/components/PlAnnotations/components/DynamicForm.vue2.js.map +1 -1
  30. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +2 -3
  31. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  32. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +9 -10
  33. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
  34. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js +2 -3
  35. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js.map +1 -1
  36. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js +2 -3
  37. package/dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js.map +1 -1
  38. package/dist/components/PlMultiSequenceAlignment/data.js +8 -9
  39. package/dist/components/PlMultiSequenceAlignment/data.js.map +1 -1
  40. package/dist/components/PlTableFilters/PlTableAddFilterV2.vue.js +2 -3
  41. package/dist/components/PlTableFilters/PlTableAddFilterV2.vue.js.map +1 -1
  42. package/dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js +2 -3
  43. package/dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js.map +1 -1
  44. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +2 -3
  45. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
  46. package/dist/components/PlTableFilters/filters-state.js +9 -10
  47. package/dist/components/PlTableFilters/filters-state.js.map +1 -1
  48. package/dist/composition/fileContent.js +0 -1
  49. package/dist/composition/fileContent.js.map +1 -1
  50. package/dist/createModel.js +2 -3
  51. package/dist/createModel.js.map +1 -1
  52. package/dist/defineApp.js +8 -9
  53. package/dist/defineApp.js.map +1 -1
  54. package/dist/internal/UpdateSerializer.js +10 -11
  55. package/dist/internal/UpdateSerializer.js.map +1 -1
  56. package/dist/internal/createAppModel.js +11 -12
  57. package/dist/internal/createAppModel.js.map +1 -1
  58. package/dist/internal/createAppV1.js +2 -3
  59. package/dist/internal/createAppV1.js.map +1 -1
  60. package/dist/internal/createAppV2.js +31 -32
  61. package/dist/internal/createAppV2.js.map +1 -1
  62. package/package.json +5 -5
  63. package/dist/lib/util/helpers/dist/parse.js +0 -24
  64. package/dist/lib/util/helpers/dist/parse.js.map +0 -1
  65. package/dist/lib/util/helpers/dist/test_timeouts.js +0 -9
  66. package/dist/lib/util/helpers/dist/test_timeouts.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.44.5 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.44.8 build /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder build --target browser-lib
5
5
 
6
6
  Building browser-lib project...
7
7
  ↳ vite.js build --config /configs/vite.browser-lib.config.js --mode production
8
8
  vite v6.3.5 building for production...
9
9
  transforming...
10
- ✓ 246 modules transformed.
10
+ ✓ 244 modules transformed.
11
11
  Export "default" of module "src/components/PlAgGridColumnManager/PlAgGridColumnManager.vue" was reexported through module "src/components/PlAgGridColumnManager/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
12
12
  Either change the import in "src/components/PlAgDataTable/PlAgDataTableV2.vue?vue&type=script&setup=true&lang.ts" to point directly to the exporting module or do not use "output.preserveModules" to ensure these modules end up in the same chunk.
13
13
  rendering chunks...
@@ -39,7 +39,6 @@ computing gzip size...
39
39
  dist/lib/util/helpers/dist/random.js  0.16 kB │ gzip: 0.16 kB │ map: 0.74 kB
40
40
  dist/_virtual/_plugin-vue_export-helper.js  0.19 kB │ gzip: 0.17 kB │ map: 0.12 kB
41
41
  dist/components/PlAgDataTable/sources/menu-items.js  0.19 kB │ gzip: 0.16 kB │ map: 0.52 kB
42
- dist/lib/util/helpers/dist/test_timeouts.js  0.20 kB │ gzip: 0.18 kB │ map: 0.51 kB
43
42
  dist/lib/util/helpers/dist/functions.js  0.20 kB │ gzip: 0.17 kB │ map: 5.26 kB
44
43
  dist/_virtual/_commonjsHelpers.js  0.20 kB │ gzip: 0.18 kB │ map: 0.10 kB
45
44
  dist/components/PlAgDataTable/sources/common.js  0.21 kB │ gzip: 0.17 kB │ map: 0.65 kB
@@ -100,7 +99,6 @@ computing gzip size...
100
99
  dist/components/PlMultiSequenceAlignment/SeqLogo.vue3.js  0.41 kB │ gzip: 0.29 kB │ map: 0.10 kB
101
100
  dist/components/BlockLayout.vue3.js  0.42 kB │ gzip: 0.31 kB │ map: 0.10 kB
102
101
  dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue3.js  0.42 kB │ gzip: 0.30 kB │ map: 0.11 kB
103
- dist/lib/util/helpers/dist/parse.js  0.42 kB │ gzip: 0.25 kB │ map: 1.95 kB
104
102
  dist/components/PlAnnotations/components/DynamicForm.vue3.js  0.42 kB │ gzip: 0.31 kB │ map: 0.10 kB
105
103
  dist/objectHash.js  0.43 kB │ gzip: 0.32 kB │ map: 1.23 kB
106
104
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/inc.js  0.44 kB │ gzip: 0.28 kB │ map: 1.10 kB
@@ -153,36 +151,36 @@ computing gzip size...
153
151
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js  1.20 kB │ gzip: 0.57 kB │ map: 2.88 kB
154
152
  dist/plugins/Monetization/RunStatus.vue2.js  1.27 kB │ gzip: 0.59 kB │ map: 2.46 kB
155
153
  dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js  1.30 kB │ gzip: 0.66 kB │ map: 1.40 kB
156
- dist/createModel.js  1.44 kB │ gzip: 0.66 kB │ map: 3.91 kB
157
- dist/components/PlAgDataTable/types.js  1.45 kB │ gzip: 0.57 kB │ map: 9.46 kB
154
+ dist/createModel.js  1.39 kB │ gzip: 0.65 kB │ map: 3.91 kB
155
+ dist/components/PlAgDataTable/types.js  1.40 kB │ gzip: 0.56 kB │ map: 9.46 kB
158
156
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js  1.55 kB │ gzip: 0.65 kB │ map: 3.99 kB
159
157
  dist/plugins/Monetization/UserCabinetCard.vue3.js  1.55 kB │ gzip: 0.77 kB │ map: 0.11 kB
158
+ dist/components/PlAgDataTable/sources/focus-row.js  1.57 kB │ gzip: 0.75 kB │ map: 2.65 kB
160
159
  dist/utils.js  1.57 kB │ gzip: 0.72 kB │ map: 3.81 kB
161
160
  dist/components/PlAgCsvExporter/export-csv.js  1.60 kB │ gzip: 0.73 kB │ map: 3.72 kB
162
- dist/components/PlAgDataTable/sources/focus-row.js  1.62 kB │ gzip: 0.77 kB │ map: 2.65 kB
161
+ dist/AgGridVue/createAgGridColDef.js  1.61 kB │ gzip: 0.72 kB │ map: 9.40 kB
163
162
  dist/aggrid.js  1.65 kB │ gzip: 0.79 kB │ map: 3.09 kB
164
- dist/AgGridVue/createAgGridColDef.js  1.66 kB │ gzip: 0.73 kB │ map: 9.40 kB
165
- dist/internal/createAppModel.js  1.78 kB │ gzip: 0.79 kB │ map: 4.81 kB
163
+ dist/internal/createAppModel.js  1.73 kB │ gzip: 0.77 kB │ map: 4.81 kB
166
164
  dist/plugins/Monetization/RunStatus.vue3.js  1.79 kB │ gzip: 0.82 kB │ map: 0.11 kB
167
- dist/internal/UpdateSerializer.js  1.92 kB │ gzip: 0.81 kB │ map: 4.63 kB
165
+ dist/internal/UpdateSerializer.js  1.86 kB │ gzip: 0.80 kB │ map: 4.63 kB
168
166
  dist/components/PlMultiSequenceAlignment/markup.js  2.02 kB │ gzip: 1.03 kB │ map: 6.58 kB
167
+ dist/defineApp.js  2.15 kB │ gzip: 0.96 kB │ map: 9.58 kB
169
168
  dist/plugins/Monetization/useInfo.js  2.18 kB │ gzip: 0.80 kB │ map: 4.32 kB
170
169
  dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js  2.20 kB │ gzip: 1.05 kB │ map: 2.83 kB
171
- dist/defineApp.js  2.20 kB │ gzip: 0.98 kB │ map: 9.58 kB
172
170
  dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue2.js  2.31 kB │ gzip: 1.06 kB │ map: 4.14 kB
173
171
  dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue.js  2.35 kB │ gzip: 0.96 kB │ map: 2.64 kB
174
172
  dist/plugins/Monetization/UserCabinetCard.vue2.js  2.36 kB │ gzip: 0.95 kB │ map: 3.49 kB
173
+ dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js  2.57 kB │ gzip: 1.16 kB │ map: 5.30 kB
175
174
  dist/components/PlTableFilters/PlTableFiltersV2.vue3.js  2.58 kB │ gzip: 0.94 kB │ map: 0.12 kB
176
- dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js  2.63 kB │ gzip: 1.17 kB │ map: 5.30 kB
175
+ dist/components/PlTableFilters/filters-state.js  2.60 kB │ gzip: 1.08 kB │ map: 7.95 kB
177
176
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/comparator.js  2.65 kB │ gzip: 0.94 kB │ map: 6.36 kB
178
- dist/components/PlTableFilters/filters-state.js  2.65 kB │ gzip: 1.09 kB │ map: 7.95 kB
179
177
  dist/node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/helpers.js  2.79 kB │ gzip: 1.21 kB │ map: 8.92 kB
180
178
  dist/components/PlAgDataTable/sources/row-number.js  3.10 kB │ gzip: 1.34 kB │ map: 8.36 kB
181
179
  dist/plugins/Monetization/LimitCard.vue3.js  3.10 kB │ gzip: 1.09 kB │ map: 0.11 kB
180
+ dist/components/PlTableFilters/PlTableAddFilterV2.vue.js  3.16 kB │ gzip: 1.27 kB │ map: 3.95 kB
181
+ dist/components/PlAgDataTable/sources/table-state-v2.js  3.18 kB │ gzip: 1.16 kB │ map: 9.94 kB
182
182
  dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js  3.21 kB │ gzip: 1.32 kB │ map: 6.15 kB
183
- dist/components/PlTableFilters/PlTableAddFilterV2.vue.js  3.22 kB │ gzip: 1.28 kB │ map: 3.95 kB
184
- dist/components/PlAgDataTable/sources/table-state-v2.js  3.24 kB │ gzip: 1.17 kB │ map: 9.94 kB
185
- dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js  3.30 kB │ gzip: 1.32 kB │ map: 3.26 kB
183
+ dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js  3.24 kB │ gzip: 1.30 kB │ map: 3.26 kB
186
184
  dist/node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/duplex.js  3.33 kB │ gzip: 1.22 kB │ map: 10.70 kB
187
185
  dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js  3.35 kB │ gzip: 1.42 kB │ map: 2.84 kB
188
186
  dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js  3.51 kB │ gzip: 1.27 kB │ map: 0.13 kB
@@ -192,38 +190,38 @@ computing gzip size...
192
190
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js  3.67 kB │ gzip: 1.01 kB │ map: 5.45 kB
193
191
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js  3.84 kB │ gzip: 1.52 kB │ map: 4.99 kB
194
192
  dist/plugins/Monetization/LimitCard.vue2.js  3.84 kB │ gzip: 1.15 kB │ map: 7.17 kB
195
- dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js  3.95 kB │ gzip: 1.40 kB │ map: 5.48 kB
193
+ dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js  3.89 kB │ gzip: 1.38 kB │ map: 5.48 kB
196
194
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js  4.03 kB │ gzip: 1.23 kB │ map: 12.92 kB
197
- dist/components/PlAnnotations/components/FilterSidebar.vue2.js  4.56 kB │ gzip: 1.68 kB │ map: 5.97 kB
198
- dist/components/PlAnnotations/components/DynamicForm.vue2.js  4.58 kB │ gzip: 1.42 kB │ map: 6.96 kB
195
+ dist/components/PlAnnotations/components/FilterSidebar.vue2.js  4.50 kB │ gzip: 1.67 kB │ map: 5.97 kB
196
+ dist/components/PlAnnotations/components/DynamicForm.vue2.js  4.52 kB │ gzip: 1.41 kB │ map: 6.96 kB
199
197
  dist/plugins/Monetization/MonetizationSidebar.vue.js  4.70 kB │ gzip: 1.74 kB │ map: 4.91 kB
200
198
  dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js  4.71 kB │ gzip: 1.66 kB │ map: 9.69 kB
201
199
  dist/components/PlMultiSequenceAlignment/chemical-properties.js  4.75 kB │ gzip: 1.67 kB │ map: 11.78 kB
202
200
  dist/components/BlockLayout.vue2.js  4.96 kB │ gzip: 1.83 kB │ map: 2.96 kB
203
201
  dist/components/PlAnnotations/components/FilterSidebar.vue3.js  5.48 kB │ gzip: 1.59 kB │ map: 0.11 kB
204
202
  dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js  5.67 kB │ gzip: 1.67 kB │ map: 0.11 kB
205
- dist/internal/createAppV1.js  5.81 kB │ gzip: 1.85 kB │ map: 15.33 kB
206
- dist/composition/fileContent.js  5.83 kB │ gzip: 1.96 kB │ map: 14.16 kB
207
- dist/components/PlTableFilters/PlTableFiltersV2.vue2.js  6.15 kB │ gzip: 2.03 kB │ map: 9.27 kB
203
+ dist/internal/createAppV1.js  5.76 kB │ gzip: 1.84 kB │ map: 15.33 kB
204
+ dist/composition/fileContent.js  5.78 kB │ gzip: 1.95 kB │ map: 14.16 kB
205
+ dist/components/PlTableFilters/PlTableFiltersV2.vue2.js  6.10 kB │ gzip: 2.02 kB │ map: 9.27 kB
208
206
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js  6.70 kB │ gzip: 1.86 kB │ map: 15.20 kB
209
- dist/internal/createAppV2.js  6.99 kB │ gzip: 2.44 kB │ map: 19.37 kB
210
- dist/components/PlAgDataTable/sources/table-source-v2.js  7.38 kB │ gzip: 2.68 kB │ map: 22.27 kB
211
- dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js  7.41 kB │ gzip: 1.62 kB │ map: 6.15 kB
207
+ dist/internal/createAppV2.js  6.93 kB │ gzip: 2.43 kB │ map: 19.37 kB
208
+ dist/components/PlAgDataTable/sources/table-source-v2.js  7.32 kB │ gzip: 2.67 kB │ map: 22.27 kB
209
+ dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js  7.35 kB │ gzip: 1.61 kB │ map: 6.15 kB
210
+ dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js  7.69 kB │ gzip: 2.67 kB │ map: 13.49 kB
212
211
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js  7.70 kB │ gzip: 2.49 kB │ map: 25.65 kB
213
- dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js  7.74 kB │ gzip: 2.69 kB │ map: 13.49 kB
214
- dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js  8.18 kB │ gzip: 1.96 kB │ map: 7.84 kB
212
+ dist/components/PlMultiSequenceAlignment/Toolbar.vue2.js  8.13 kB │ gzip: 1.95 kB │ map: 7.83 kB
215
213
  dist/node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/module/core.js  8.44 kB │ gzip: 2.53 kB │ map: 29.29 kB
216
214
  dist/components/PlTableFilters/filters_logic.js  9.18 kB │ gzip: 2.18 kB │ map: 20.22 kB
217
- dist/components/PlMultiSequenceAlignment/data.js  11.32 kB │ gzip: 3.64 kB │ map: 33.77 kB
215
+ dist/components/PlMultiSequenceAlignment/data.js  11.26 kB │ gzip: 3.62 kB │ map: 33.76 kB
218
216
  dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js  35.48 kB │ gzip: 26.70 kB │ map: 0.11 kB
219
217
  dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js  41.43 kB │ gzip: 30.91 kB │ map: 0.12 kB
220
218
  dist/index.js  42.80 kB │ gzip: 28.96 kB │ map: 0.13 kB
221
- dist/components/PlAgDataTable/PlAgRowCount.vue.js  44.01 kB │ gzip: 29.06 kB │ map: 2.74 kB
222
- dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js  44.39 kB │ gzip: 29.30 kB │ map: 2.47 kB
223
- dist/components/PlAgRowNumHeader.vue.js  44.67 kB │ gzip: 29.30 kB │ map: 3.70 kB
224
- dist/AgGridVue/useAgGridOptions.js  49.30 kB │ gzip: 30.16 kB │ map: 16.35 kB
225
- dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js  50.39 kB │ gzip: 31.05 kB │ map: 33.70 kB
226
- [vite:dts] Declaration files built in 8311ms.
219
+ dist/components/PlAgDataTable/PlAgRowCount.vue.js  43.95 kB │ gzip: 29.03 kB │ map: 2.74 kB
220
+ dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js  44.34 kB │ gzip: 29.27 kB │ map: 2.47 kB
221
+ dist/components/PlAgRowNumHeader.vue.js  44.61 kB │ gzip: 29.27 kB │ map: 3.70 kB
222
+ dist/AgGridVue/useAgGridOptions.js  49.25 kB │ gzip: 30.14 kB │ map: 16.35 kB
223
+ dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js  50.33 kB │ gzip: 31.04 kB │ map: 33.70 kB
224
+ [vite:dts] Declaration files built in 12375ms.
227
225
 
228
- ✓ built in 11.11s
226
+ ✓ built in 15.21s
229
227
  Build completed successfully
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.44.5 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.44.8 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder types --target browser-lib
5
5
 
6
6
  ↳ vue-tsc.js --noEmit --project ./tsconfig.json
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.44.8
4
+
5
+ ### Patch Changes
6
+
7
+ - @platforma-sdk/model@1.44.8
8
+ - @milaboratories/uikit@2.4.27
9
+
10
+ ## 1.44.6
11
+
12
+ ### Patch Changes
13
+
14
+ - @milaboratories/uikit@2.4.26
15
+ - @platforma-sdk/model@1.44.5
16
+
3
17
  ## 1.44.5
4
18
 
5
19
  ### Patch Changes
@@ -1,6 +1,5 @@
1
1
  import l from "../components/PlAgCellProgress/PlAgCellProgress.vue.js";
2
2
  import { tapIf as a } from "../lib/util/helpers/dist/utils.js";
3
- import "../lib/util/helpers/dist/test_timeouts.js";
4
3
  import c from "../components/PlAgColumnHeader/PlAgColumnHeader.vue.js";
5
4
  import u from "../components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js";
6
5
  const p = {
@@ -35,12 +34,12 @@ function m(t) {
35
34
  };
36
35
  }
37
36
  }
38
- function y(t) {
37
+ function _(t) {
39
38
  return m(t), t.noGutters && (t.cellStyle = Object.assign({}, t.cellStyle ?? {}, s())), t.headerComponentParams && (t.headerComponent = c), t.textWithButton && (t.cellRenderer = u, typeof t.textWithButton != "boolean" ? t.cellRendererParams = t.textWithButton : t.cellRendererParams = {
40
39
  invokeRowsOnDoubleClick: !0
41
40
  }), delete t.textWithButton, delete t.progress, delete t.noGutters, t;
42
41
  }
43
42
  export {
44
- y as createAgGridColDef
43
+ _ as createAgGridColDef
45
44
  };
46
45
  //# sourceMappingURL=createAgGridColDef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAgGridColDef.js","sources":["../../src/AgGridVue/createAgGridColDef.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColDef, ICellRendererParams } from 'ag-grid-enterprise';\nimport { PlAgCellProgress } from '../components/PlAgCellProgress';\nimport type { MaskIconName16, PlProgressCellProps } from '@milaboratories/uikit';\nimport { tapIf } from '@milaboratories/helpers';\nimport type { PlAgHeaderComponentParams } from '../components/PlAgColumnHeader';\nimport { PlAgColumnHeader } from '../components/PlAgColumnHeader';\nimport { PlAgTextAndButtonCell } from '../components/PlAgTextAndButtonCell';\n\n/**\n * Represents the available progress statuses for a cell.\n */\ntype ProgressStatus = 'not_started' | 'running' | 'done';\n\n/**\n * Human-readable labels for each {@link ProgressStatus}.\n */\nconst progressStatusLabels: Record<ProgressStatus, string> = {\n not_started: 'Not Started',\n running: 'Running',\n done: 'Done',\n};\n\n/**\n * Defines the configuration for rendering a progress overlay in a grid cell.\n *\n * When provided, a progress overlay will be rendered. If the value is\n * `undefined`, no progress overlay is shown.\n */\nexport type ColDefProgress = {\n /**\n * The progress status which influences default text and styling:\n * - `'not_started'`: Typically renders gray text without a progress bar.\n * - `'running'`: Indicates an active progress state.\n * - `'done'`: Implies completion (commonly rendered as 100%).\n */\n status: ProgressStatus;\n /**\n * A number (or numeric string) between 0 and 100 that indicates progress.\n * If omitted or invalid, it implies an infinite or indeterminate progress state\n */\n percent?: number | string;\n /**\n * The main label displayed on the left side of the cell.\n */\n text?: string;\n /**\n * Additional text, often used to display the percentage by default.\n */\n suffix?: string;\n /**\n * If provided, this message takes precedence over `text` to indicate an error.\n */\n error?: string;\n} | undefined;\n\n/**\n * Callback function type to dynamically generate a {@link ColDefProgress} configuration\n * for a cell based on its rendering parameters.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n *\n * @param cellData - The parameters provided by AG Grid's cell renderer.\n * @returns A {@link ColDefProgress} object to configure the progress overlay,\n * or `undefined` if no progress overlay should be rendered.\n */\nexport type ColDefProgressCallback<TData = any, TValue = any> = (\n value: TValue,\n cellData: ICellRendererParams<TData, TValue>\n) => ColDefProgress;\n\n/**\n * Extended AG Grid column definition that supports additional properties for\n * progress overlays and layout customization.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n *\n * @property progress - An optional callback to provide progress overlay configuration.\n * @property noGutters - If `true`, removes padding from the cell.\n */\nexport interface ColDefExtended<TData, TValue = any> extends ColDef<TData, TValue> {\n progress?: ColDefProgressCallback<TData, TValue>;\n noGutters?: boolean;\n headerComponentParams?: PlAgHeaderComponentParams;\n textWithButton?: true | {\n /**\n * Button icon MaskIconName16\n */\n icon?: MaskIconName16;\n /**\n * Button label\n */\n btnLabel?: string;\n /**\n * If invokeRowsOnDoubleClick = true, clicking a button inside the row\n * triggers the doubleClick event for the entire row. In this case,\n * the handler passed to the component is not called, even if it is defined.\n *\n * If invokeRowsOnDoubleClick = false, the doubleClick event for the row\n * is not triggered, but the provided handler will be called, receiving\n * the ICellRendererParams as an argument.\n */\n invokeRowsOnDoubleClick?: boolean;\n /**\n * plHandler parameter is a click handler that is invoked when\n * the invokeRowsOnDoubleClick property is set to false.\n */\n onClick?: (params: ICellRendererParams) => void;\n };\n}\n\n/**\n * Utility type to infer the type of a specific property key from a {@link ColDefExtended}. Maybe not useful\n */\nexport type InferColDefKey<TData, TValue, K extends keyof ColDefExtended<TData, TValue>> = ColDefExtended<TData, TValue>[K];\n\n/**\n * Returns a style object that removes horizontal and vertical padding from an AG Grid cell.\n */\nfunction noGuttersStyle() {\n return {\n '--ag-cell-horizontal-padding': '0px',\n '--ag-cell-vertical-padding': '0px',\n };\n}\n\n/**\n * Creates the configuration object for a progress cell renderer component.\n *\n * @param params - The properties for the progress cell component, conforming to {@link PlProgressCellProps}.\n * @returns An object containing the progress component and its parameters.\n */\nfunction createProgressComponent(params: PlProgressCellProps) {\n return {\n component: PlAgCellProgress,\n params,\n };\n}\n\n/**\n * Enhances the given column definition to support a progress overlay if a progress callback is provided.\n *\n * This function modifies the column definition by:\n * - Merging no-gutters styles into the cell style.\n * - Overriding the `cellRendererSelector` to return a progress component when a valid progress configuration is present.\n *\n * @typeParam TData - The type of the row data.\n * @param def - The extended column definition to be augmented.\n */\nfunction handleProgress<TData>(def: ColDefExtended<TData>) {\n if (def.progress) {\n const progress = def.progress;\n\n const cellRendererSelector = def.cellRendererSelector;\n\n // Ensure no padding in the cell when a progress overlay is rendered.\n def.cellStyle = Object.assign({}, def.cellStyle ?? {}, noGuttersStyle());\n\n def.cellRendererSelector = (cellData) => {\n const pt = progress(cellData.value, cellData);\n\n if (!pt) {\n return cellRendererSelector?.(cellData);\n }\n\n return createProgressComponent({\n progress: tapIf(Number(pt.percent), (n) => Number.isFinite(n) ? (n < 0 ? 0 : n) : undefined),\n progressString: pt.suffix ?? (pt.status === 'running' ? `${pt.percent ?? 0}%` : ''),\n step: pt.text ?? progressStatusLabels[pt.status],\n stage: pt.status,\n error: pt.error,\n });\n };\n }\n}\n\n/**\n * Creates an AG Grid column definition with extended features such as progress overlays and gutter removal.\n *\n * This function processes an extended column definition by:\n * - Applying progress rendering logic via {@link handleProgress} if a progress callback is provided.\n * - Merging no-gutters styles if the `noGutters` flag is set.\n * - Removing the internal properties (`progress` and `noGutters`) from the final definition.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n * @param def - The extended column definition containing custom properties.\n * @returns The processed column definition ready for use with AG Grid.\n */\nexport function createAgGridColDef<TData, TValue = any>(def: ColDefExtended<TData, TValue>): ColDef<TData, TValue> {\n handleProgress(def);\n\n if (def.noGutters) {\n def.cellStyle = Object.assign({}, def.cellStyle ?? {}, noGuttersStyle());\n }\n\n if (def.headerComponentParams) {\n def.headerComponent = PlAgColumnHeader;\n }\n\n if (def.textWithButton) {\n def.cellRenderer = PlAgTextAndButtonCell;\n if (typeof def.textWithButton !== 'boolean') {\n def.cellRendererParams = def.textWithButton;\n } else {\n def.cellRendererParams = {\n invokeRowsOnDoubleClick: true,\n };\n }\n }\n\n delete def.textWithButton;\n\n delete def.progress;\n\n delete def.noGutters;\n\n return def;\n}\n"],"names":["progressStatusLabels","noGuttersStyle","createProgressComponent","params","PlAgCellProgress","handleProgress","def","progress","cellRendererSelector","cellData","pt","tapIf","n","createAgGridColDef","PlAgColumnHeader","PlAgTextAndButtonCell"],"mappings":";;;;;AAiBA,MAAMA,IAAuD;AAAA,EAC3D,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AACR;AAoGA,SAASC,IAAiB;AACxB,SAAO;AAAA,IACL,gCAAgC;AAAA,IAChC,8BAA8B;AAAA,EAAA;AAElC;AAQA,SAASC,EAAwBC,GAA6B;AAC5D,SAAO;AAAA,IACL,WAAWC;AAAAA,IACX,QAAAD;AAAA,EAAA;AAEJ;AAYA,SAASE,EAAsBC,GAA4B;AACzD,MAAIA,EAAI,UAAU;AAChB,UAAMC,IAAWD,EAAI,UAEfE,IAAuBF,EAAI;AAGjC,IAAAA,EAAI,YAAY,OAAO,OAAO,CAAA,GAAIA,EAAI,aAAa,IAAIL,GAAgB,GAEvEK,EAAI,uBAAuB,CAACG,MAAa;AACvC,YAAMC,IAAKH,EAASE,EAAS,OAAOA,CAAQ;AAE5C,aAAKC,IAIER,EAAwB;AAAA,QAC7B,UAAUS,EAAM,OAAOD,EAAG,OAAO,GAAG,CAACE,MAAM,OAAO,SAASA,CAAC,IAAKA,IAAI,IAAI,IAAIA,IAAK,MAAS;AAAA,QAC3F,gBAAgBF,EAAG,WAAWA,EAAG,WAAW,YAAY,GAAGA,EAAG,WAAW,CAAC,MAAM;AAAA,QAChF,MAAMA,EAAG,QAAQV,EAAqBU,EAAG,MAAM;AAAA,QAC/C,OAAOA,EAAG;AAAA,QACV,OAAOA,EAAG;AAAA,MAAA,CACX,IATQF,KAAA,gBAAAA,EAAuBC;AAAA,IAUlC;AAAA,EACF;AACF;AAeO,SAASI,EAAwCP,GAA2D;AACjH,SAAAD,EAAeC,CAAG,GAEdA,EAAI,cACNA,EAAI,YAAY,OAAO,OAAO,CAAA,GAAIA,EAAI,aAAa,IAAIL,GAAgB,IAGrEK,EAAI,0BACNA,EAAI,kBAAkBQ,IAGpBR,EAAI,mBACNA,EAAI,eAAeS,GACf,OAAOT,EAAI,kBAAmB,YAChCA,EAAI,qBAAqBA,EAAI,iBAE7BA,EAAI,qBAAqB;AAAA,IACvB,yBAAyB;AAAA,EAAA,IAK/B,OAAOA,EAAI,gBAEX,OAAOA,EAAI,UAEX,OAAOA,EAAI,WAEJA;AACT;"}
1
+ {"version":3,"file":"createAgGridColDef.js","sources":["../../src/AgGridVue/createAgGridColDef.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColDef, ICellRendererParams } from 'ag-grid-enterprise';\nimport { PlAgCellProgress } from '../components/PlAgCellProgress';\nimport type { MaskIconName16, PlProgressCellProps } from '@milaboratories/uikit';\nimport { tapIf } from '@milaboratories/helpers';\nimport type { PlAgHeaderComponentParams } from '../components/PlAgColumnHeader';\nimport { PlAgColumnHeader } from '../components/PlAgColumnHeader';\nimport { PlAgTextAndButtonCell } from '../components/PlAgTextAndButtonCell';\n\n/**\n * Represents the available progress statuses for a cell.\n */\ntype ProgressStatus = 'not_started' | 'running' | 'done';\n\n/**\n * Human-readable labels for each {@link ProgressStatus}.\n */\nconst progressStatusLabels: Record<ProgressStatus, string> = {\n not_started: 'Not Started',\n running: 'Running',\n done: 'Done',\n};\n\n/**\n * Defines the configuration for rendering a progress overlay in a grid cell.\n *\n * When provided, a progress overlay will be rendered. If the value is\n * `undefined`, no progress overlay is shown.\n */\nexport type ColDefProgress = {\n /**\n * The progress status which influences default text and styling:\n * - `'not_started'`: Typically renders gray text without a progress bar.\n * - `'running'`: Indicates an active progress state.\n * - `'done'`: Implies completion (commonly rendered as 100%).\n */\n status: ProgressStatus;\n /**\n * A number (or numeric string) between 0 and 100 that indicates progress.\n * If omitted or invalid, it implies an infinite or indeterminate progress state\n */\n percent?: number | string;\n /**\n * The main label displayed on the left side of the cell.\n */\n text?: string;\n /**\n * Additional text, often used to display the percentage by default.\n */\n suffix?: string;\n /**\n * If provided, this message takes precedence over `text` to indicate an error.\n */\n error?: string;\n} | undefined;\n\n/**\n * Callback function type to dynamically generate a {@link ColDefProgress} configuration\n * for a cell based on its rendering parameters.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n *\n * @param cellData - The parameters provided by AG Grid's cell renderer.\n * @returns A {@link ColDefProgress} object to configure the progress overlay,\n * or `undefined` if no progress overlay should be rendered.\n */\nexport type ColDefProgressCallback<TData = any, TValue = any> = (\n value: TValue,\n cellData: ICellRendererParams<TData, TValue>\n) => ColDefProgress;\n\n/**\n * Extended AG Grid column definition that supports additional properties for\n * progress overlays and layout customization.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n *\n * @property progress - An optional callback to provide progress overlay configuration.\n * @property noGutters - If `true`, removes padding from the cell.\n */\nexport interface ColDefExtended<TData, TValue = any> extends ColDef<TData, TValue> {\n progress?: ColDefProgressCallback<TData, TValue>;\n noGutters?: boolean;\n headerComponentParams?: PlAgHeaderComponentParams;\n textWithButton?: true | {\n /**\n * Button icon MaskIconName16\n */\n icon?: MaskIconName16;\n /**\n * Button label\n */\n btnLabel?: string;\n /**\n * If invokeRowsOnDoubleClick = true, clicking a button inside the row\n * triggers the doubleClick event for the entire row. In this case,\n * the handler passed to the component is not called, even if it is defined.\n *\n * If invokeRowsOnDoubleClick = false, the doubleClick event for the row\n * is not triggered, but the provided handler will be called, receiving\n * the ICellRendererParams as an argument.\n */\n invokeRowsOnDoubleClick?: boolean;\n /**\n * plHandler parameter is a click handler that is invoked when\n * the invokeRowsOnDoubleClick property is set to false.\n */\n onClick?: (params: ICellRendererParams) => void;\n };\n}\n\n/**\n * Utility type to infer the type of a specific property key from a {@link ColDefExtended}. Maybe not useful\n */\nexport type InferColDefKey<TData, TValue, K extends keyof ColDefExtended<TData, TValue>> = ColDefExtended<TData, TValue>[K];\n\n/**\n * Returns a style object that removes horizontal and vertical padding from an AG Grid cell.\n */\nfunction noGuttersStyle() {\n return {\n '--ag-cell-horizontal-padding': '0px',\n '--ag-cell-vertical-padding': '0px',\n };\n}\n\n/**\n * Creates the configuration object for a progress cell renderer component.\n *\n * @param params - The properties for the progress cell component, conforming to {@link PlProgressCellProps}.\n * @returns An object containing the progress component and its parameters.\n */\nfunction createProgressComponent(params: PlProgressCellProps) {\n return {\n component: PlAgCellProgress,\n params,\n };\n}\n\n/**\n * Enhances the given column definition to support a progress overlay if a progress callback is provided.\n *\n * This function modifies the column definition by:\n * - Merging no-gutters styles into the cell style.\n * - Overriding the `cellRendererSelector` to return a progress component when a valid progress configuration is present.\n *\n * @typeParam TData - The type of the row data.\n * @param def - The extended column definition to be augmented.\n */\nfunction handleProgress<TData>(def: ColDefExtended<TData>) {\n if (def.progress) {\n const progress = def.progress;\n\n const cellRendererSelector = def.cellRendererSelector;\n\n // Ensure no padding in the cell when a progress overlay is rendered.\n def.cellStyle = Object.assign({}, def.cellStyle ?? {}, noGuttersStyle());\n\n def.cellRendererSelector = (cellData) => {\n const pt = progress(cellData.value, cellData);\n\n if (!pt) {\n return cellRendererSelector?.(cellData);\n }\n\n return createProgressComponent({\n progress: tapIf(Number(pt.percent), (n) => Number.isFinite(n) ? (n < 0 ? 0 : n) : undefined),\n progressString: pt.suffix ?? (pt.status === 'running' ? `${pt.percent ?? 0}%` : ''),\n step: pt.text ?? progressStatusLabels[pt.status],\n stage: pt.status,\n error: pt.error,\n });\n };\n }\n}\n\n/**\n * Creates an AG Grid column definition with extended features such as progress overlays and gutter removal.\n *\n * This function processes an extended column definition by:\n * - Applying progress rendering logic via {@link handleProgress} if a progress callback is provided.\n * - Merging no-gutters styles if the `noGutters` flag is set.\n * - Removing the internal properties (`progress` and `noGutters`) from the final definition.\n *\n * @typeParam TData - The type of the row data.\n * @typeParam TValue - The type of the cell value.\n * @param def - The extended column definition containing custom properties.\n * @returns The processed column definition ready for use with AG Grid.\n */\nexport function createAgGridColDef<TData, TValue = any>(def: ColDefExtended<TData, TValue>): ColDef<TData, TValue> {\n handleProgress(def);\n\n if (def.noGutters) {\n def.cellStyle = Object.assign({}, def.cellStyle ?? {}, noGuttersStyle());\n }\n\n if (def.headerComponentParams) {\n def.headerComponent = PlAgColumnHeader;\n }\n\n if (def.textWithButton) {\n def.cellRenderer = PlAgTextAndButtonCell;\n if (typeof def.textWithButton !== 'boolean') {\n def.cellRendererParams = def.textWithButton;\n } else {\n def.cellRendererParams = {\n invokeRowsOnDoubleClick: true,\n };\n }\n }\n\n delete def.textWithButton;\n\n delete def.progress;\n\n delete def.noGutters;\n\n return def;\n}\n"],"names":["progressStatusLabels","noGuttersStyle","createProgressComponent","params","PlAgCellProgress","handleProgress","def","progress","cellRendererSelector","cellData","pt","tapIf","n","createAgGridColDef","PlAgColumnHeader","PlAgTextAndButtonCell"],"mappings":";;;;AAiBA,MAAMA,IAAuD;AAAA,EAC3D,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AACR;AAoGA,SAASC,IAAiB;AACxB,SAAO;AAAA,IACL,gCAAgC;AAAA,IAChC,8BAA8B;AAAA,EAAA;AAElC;AAQA,SAASC,EAAwBC,GAA6B;AAC5D,SAAO;AAAA,IACL,WAAWC;AAAAA,IACX,QAAAD;AAAA,EAAA;AAEJ;AAYA,SAASE,EAAsBC,GAA4B;AACzD,MAAIA,EAAI,UAAU;AAChB,UAAMC,IAAWD,EAAI,UAEfE,IAAuBF,EAAI;AAGjC,IAAAA,EAAI,YAAY,OAAO,OAAO,CAAA,GAAIA,EAAI,aAAa,IAAIL,GAAgB,GAEvEK,EAAI,uBAAuB,CAACG,MAAa;AACvC,YAAMC,IAAKH,EAASE,EAAS,OAAOA,CAAQ;AAE5C,aAAKC,IAIER,EAAwB;AAAA,QAC7B,UAAUS,EAAM,OAAOD,EAAG,OAAO,GAAG,CAACE,MAAM,OAAO,SAASA,CAAC,IAAKA,IAAI,IAAI,IAAIA,IAAK,MAAS;AAAA,QAC3F,gBAAgBF,EAAG,WAAWA,EAAG,WAAW,YAAY,GAAGA,EAAG,WAAW,CAAC,MAAM;AAAA,QAChF,MAAMA,EAAG,QAAQV,EAAqBU,EAAG,MAAM;AAAA,QAC/C,OAAOA,EAAG;AAAA,QACV,OAAOA,EAAG;AAAA,MAAA,CACX,IATQF,KAAA,gBAAAA,EAAuBC;AAAA,IAUlC;AAAA,EACF;AACF;AAeO,SAASI,EAAwCP,GAA2D;AACjH,SAAAD,EAAeC,CAAG,GAEdA,EAAI,cACNA,EAAI,YAAY,OAAO,OAAO,CAAA,GAAIA,EAAI,aAAa,IAAIL,GAAgB,IAGrEK,EAAI,0BACNA,EAAI,kBAAkBQ,IAGpBR,EAAI,mBACNA,EAAI,eAAeS,GACf,OAAOT,EAAI,kBAAmB,YAChCA,EAAI,qBAAqBA,EAAI,iBAE7BA,EAAI,qBAAqB;AAAA,IACvB,yBAAyB;AAAA,EAAA,IAK/B,OAAOA,EAAI,gBAEX,OAAOA,EAAI,UAEX,OAAOA,EAAI,WAEJA;AACT;"}
@@ -14,7 +14,6 @@ var d = (r, t, e) => t.has(r) || c("Cannot " + e);
14
14
  var i = (r, t, e) => (d(r, t, "read from private field"), e ? e.call(r) : t.get(r)), g = (r, t, e) => t.has(r) ? c("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), h = (r, t, e, a) => (d(r, t, "write to private field"), a ? a.call(r, e) : t.set(r, e), e);
15
15
  import { shallowRef as C, computed as y, watch as f } from "vue";
16
16
  import { AgGridTheme as T } from "../aggrid.js";
17
- import "../lib/util/helpers/dist/test_timeouts.js";
18
17
  import "@platforma-sdk/model";
19
18
  import "ag-grid-vue3";
20
19
  import "@milaboratories/uikit";
@@ -196,7 +195,7 @@ class R {
196
195
  }
197
196
  }
198
197
  o = new WeakMap();
199
- function ut(r) {
198
+ function mt(r) {
200
199
  const t = C(), e = y(() => {
201
200
  var u;
202
201
  const s = {
@@ -250,6 +249,6 @@ function ut(r) {
250
249
  }, { deep: !0, immediate: !0 }), { gridOptions: a, gridApi: t };
251
250
  }
252
251
  export {
253
- ut as useAgGridOptions
252
+ mt as useAgGridOptions
254
253
  };
255
254
  //# sourceMappingURL=useAgGridOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAgGridOptions.js","sources":["../../src/AgGridVue/useAgGridOptions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColGroupDef, GridApi, GridOptions, GridReadyEvent, ICellRendererParams, RowSelectionOptions, ValueSetterParams } from 'ag-grid-enterprise';\nimport type { Component } from 'vue';\nimport { computed, shallowRef, watch } from 'vue';\nimport { AgGridTheme } from '../aggrid';\nimport { autoSizeRowNumberColumn, makeRowNumberColDef, PlAgOverlayLoading, type PlAgOverlayLoadingParams } from '../components/PlAgDataTable';\nimport { PlAgOverlayNoRows } from '../components/PlAgDataTable';\nimport { createAgGridColDef, type ColDefExtended } from './createAgGridColDef';\nimport { whenever } from '@vueuse/core';\nimport { PlAgCellFile } from '../components/PlAgCellFile';\nimport { PlAgChartStackedBarCell } from '../components/PlAgChartStackedBarCell';\nimport { PlAgChartHistogramCell } from '../components/PlAgChartHistogramCell';\nimport type { ImportFileHandle } from '@platforma-sdk/model';\nimport type { ImportProgress } from '@platforma-sdk/model';\nimport { PlAgCellStatusTag } from '../components/PlAgCellStatusTag';\ninterface GridOptionsExtended<TData = any> extends Omit<GridOptions<TData>, 'columnDefs' | 'loadingOverlayComponentParams'> {\n /**\n * Array of Column / Column Group definitions.\n */\n columnDefs?: (ColDefExtended<TData> | ColGroupDef<TData>)[] | null;\n /**\n * Show row numbers column\n */\n rowNumbersColumn?: boolean;\n /**\n * Loading overlay text\n */\n loadingText?: string;\n /**\n * Not ready overlay (No datasource). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"No datasource\" by default\n */\n notReadyText?: string;\n /**\n * Use \"transparent\" to make table headers visible below the loading layer (experimental)\n */\n loadingOverlayType?: 'transparent' | undefined;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText, loadingOverlayType instead\n */\n loadingOverlayComponentParams?: never;\n}\n\n// @TODO (super simple builder for now)\nclass Builder<TData> {\n #options: GridOptionsExtended<TData> = {};\n\n public options(options: GridOptionsExtended<TData>) {\n this.#options = Object.assign({}, this.#options, options);\n return this;\n }\n\n private get columnDefs() {\n return this.#options.columnDefs ?? [];\n }\n\n /**\n * Set default column definition\n * @param def - column definition\n * @returns this\n */\n public setDefaultColDef(def: ColDefExtended<TData>) {\n this.#options.defaultColDef = def;\n return this;\n }\n\n /**\n * Show loading overlay\n * @param loading\n * @returns this\n */\n public setLoading(loading?: boolean) {\n this.#options.loading = loading;\n return this;\n }\n\n /**\n * Set loading overlay custom text (default is \"Loading\")\n * @param loadingText\n * @returns this\n */\n public setLoadingText(loadingText?: string) {\n this.#options.loadingText = loadingText;\n return this;\n }\n\n /**\n * Show \"not ready overlay\n * @param notReady\n * @returns this\n */\n public setNotReady(notReady?: boolean) {\n this.#options.notReady = notReady;\n return this;\n }\n\n /**\n * Set loading overlay type\n * @param type\n * @returns this\n */\n public setLoadingOverlayType(type?: 'transparent') {\n this.#options.loadingOverlayType = type;\n return this;\n }\n\n /**\n * Set \"not ready\" text\n * @param notReadyText\n * @returns this\n */\n public setNotReadyText(notReadyText?: string) {\n this.#options.notReadyText = notReadyText;\n return this;\n }\n\n /**\n * Set \"no rows\" text when there are no rows (default is \"Empty\")\n * @param noRowsText\n * @returns this\n */\n public setNoRowsText(noRowsText?: string) {\n this.#options.noRowsText = noRowsText;\n return this;\n }\n\n /**\n * Set row selection options\n * @param rowSelection\n * @returns this\n */\n public setRowSelection(rowSelection?: RowSelectionOptions) {\n this.#options.rowSelection = rowSelection;\n return this;\n }\n\n /**\n * Set row data\n * @param rowData\n * @returns this\n */\n public setRowData(rowData?: TData[]) {\n this.#options.rowData = rowData;\n return this;\n }\n\n /**\n * Set components\n * @param components\n * @returns this\n */\n public setComponents(components?: Record<string, Component>) {\n this.#options.components = components;\n return this;\n }\n\n /**\n * Set an option\n * @param key - option key\n * @param value - option value\n * @returns this\n */\n public setOption<K extends keyof GridOptionsExtended<TData>>(key: K, value: GridOptionsExtended<TData>[K]) {\n this.#options[key] = value;\n return this;\n }\n\n /**\n * Add an extended column definition\n * @param def - column definition\n * @returns this\n */\n public column<TValue = any>(def: ColDefExtended<TData, TValue>) {\n this.#options.columnDefs = [...this.columnDefs, def];\n return this;\n }\n\n /**\n * Show row numbers column\n * @param show - show or hide row numbers column\n * @returns this\n */\n public columnRowNumbers(show: boolean = true) {\n this.#options.rowNumbersColumn = show;\n return this;\n }\n\n /**\n * Add a file input column\n * @param def - column definition\n * @param cb - callback to set params for the file input cell renderer\n * @returns this\n */\n public columnFileInput<TValue = any>(\n def: ColDefExtended<TData, TValue> & {\n /**\n * Allowed file extensions (like ['fastq.gz'])\n */\n extensions?: string[];\n /**\n * The resolveProgress function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveProgress, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveProgress: (cellData) => {\n * const progresses = app.progresses;\n * if (!cellData.value.importFileHandle) return undefined;\n * else return progresses[cellData.value.importFileHandle];\n * }\n * }\n */\n resolveImportProgress?: (cellData: ICellRendererParams<TData, TValue>) => ImportProgress | undefined;\n\n /**\n * The resolveFileHandle function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveFileHandle, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveFileHandle: (cellData) => {\n * return cellData.value.importFileHandle;\n * }\n * }\n */\n resolveImportFileHandle?: (cellData: ICellRendererParams<TData, TValue>) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n }) {\n return this.column(Object.assign({\n cellRenderer: 'PlAgCellFile',\n headerComponentParams: { type: 'File' },\n cellStyle: { padding: 0 },\n valueSetter: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => {\n def.setImportFileHandle?.(d);\n return true;\n },\n cellRendererSelector: (cellData: ICellRendererParams<TData, TValue>) => {\n return {\n component: 'PlAgCellFile',\n params: {\n extensions: def.extensions,\n value: def.resolveImportFileHandle?.(cellData),\n resolveProgress: () => {\n return def.resolveImportProgress?.(cellData);\n },\n },\n };\n },\n }, def));\n }\n\n public build() {\n return this.#options;\n }\n}\n\n// Simple helper to use like column<string> in grid options literal\ntype ColumnFunc<TData> = <TValue>(def: ColDefExtended<TData, TValue>) => ColDefExtended<TData, TValue>;\n\n/**\n * Returns a set of Ag Grid options along with a reference to the Ag Grid API.\n * (This is a fast prototype)\n *\n * @example\n * ```ts\n * const { gridOptions, gridApi } = useAgGridOptions(() => ({\n * // custom grid options here\n * }));\n *\n * // Usage in a template (v-bind is required!)\n * <template>\n * <AgGridVue :style=\"{ height: '100%' }\" v-bind=\"gridOptions\" />\n * </template>\n * ```\n */\nexport function useAgGridOptions<TData>(\n factory: (context: { builder: Builder<TData>; column: ColumnFunc<TData> }) => Builder<TData> | GridOptionsExtended<TData>,\n) {\n const gridApi = shallowRef<GridApi>();\n\n const extOptions = computed<GridOptionsExtended>(() => {\n const def: GridOptionsExtended<TData> = {\n theme: AgGridTheme,\n loadingOverlayComponent: PlAgOverlayLoading,\n noRowsOverlayComponent: PlAgOverlayNoRows,\n onGridReady: (e: GridReadyEvent) => {\n gridApi.value = e.api;\n autoSizeRowNumberColumn(e.api); // @TODO\n },\n };\n\n const column = <TValue>(def: ColDefExtended<TData, TValue>) => {\n return def;\n };\n\n const result = factory({ builder: new Builder(), column });\n\n const options = Object.assign({}, def, result instanceof Builder ? result.build() : result);\n\n if (options.rowNumbersColumn) {\n options.columnDefs = [makeRowNumberColDef(), ...(options.columnDefs ?? [])];\n }\n\n if (options.noRowsText) {\n options.noRowsOverlayComponentParams = {\n text: options.noRowsText,\n };\n }\n\n if ('loadingOverlayComponentParams' in options) {\n console.warn('useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText, loadingOverlayType instead');\n }\n\n options.loading = options.notReady || options.loading;\n\n options.columnDefs = options.columnDefs?.map((it) => createAgGridColDef(it));\n\n // Register all special components\n options.components = Object.assign({}, options.components ?? {}, {\n PlAgCellFile,\n PlAgChartStackedBarCell,\n PlAgChartHistogramCell,\n PlAgCellStatusTag,\n });\n\n return options;\n });\n\n const gridOptions = computed<GridOptions>(() => {\n const options = extOptions.value;\n\n return {\n ...options,\n loadingOverlayComponentParams: {\n notReady: options.notReady,\n notReadyText: options.notReadyText,\n overlayType: options.loadingOverlayType,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(() => extOptions.value.rowNumbersColumn, () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n });\n\n watch([\n () => extOptions.value.notReady,\n () => extOptions.value.loading,\n ], ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n notReady,\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\n overlayType: extOptions.value.loadingOverlayType,\n loadingText: extOptions.value.loadingText,\n } satisfies PlAgOverlayLoadingParams;\n\n // Hack to apply loadingOverlayComponentParams\n gridApi.value?.updateGridOptions({\n loading: !loading,\n loadingOverlayComponentParams,\n });\n\n gridApi.value?.updateGridOptions({\n loading,\n loadingOverlayComponentParams,\n });\n }, { deep: true, immediate: true });\n\n return { gridOptions, gridApi };\n};\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","type","notReadyText","noRowsText","rowSelection","rowData","components","key","value","show","d","_a","cellData","useAgGridOptions","factory","gridApi","shallowRef","extOptions","computed","AgGridTheme","PlAgOverlayLoading","PlAgOverlayNoRows","e","autoSizeRowNumberColumn","column","result","makeRowNumberColDef","it","createAgGridColDef","PlAgCellFile","PlAgChartStackedBarCell","PlAgChartHistogramCell","PlAgCellStatusTag","gridOptions","whenever","watch","loadingOverlayComponentParams","_b"],"mappings":"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"}
1
+ {"version":3,"file":"useAgGridOptions.js","sources":["../../src/AgGridVue/useAgGridOptions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColGroupDef, GridApi, GridOptions, GridReadyEvent, ICellRendererParams, RowSelectionOptions, ValueSetterParams } from 'ag-grid-enterprise';\nimport type { Component } from 'vue';\nimport { computed, shallowRef, watch } from 'vue';\nimport { AgGridTheme } from '../aggrid';\nimport { autoSizeRowNumberColumn, makeRowNumberColDef, PlAgOverlayLoading, type PlAgOverlayLoadingParams } from '../components/PlAgDataTable';\nimport { PlAgOverlayNoRows } from '../components/PlAgDataTable';\nimport { createAgGridColDef, type ColDefExtended } from './createAgGridColDef';\nimport { whenever } from '@vueuse/core';\nimport { PlAgCellFile } from '../components/PlAgCellFile';\nimport { PlAgChartStackedBarCell } from '../components/PlAgChartStackedBarCell';\nimport { PlAgChartHistogramCell } from '../components/PlAgChartHistogramCell';\nimport type { ImportFileHandle } from '@platforma-sdk/model';\nimport type { ImportProgress } from '@platforma-sdk/model';\nimport { PlAgCellStatusTag } from '../components/PlAgCellStatusTag';\ninterface GridOptionsExtended<TData = any> extends Omit<GridOptions<TData>, 'columnDefs' | 'loadingOverlayComponentParams'> {\n /**\n * Array of Column / Column Group definitions.\n */\n columnDefs?: (ColDefExtended<TData> | ColGroupDef<TData>)[] | null;\n /**\n * Show row numbers column\n */\n rowNumbersColumn?: boolean;\n /**\n * Loading overlay text\n */\n loadingText?: string;\n /**\n * Not ready overlay (No datasource). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"No datasource\" by default\n */\n notReadyText?: string;\n /**\n * Use \"transparent\" to make table headers visible below the loading layer (experimental)\n */\n loadingOverlayType?: 'transparent' | undefined;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText, loadingOverlayType instead\n */\n loadingOverlayComponentParams?: never;\n}\n\n// @TODO (super simple builder for now)\nclass Builder<TData> {\n #options: GridOptionsExtended<TData> = {};\n\n public options(options: GridOptionsExtended<TData>) {\n this.#options = Object.assign({}, this.#options, options);\n return this;\n }\n\n private get columnDefs() {\n return this.#options.columnDefs ?? [];\n }\n\n /**\n * Set default column definition\n * @param def - column definition\n * @returns this\n */\n public setDefaultColDef(def: ColDefExtended<TData>) {\n this.#options.defaultColDef = def;\n return this;\n }\n\n /**\n * Show loading overlay\n * @param loading\n * @returns this\n */\n public setLoading(loading?: boolean) {\n this.#options.loading = loading;\n return this;\n }\n\n /**\n * Set loading overlay custom text (default is \"Loading\")\n * @param loadingText\n * @returns this\n */\n public setLoadingText(loadingText?: string) {\n this.#options.loadingText = loadingText;\n return this;\n }\n\n /**\n * Show \"not ready overlay\n * @param notReady\n * @returns this\n */\n public setNotReady(notReady?: boolean) {\n this.#options.notReady = notReady;\n return this;\n }\n\n /**\n * Set loading overlay type\n * @param type\n * @returns this\n */\n public setLoadingOverlayType(type?: 'transparent') {\n this.#options.loadingOverlayType = type;\n return this;\n }\n\n /**\n * Set \"not ready\" text\n * @param notReadyText\n * @returns this\n */\n public setNotReadyText(notReadyText?: string) {\n this.#options.notReadyText = notReadyText;\n return this;\n }\n\n /**\n * Set \"no rows\" text when there are no rows (default is \"Empty\")\n * @param noRowsText\n * @returns this\n */\n public setNoRowsText(noRowsText?: string) {\n this.#options.noRowsText = noRowsText;\n return this;\n }\n\n /**\n * Set row selection options\n * @param rowSelection\n * @returns this\n */\n public setRowSelection(rowSelection?: RowSelectionOptions) {\n this.#options.rowSelection = rowSelection;\n return this;\n }\n\n /**\n * Set row data\n * @param rowData\n * @returns this\n */\n public setRowData(rowData?: TData[]) {\n this.#options.rowData = rowData;\n return this;\n }\n\n /**\n * Set components\n * @param components\n * @returns this\n */\n public setComponents(components?: Record<string, Component>) {\n this.#options.components = components;\n return this;\n }\n\n /**\n * Set an option\n * @param key - option key\n * @param value - option value\n * @returns this\n */\n public setOption<K extends keyof GridOptionsExtended<TData>>(key: K, value: GridOptionsExtended<TData>[K]) {\n this.#options[key] = value;\n return this;\n }\n\n /**\n * Add an extended column definition\n * @param def - column definition\n * @returns this\n */\n public column<TValue = any>(def: ColDefExtended<TData, TValue>) {\n this.#options.columnDefs = [...this.columnDefs, def];\n return this;\n }\n\n /**\n * Show row numbers column\n * @param show - show or hide row numbers column\n * @returns this\n */\n public columnRowNumbers(show: boolean = true) {\n this.#options.rowNumbersColumn = show;\n return this;\n }\n\n /**\n * Add a file input column\n * @param def - column definition\n * @param cb - callback to set params for the file input cell renderer\n * @returns this\n */\n public columnFileInput<TValue = any>(\n def: ColDefExtended<TData, TValue> & {\n /**\n * Allowed file extensions (like ['fastq.gz'])\n */\n extensions?: string[];\n /**\n * The resolveProgress function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveProgress, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveProgress: (cellData) => {\n * const progresses = app.progresses;\n * if (!cellData.value.importFileHandle) return undefined;\n * else return progresses[cellData.value.importFileHandle];\n * }\n * }\n */\n resolveImportProgress?: (cellData: ICellRendererParams<TData, TValue>) => ImportProgress | undefined;\n\n /**\n * The resolveFileHandle function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveFileHandle, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveFileHandle: (cellData) => {\n * return cellData.value.importFileHandle;\n * }\n * }\n */\n resolveImportFileHandle?: (cellData: ICellRendererParams<TData, TValue>) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n }) {\n return this.column(Object.assign({\n cellRenderer: 'PlAgCellFile',\n headerComponentParams: { type: 'File' },\n cellStyle: { padding: 0 },\n valueSetter: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => {\n def.setImportFileHandle?.(d);\n return true;\n },\n cellRendererSelector: (cellData: ICellRendererParams<TData, TValue>) => {\n return {\n component: 'PlAgCellFile',\n params: {\n extensions: def.extensions,\n value: def.resolveImportFileHandle?.(cellData),\n resolveProgress: () => {\n return def.resolveImportProgress?.(cellData);\n },\n },\n };\n },\n }, def));\n }\n\n public build() {\n return this.#options;\n }\n}\n\n// Simple helper to use like column<string> in grid options literal\ntype ColumnFunc<TData> = <TValue>(def: ColDefExtended<TData, TValue>) => ColDefExtended<TData, TValue>;\n\n/**\n * Returns a set of Ag Grid options along with a reference to the Ag Grid API.\n * (This is a fast prototype)\n *\n * @example\n * ```ts\n * const { gridOptions, gridApi } = useAgGridOptions(() => ({\n * // custom grid options here\n * }));\n *\n * // Usage in a template (v-bind is required!)\n * <template>\n * <AgGridVue :style=\"{ height: '100%' }\" v-bind=\"gridOptions\" />\n * </template>\n * ```\n */\nexport function useAgGridOptions<TData>(\n factory: (context: { builder: Builder<TData>; column: ColumnFunc<TData> }) => Builder<TData> | GridOptionsExtended<TData>,\n) {\n const gridApi = shallowRef<GridApi>();\n\n const extOptions = computed<GridOptionsExtended>(() => {\n const def: GridOptionsExtended<TData> = {\n theme: AgGridTheme,\n loadingOverlayComponent: PlAgOverlayLoading,\n noRowsOverlayComponent: PlAgOverlayNoRows,\n onGridReady: (e: GridReadyEvent) => {\n gridApi.value = e.api;\n autoSizeRowNumberColumn(e.api); // @TODO\n },\n };\n\n const column = <TValue>(def: ColDefExtended<TData, TValue>) => {\n return def;\n };\n\n const result = factory({ builder: new Builder(), column });\n\n const options = Object.assign({}, def, result instanceof Builder ? result.build() : result);\n\n if (options.rowNumbersColumn) {\n options.columnDefs = [makeRowNumberColDef(), ...(options.columnDefs ?? [])];\n }\n\n if (options.noRowsText) {\n options.noRowsOverlayComponentParams = {\n text: options.noRowsText,\n };\n }\n\n if ('loadingOverlayComponentParams' in options) {\n console.warn('useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText, loadingOverlayType instead');\n }\n\n options.loading = options.notReady || options.loading;\n\n options.columnDefs = options.columnDefs?.map((it) => createAgGridColDef(it));\n\n // Register all special components\n options.components = Object.assign({}, options.components ?? {}, {\n PlAgCellFile,\n PlAgChartStackedBarCell,\n PlAgChartHistogramCell,\n PlAgCellStatusTag,\n });\n\n return options;\n });\n\n const gridOptions = computed<GridOptions>(() => {\n const options = extOptions.value;\n\n return {\n ...options,\n loadingOverlayComponentParams: {\n notReady: options.notReady,\n notReadyText: options.notReadyText,\n overlayType: options.loadingOverlayType,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(() => extOptions.value.rowNumbersColumn, () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n });\n\n watch([\n () => extOptions.value.notReady,\n () => extOptions.value.loading,\n ], ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n notReady,\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\n overlayType: extOptions.value.loadingOverlayType,\n loadingText: extOptions.value.loadingText,\n } satisfies PlAgOverlayLoadingParams;\n\n // Hack to apply loadingOverlayComponentParams\n gridApi.value?.updateGridOptions({\n loading: !loading,\n loadingOverlayComponentParams,\n });\n\n gridApi.value?.updateGridOptions({\n loading,\n loadingOverlayComponentParams,\n });\n }, { deep: true, immediate: true });\n\n return { gridOptions, gridApi };\n};\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","type","notReadyText","noRowsText","rowSelection","rowData","components","key","value","show","d","_a","cellData","useAgGridOptions","factory","gridApi","shallowRef","extOptions","computed","AgGridTheme","PlAgOverlayLoading","PlAgOverlayNoRows","e","autoSizeRowNumberColumn","column","result","makeRowNumberColDef","it","createAgGridColDef","PlAgCellFile","PlAgChartStackedBarCell","PlAgChartHistogramCell","PlAgCellStatusTag","gridOptions","whenever","watch","loadingOverlayComponentParams","_b"],"mappings":"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"}
@@ -2,8 +2,7 @@ import { defineComponent as k, mergeModels as y, useModel as I, computed as $, w
2
2
  import { PlDropdownLine as B } from "@milaboratories/uikit";
3
3
  import { getAxisId as D } from "@platforma-sdk/model";
4
4
  import { isJsonEqual as f } from "../../lib/util/helpers/dist/objects.js";
5
- import "../../lib/util/helpers/dist/test_timeouts.js";
6
- const q = /* @__PURE__ */ k({
5
+ const L = /* @__PURE__ */ k({
7
6
  __name: "PlAgDataTableSheets",
8
7
  props: /* @__PURE__ */ y({
9
8
  settings: {}
@@ -69,6 +68,6 @@ const q = /* @__PURE__ */ k({
69
68
  }
70
69
  });
71
70
  export {
72
- q as default
71
+ L as default
73
72
  };
74
73
  //# sourceMappingURL=PlAgDataTableSheets.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableSheets.vue2.js","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n PlDropdownLine,\n} from '@milaboratories/uikit';\nimport type {\n PlDataTableSheet,\n PlDataTableSheetState,\n} from '@platforma-sdk/model';\nimport {\n getAxisId,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watchEffect,\n} from 'vue';\nimport type {\n PlDataTableSheetsSettings,\n PlDataTableSheetNormalized,\n} from './types';\nimport {\n isJsonEqual,\n} from '@milaboratories/helpers';\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.['pl7.app/label']?.trim()\n ?? `Unlabeled axis ${i}`) + ':';\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"names":["state","_useModel","props","__props","sheets","computed","sheet","i","axisId","getAxisId","getDefaultValue","cachedState","s","isJsonEqual","isValidOption","_b","_a","value","option","watchEffect","oldState","newState","makeStateEntry","onSheetChanged","newValue","stateEntry"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,iBAEb,GACKC,IAAQC,GAKRC,IAASC,EAAuC,MAC7CH,EAAM,SAAS,OACnB,OAAO,CAACI,MAAUA,EAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAACA,GAAOC,MAAM;AACjB,YAAMC,IAASC,EAAUH,EAAM,IAAI,GAE7BI,IAAkB,MAAuB;AAC7C,cAAMC,IAAcT,EAAM,SAAS,YAAY,KAAK,CAACU,MAC5CC,EAAYD,EAAE,QAAQJ,CAAM,CACpC;AACD,eAAIG,KAAeG,EAAcR,GAAOK,EAAY,KAAK,IAChDA,EAAY,QAEjBL,EAAM,gBAAgBQ,EAAcR,GAAOA,EAAM,YAAY,IACxDA,EAAM,eAERA,EAAM,QAAQ,CAAC,EAAE;AAAA,MAC1B;AAOA,aAAO;AAAA,QACL,QAAAE;AAAA,QACA,SAPiB,MAAc;;AAC/B,oBAAQO,KAAAC,IAAAV,EAAM,KAAK,gBAAX,gBAAAU,EAAyB,qBAAzB,gBAAAD,EAA2C,WAC9C,kBAAkBR,CAAC,MAAM;AAAA,QAChC,GAIU;AAAA,QACR,SAASD,EAAM;AAAA,QACf,cAAcI,EAAA;AAAA,MAAgB;AAAA,IAElC,CAAC,CACJ;AAED,aAASI,EAAcR,GAAyBW,GAAiC;AAC/E,aAAOX,EAAM,QAAQ,KAAK,CAACY,MAAWA,EAAO,UAAUD,CAAK;AAAA,IAC9D;AAGA,IAAAE,EAAY,MAAM;AAChB,YAAMC,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1BqB,IAAWjB,EAAO,MAAM,IAAI,CAACE,GAAOC,MAAMe,EAAef,GAAGD,EAAM,YAAY,CAAC;AACrF,MAAKO,EAAYO,GAAUC,CAAQ,MACjCrB,EAAM,QAAQqB;AAAA,IAElB,CAAC;AAED,aAASC,EAAef,GAAWU,GAA+C;AAEhF,aAAO;AAAA,QACL,QAFab,EAAO,MAAMG,CAAC,EAAE;AAAA,QAG7B,OAAAU;AAAA,MAAA;AAAA,IAEJ;AAEA,aAASM,EAAehB,GAAWiB,GAAiC;AAClE,YAAMJ,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1ByB,IAAaH,EAAef,GAAGiB,CAAQ;AAC7C,UAAI,CAACX,EAAYO,EAASb,CAAC,GAAGkB,CAAU,GAAG;AACzC,cAAMJ,IAAW,CAAC,GAAGD,CAAQ;AAC7B,QAAAC,EAASd,CAAC,IAAIkB,GACdzB,EAAM,QAAQqB;AAAA,MAChB;AAAA,IACF;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlAgDataTableSheets.vue2.js","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n PlDropdownLine,\n} from '@milaboratories/uikit';\nimport type {\n PlDataTableSheet,\n PlDataTableSheetState,\n} from '@platforma-sdk/model';\nimport {\n getAxisId,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watchEffect,\n} from 'vue';\nimport type {\n PlDataTableSheetsSettings,\n PlDataTableSheetNormalized,\n} from './types';\nimport {\n isJsonEqual,\n} from '@milaboratories/helpers';\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.['pl7.app/label']?.trim()\n ?? `Unlabeled axis ${i}`) + ':';\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"names":["state","_useModel","props","__props","sheets","computed","sheet","i","axisId","getAxisId","getDefaultValue","cachedState","s","isJsonEqual","isValidOption","_b","_a","value","option","watchEffect","oldState","newState","makeStateEntry","onSheetChanged","newValue","stateEntry"],"mappings":";;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,iBAEb,GACKC,IAAQC,GAKRC,IAASC,EAAuC,MAC7CH,EAAM,SAAS,OACnB,OAAO,CAACI,MAAUA,EAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAACA,GAAOC,MAAM;AACjB,YAAMC,IAASC,EAAUH,EAAM,IAAI,GAE7BI,IAAkB,MAAuB;AAC7C,cAAMC,IAAcT,EAAM,SAAS,YAAY,KAAK,CAACU,MAC5CC,EAAYD,EAAE,QAAQJ,CAAM,CACpC;AACD,eAAIG,KAAeG,EAAcR,GAAOK,EAAY,KAAK,IAChDA,EAAY,QAEjBL,EAAM,gBAAgBQ,EAAcR,GAAOA,EAAM,YAAY,IACxDA,EAAM,eAERA,EAAM,QAAQ,CAAC,EAAE;AAAA,MAC1B;AAOA,aAAO;AAAA,QACL,QAAAE;AAAA,QACA,SAPiB,MAAc;;AAC/B,oBAAQO,KAAAC,IAAAV,EAAM,KAAK,gBAAX,gBAAAU,EAAyB,qBAAzB,gBAAAD,EAA2C,WAC9C,kBAAkBR,CAAC,MAAM;AAAA,QAChC,GAIU;AAAA,QACR,SAASD,EAAM;AAAA,QACf,cAAcI,EAAA;AAAA,MAAgB;AAAA,IAElC,CAAC,CACJ;AAED,aAASI,EAAcR,GAAyBW,GAAiC;AAC/E,aAAOX,EAAM,QAAQ,KAAK,CAACY,MAAWA,EAAO,UAAUD,CAAK;AAAA,IAC9D;AAGA,IAAAE,EAAY,MAAM;AAChB,YAAMC,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1BqB,IAAWjB,EAAO,MAAM,IAAI,CAACE,GAAOC,MAAMe,EAAef,GAAGD,EAAM,YAAY,CAAC;AACrF,MAAKO,EAAYO,GAAUC,CAAQ,MACjCrB,EAAM,QAAQqB;AAAA,IAElB,CAAC;AAED,aAASC,EAAef,GAAWU,GAA+C;AAEhF,aAAO;AAAA,QACL,QAFab,EAAO,MAAMG,CAAC,EAAE;AAAA,QAG7B,OAAAU;AAAA,MAAA;AAAA,IAEJ;AAEA,aAASM,EAAehB,GAAWiB,GAAiC;AAClE,YAAMJ,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1ByB,IAAaH,EAAef,GAAGiB,CAAQ;AAC7C,UAAI,CAACX,EAAYO,EAASb,CAAC,GAAGkB,CAAU,GAAG;AACzC,cAAMJ,IAAW,CAAC,GAAGD,CAAQ;AAC7B,QAAAC,EAASd,CAAC,IAAIkB,GACdzB,EAAM,QAAQqB;AAAA,MAChB;AAAA,IACF;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,6 @@
2
2
  import { defineComponent as ue, mergeModels as U, useModel as q, toRefs as de, computed as M, ref as F, shallowRef as H, watch as R, effectScope as ce, createElementBlock as me, openBlock as I, normalizeClass as Q, createBlock as T, createCommentVNode as z, createVNode as fe, unref as b, isRef as W, withCtx as j, renderSlot as X } from "vue";
3
3
  import { isJsonEqual as i } from "../../lib/util/helpers/dist/objects.js";
4
4
  import { promiseTimeout as ve } from "../../lib/util/helpers/dist/functions.js";
5
- import "../../lib/util/helpers/dist/test_timeouts.js";
6
5
  import { parseJson as Y, getAxisId as Z, matchAxisId as _, canonicalizeJson as ee, createPlSelectionModel as $, getRawPlatformaInstance as pe } from "@platforma-sdk/model";
7
6
  import { AgGridVue as Se } from "ag-grid-vue3";
8
7
  import { AgGridTheme as ye } from "../../aggrid.js";
@@ -19,7 +18,7 @@ import { PlAgDataTableRowNumberColId as te, autoSizeRowNumberColumn as be } from
19
18
  import { calculateGridOptions as Pe } from "./sources/table-source-v2.js";
20
19
  import { useTableState as ke } from "./sources/table-state-v2.js";
21
20
  import { watchCached as Te } from "@milaboratories/uikit";
22
- const Ye = /* @__PURE__ */ ue({
21
+ const Xe = /* @__PURE__ */ ue({
23
22
  __name: "PlAgDataTableV2",
24
23
  props: /* @__PURE__ */ U({
25
24
  settings: {},
@@ -418,6 +417,6 @@ const Ye = /* @__PURE__ */ ue({
418
417
  }
419
418
  });
420
419
  export {
421
- Ye as default
420
+ Xe as default
422
421
  };
423
422
  //# sourceMappingURL=PlAgDataTableV2.vue2.js.map