@platforma-sdk/ui-vue 1.54.12 → 1.55.0
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.
- package/.turbo/turbo-build.log +28 -23
- package/.turbo/turbo-formatter$colon$check.log +2 -2
- package/.turbo/turbo-linter$colon$check.log +2 -2
- package/.turbo/turbo-types$colon$check.log +1 -1
- package/CHANGELOG.md +21 -0
- package/dist/AgGridVue/useAgGridOptions.js +10 -9
- package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +32 -40
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/index.d.ts +2 -2
- package/dist/components/PlAdvancedFilter/index.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/index.js.map +1 -1
- package/dist/components/PlAdvancedFilter/types.d.ts +9 -8
- package/dist/components/PlAdvancedFilter/types.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/utils.js +38 -27
- package/dist/components/PlAdvancedFilter/utils.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +161 -244
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +9 -8
- package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +1 -1
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.d.ts +134 -0
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.d.ts.map +1 -0
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js +33 -0
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js.map +1 -0
- package/dist/components/PlAgDataTable/compositions/useGrid.d.ts +15 -0
- package/dist/components/PlAgDataTable/compositions/useGrid.d.ts.map +1 -0
- package/dist/components/PlAgDataTable/compositions/useGrid.js +113 -0
- package/dist/components/PlAgDataTable/compositions/useGrid.js.map +1 -0
- package/dist/components/PlAgDataTable/sources/row-number.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/sources/row-number.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-source-v2.d.ts +1 -2
- package/dist/components/PlAgDataTable/sources/table-source-v2.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-source-v2.js +47 -62
- package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-state-v2.d.ts +4 -4
- package/dist/components/PlAgDataTable/sources/table-state-v2.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-state-v2.js +105 -95
- package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +11 -10
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +1 -1
- package/dist/components/PlAgRowNumHeader.vue.js +10 -9
- package/dist/components/PlAgRowNumHeader.vue.js.map +1 -1
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts +10 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts.map +1 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js +30 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js.map +1 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js +5 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js.map +1 -0
- package/dist/components/PlTableFastSearch/index.d.ts +2 -0
- package/dist/components/PlTableFastSearch/index.d.ts.map +1 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts +4 -5
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
- package/dist/defineApp.d.ts +11 -11
- package/dist/defineApp.d.ts.map +1 -1
- package/dist/defineApp.js +90 -58
- package/dist/defineApp.js.map +1 -1
- package/dist/index.js +59 -55
- package/dist/index.js.map +1 -1
- package/dist/internal/createAppV3.d.ts +45 -22
- package/dist/internal/createAppV3.d.ts.map +1 -1
- package/dist/internal/createAppV3.js +103 -70
- package/dist/internal/createAppV3.js.map +1 -1
- package/dist/lib/util/helpers/dist/functions.js +13 -4
- package/dist/lib/util/helpers/dist/functions.js.map +1 -1
- package/dist/lib/util/helpers/dist/objects.js.map +1 -1
- package/dist/lib.d.ts +1 -0
- package/dist/lib.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/usePluginData.d.ts +30 -0
- package/dist/usePluginData.d.ts.map +1 -0
- package/dist/usePluginData.js +22 -0
- package/dist/usePluginData.js.map +1 -0
- package/package.json +6 -6
- package/src/components/PlAdvancedFilter/PlAdvancedFilter.vue +2 -2
- package/src/components/PlAdvancedFilter/index.ts +7 -2
- package/src/components/PlAdvancedFilter/types.ts +19 -5
- package/src/components/PlAgDataTable/PlAgDataTableV2.vue +52 -172
- package/src/components/PlAgDataTable/compositions/useFilterableColumns.ts +62 -0
- package/src/components/PlAgDataTable/compositions/useGrid.ts +143 -0
- package/src/components/PlAgDataTable/sources/row-number.ts +0 -1
- package/src/components/PlAgDataTable/sources/table-source-v2.ts +1 -15
- package/src/components/PlAgDataTable/sources/table-state-v2.ts +137 -94
- package/src/components/PlTableFastSearch/PlTableFastSearch.vue +27 -0
- package/src/components/PlTableFastSearch/index.ts +1 -0
- package/src/components/PlTableFilters/PlTableFiltersV2.vue +8 -3
- package/src/defineApp.ts +116 -87
- package/src/internal/createAppV3.ts +84 -12
- package/src/internal/v1.static-test.ts +2 -2
- package/src/internal/v2.static-test.ts +2 -2
- package/src/lib.ts +2 -0
- package/src/types.ts +1 -1
- package/src/usePluginData.ts +63 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -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.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.55.0 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
|
[36mvite v6.4.1 [32mbuilding for production...[36m[39m
|
|
9
9
|
transforming...
|
|
10
|
-
[32m✓[39m
|
|
10
|
+
[32m✓[39m 181 modules transformed.
|
|
11
11
|
[33mExport "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.[39m
|
|
13
13
|
rendering chunks...
|
|
@@ -19,9 +19,10 @@ computing gzip size...
|
|
|
19
19
|
[2mdist/[22m[36mcomponents/PlAgCellFile/PlAgCellFile.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
20
20
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgRowCount.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
21
21
|
[2mdist/[22m[36mcomponents/PlAgCsvExporter/PlAgCsvExporter.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
22
|
-
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
23
22
|
[2mdist/[22m[36mcomponents/PlAgCellProgress/PlAgCellProgress.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
23
|
+
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
24
24
|
[2mdist/[22m[36mcomponents/PlAgRowNumHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
25
|
+
[2mdist/[22m[36mcomponents/PlTableFastSearch/PlTableFastSearch.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
25
26
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgOverlayLoading.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
26
27
|
[2mdist/[22m[36mcomponents/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
27
28
|
[2mdist/[22m[36mplugins/Monetization/MonetizationSidebar.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
@@ -45,10 +46,9 @@ computing gzip size...
|
|
|
45
46
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
46
47
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/PlAnnotationsModal.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
47
48
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/common.js [39m[1m[2m 0.21 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.66 kB[22m
|
|
48
|
-
[2mdist/[22m[36mlib/util/helpers/dist/functions.js [39m[1m[2m 0.21 kB[22m[1m[22m[2m │ gzip: 0.18 kB[22m[2m │ map: 5.34 kB[22m
|
|
49
49
|
[2mdist/[22m[36mcomponents/PlAnnotations/utils.js [39m[1m[2m 0.21 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 1.07 kB[22m
|
|
50
50
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/Summary.vue3.js [39m[1m[2m 0.24 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.10 kB[22m
|
|
51
|
-
[2mdist/[22m[36mcomponents/PlAdvancedFilter/index.js [39m[1m[2m 0.24 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.
|
|
51
|
+
[2mdist/[22m[36mcomponents/PlAdvancedFilter/index.js [39m[1m[2m 0.24 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.74 kB[22m
|
|
52
52
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/OperandButton.vue3.js [39m[1m[2m 0.24 kB[22m[1m[22m[2m │ gzip: 0.18 kB[22m[2m │ map: 0.11 kB[22m
|
|
53
53
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/style.module.css.js [39m[1m[2m 0.25 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.11 kB[22m
|
|
54
54
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/Item.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
@@ -69,12 +69,13 @@ computing gzip size...
|
|
|
69
69
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
70
70
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
71
71
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/PlAnnotationsModal.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
72
|
-
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
73
72
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableSheets.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
73
|
+
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
74
74
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue.js [39m[1m[2m 0.32 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.12 kB[22m
|
|
75
75
|
[2mdist/[22m[36mlib/util/helpers/dist/strings.js [39m[1m[2m 0.35 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 4.22 kB[22m
|
|
76
76
|
[2mdist/[22m[36mcomponents/PlAgDataTable/pl-ag-overlay-loading.module.scss.js [39m[1m[2m 0.36 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.12 kB[22m
|
|
77
77
|
[2mdist/[22m[36mcomponents/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js [39m[1m[2m 0.38 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.13 kB[22m
|
|
78
|
+
[2mdist/[22m[36mlib/util/helpers/dist/functions.js [39m[1m[2m 0.39 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 5.59 kB[22m
|
|
78
79
|
[2mdist/[22m[36mcomputedResult.js [39m[1m[2m 0.40 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 2.43 kB[22m
|
|
79
80
|
[2mdist/[22m[36mobjectHash.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 1.24 kB[22m
|
|
80
81
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue3.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.12 kB[22m
|
|
@@ -88,12 +89,15 @@ computing gzip size...
|
|
|
88
89
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue3.js [39m[1m[2m 0.59 kB[22m[1m[22m[2m │ gzip: 0.29 kB[22m[2m │ map: 0.11 kB[22m
|
|
89
90
|
[2mdist/[22m[36mcomponents/PlAgCellStatusTag/PlAgCellStatusTag.vue.js [39m[1m[2m 0.61 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 0.96 kB[22m
|
|
90
91
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgOverlayNoRows.vue.js [39m[1m[2m 0.69 kB[22m[1m[22m[2m │ gzip: 0.44 kB[22m[2m │ map: 1.74 kB[22m
|
|
92
|
+
[2mdist/[22m[36musePluginData.js [39m[1m[2m 0.69 kB[22m[1m[22m[2m │ gzip: 0.42 kB[22m[2m │ map: 3.01 kB[22m
|
|
91
93
|
[2mdist/[22m[36mcomponents/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js [39m[1m[2m 0.77 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 1.51 kB[22m
|
|
92
94
|
[2mdist/[22m[36mplugins/Monetization/EndOfPeriod.vue2.js [39m[1m[2m 0.77 kB[22m[1m[22m[2m │ gzip: 0.47 kB[22m[2m │ map: 1.86 kB[22m
|
|
93
95
|
[2mdist/[22m[36mcomponents/BlockLoader.vue.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.32 kB[22m
|
|
94
96
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/OperandButton.vue2.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.87 kB[22m
|
|
95
97
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/FilterEditor.vue3.js [39m[1m[2m 0.87 kB[22m[1m[22m[2m │ gzip: 0.41 kB[22m[2m │ map: 0.12 kB[22m
|
|
96
98
|
[2mdist/[22m[36mcomponents/NotFound.vue.js [39m[1m[2m 0.90 kB[22m[1m[22m[2m │ gzip: 0.54 kB[22m[2m │ map: 1.18 kB[22m
|
|
99
|
+
[2mdist/[22m[36mcomponents/PlTableFastSearch/PlTableFastSearch.vue.js [39m[1m[2m 0.92 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.42 kB[22m
|
|
100
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/compositions/useFilterableColumns.js [39m[1m[2m 0.93 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m[2m │ map: 3.42 kB[22m
|
|
97
101
|
[2mdist/[22m[36mplugins/Monetization/LimitCard.vue3.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 0.11 kB[22m
|
|
98
102
|
[2mdist/[22m[36mcomponents/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js [39m[1m[2m 1.00 kB[22m[1m[22m[2m │ gzip: 0.55 kB[22m[2m │ map: 2.09 kB[22m
|
|
99
103
|
[2mdist/[22m[36mcomponents/PlAgCsvExporter/PlAgCsvExporter.vue.js [39m[1m[2m 1.06 kB[22m[1m[22m[2m │ gzip: 0.59 kB[22m[2m │ map: 1.70 kB[22m
|
|
@@ -102,18 +106,18 @@ computing gzip size...
|
|
|
102
106
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/useFilteredItems.js [39m[1m[2m 1.13 kB[22m[1m[22m[2m │ gzip: 0.58 kB[22m[2m │ map: 3.95 kB[22m
|
|
103
107
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/value-rendering.js [39m[1m[2m 1.14 kB[22m[1m[22m[2m │ gzip: 0.54 kB[22m[2m │ map: 3.43 kB[22m
|
|
104
108
|
[2mdist/[22m[36mAgGridVue/selection.js [39m[1m[2m 1.17 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 3.56 kB[22m
|
|
105
|
-
[2mdist/[22m[36mlib/util/helpers/dist/objects.js [39m[1m[2m 1.18 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 9.
|
|
109
|
+
[2mdist/[22m[36mlib/util/helpers/dist/objects.js [39m[1m[2m 1.18 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 9.22 kB[22m
|
|
106
110
|
[2mdist/[22m[36mplugins/Monetization/validation.js [39m[1m[2m 1.19 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 2.92 kB[22m
|
|
107
111
|
[2mdist/[22m[36mcomponents/PlAgDataTable/types.js [39m[1m[2m 1.24 kB[22m[1m[22m[2m │ gzip: 0.47 kB[22m[2m │ map: 7.82 kB[22m
|
|
108
112
|
[2mdist/[22m[36mlib/util/helpers/dist/prettyBytes.js [39m[1m[2m 1.26 kB[22m[1m[22m[2m │ gzip: 0.65 kB[22m[2m │ map: 4.14 kB[22m
|
|
109
113
|
[2mdist/[22m[36mplugins/Monetization/RunStatus.vue2.js [39m[1m[2m 1.27 kB[22m[1m[22m[2m │ gzip: 0.59 kB[22m[2m │ map: 3.14 kB[22m
|
|
110
|
-
[2mdist/[22m[36mcomponents/PlAdvancedFilter/utils.js [39m[1m[2m 1.31 kB[22m[1m[22m[2m │ gzip: 0.61 kB[22m[2m │ map: 5.45 kB[22m
|
|
111
114
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/Summary.vue2.js [39m[1m[2m 1.32 kB[22m[1m[22m[2m │ gzip: 0.58 kB[22m[2m │ map: 2.53 kB[22m
|
|
112
115
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/Item.vue2.js [39m[1m[2m 1.37 kB[22m[1m[22m[2m │ gzip: 0.56 kB[22m[2m │ map: 2.78 kB[22m
|
|
113
116
|
[2mdist/[22m[36mcreateModel.js [39m[1m[2m 1.39 kB[22m[1m[22m[2m │ gzip: 0.65 kB[22m[2m │ map: 3.92 kB[22m
|
|
114
117
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgOverlayLoading.vue.js [39m[1m[2m 1.42 kB[22m[1m[22m[2m │ gzip: 0.73 kB[22m[2m │ map: 2.85 kB[22m
|
|
115
118
|
[2mdist/[22m[36mcomponents/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js [39m[1m[2m 1.49 kB[22m[1m[22m[2m │ gzip: 0.73 kB[22m[2m │ map: 3.30 kB[22m
|
|
116
119
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/focus-row.js [39m[1m[2m 1.57 kB[22m[1m[22m[2m │ gzip: 0.75 kB[22m[2m │ map: 2.66 kB[22m
|
|
120
|
+
[2mdist/[22m[36mcomponents/PlAdvancedFilter/utils.js [39m[1m[2m 1.57 kB[22m[1m[22m[2m │ gzip: 0.68 kB[22m[2m │ map: 5.71 kB[22m
|
|
117
121
|
[2mdist/[22m[36mutils.js [39m[1m[2m 1.61 kB[22m[1m[22m[2m │ gzip: 0.75 kB[22m[2m │ map: 3.93 kB[22m
|
|
118
122
|
[2mdist/[22m[36mcomponents/PlAgCsvExporter/export-csv.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.74 kB[22m[2m │ map: 3.93 kB[22m
|
|
119
123
|
[2mdist/[22m[36mAgGridVue/createAgGridColDef.js [39m[1m[2m 1.64 kB[22m[1m[22m[2m │ gzip: 0.73 kB[22m[2m │ map: 9.71 kB[22m
|
|
@@ -122,37 +126,38 @@ computing gzip size...
|
|
|
122
126
|
[2mdist/[22m[36minternal/createAppModel.js [39m[1m[2m 1.73 kB[22m[1m[22m[2m │ gzip: 0.77 kB[22m[2m │ map: 4.86 kB[22m
|
|
123
127
|
[2mdist/[22m[36minternal/UpdateSerializer.js [39m[1m[2m 1.89 kB[22m[1m[22m[2m │ gzip: 0.80 kB[22m[2m │ map: 4.70 kB[22m
|
|
124
128
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/PlAnnotationsModal.vue2.js [39m[1m[2m 1.99 kB[22m[1m[22m[2m │ gzip: 0.86 kB[22m[2m │ map: 2.63 kB[22m
|
|
125
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgRowCount.vue.js [39m[1m[2m 2.
|
|
129
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgRowCount.vue.js [39m[1m[2m 2.12 kB[22m[1m[22m[2m │ gzip: 0.76 kB[22m[2m │ map: 2.79 kB[22m
|
|
126
130
|
[2mdist/[22m[36mplugins/Monetization/useInfo.js [39m[1m[2m 2.18 kB[22m[1m[22m[2m │ gzip: 0.83 kB[22m[2m │ map: 4.93 kB[22m
|
|
127
131
|
[2mdist/[22m[36mcomponents/BlockLayout.vue2.js [39m[1m[2m 2.30 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 3.92 kB[22m
|
|
128
132
|
[2mdist/[22m[36mplugins/Monetization/UserCabinetCard.vue2.js [39m[1m[2m 2.36 kB[22m[1m[22m[2m │ gzip: 0.95 kB[22m[2m │ map: 4.69 kB[22m
|
|
129
|
-
[2mdist/[22m[36mcomponents/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js [39m[1m[2m 2.55 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 3.09 kB[22m
|
|
130
133
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableSheets.vue2.js [39m[1m[2m 2.57 kB[22m[1m[22m[2m │ gzip: 1.16 kB[22m[2m │ map: 5.86 kB[22m
|
|
131
|
-
[2mdist/[22m[
|
|
134
|
+
[2mdist/[22m[36mcomponents/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js [39m[1m[2m 2.58 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 3.09 kB[22m
|
|
132
135
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/PlAnnotations.vue2.js [39m[1m[2m 2.68 kB[22m[1m[22m[2m │ gzip: 1.08 kB[22m[2m │ map: 4.05 kB[22m
|
|
133
|
-
[2mdist/[22m[36mcomponents/PlAgRowNumHeader.vue.js [39m[1m[2m 2.
|
|
136
|
+
[2mdist/[22m[36mcomponents/PlAgRowNumHeader.vue.js [39m[1m[2m 2.78 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 4.07 kB[22m
|
|
134
137
|
[2mdist/[22m[36mcomponents/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js [39m[1m[2m 2.81 kB[22m[1m[22m[2m │ gzip: 1.16 kB[22m[2m │ map: 4.23 kB[22m
|
|
135
138
|
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue.js [39m[1m[2m 2.98 kB[22m[1m[22m[2m │ gzip: 1.12 kB[22m[2m │ map: 4.85 kB[22m
|
|
136
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/row-number.js [39m[1m[2m 3.14 kB[22m[1m[22m[2m │ gzip: 1.35 kB[22m[2m │ map: 8.
|
|
137
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/
|
|
138
|
-
[2mdist/[22m[
|
|
139
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/row-number.js [39m[1m[2m 3.14 kB[22m[1m[22m[2m │ gzip: 1.35 kB[22m[2m │ map: 8.45 kB[22m
|
|
140
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/compositions/useGrid.js [39m[1m[2m 3.19 kB[22m[1m[22m[2m │ gzip: 1.32 kB[22m[2m │ map: 7.28 kB[22m
|
|
141
|
+
[2mdist/[22m[36mdefineApp.js [39m[1m[2m 3.36 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 14.49 kB[22m
|
|
142
|
+
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFiltersV2.vue2.js [39m[1m[2m 3.76 kB[22m[1m[22m[2m │ gzip: 1.59 kB[22m[2m │ map: 7.35 kB[22m
|
|
139
143
|
[2mdist/[22m[36mplugins/Monetization/LimitCard.vue2.js [39m[1m[2m 3.84 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 9.62 kB[22m
|
|
140
144
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js [39m[1m[2m 3.85 kB[22m[1m[22m[2m │ gzip: 1.53 kB[22m[2m │ map: 6.85 kB[22m
|
|
145
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-state-v2.js [39m[1m[2m 4.23 kB[22m[1m[22m[2m │ gzip: 1.50 kB[22m[2m │ map: 13.17 kB[22m
|
|
141
146
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue2.js [39m[1m[2m 4.26 kB[22m[1m[22m[2m │ gzip: 1.61 kB[22m[2m │ map: 6.42 kB[22m
|
|
142
147
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/FilterSidebar.vue2.js [39m[1m[2m 4.44 kB[22m[1m[22m[2m │ gzip: 1.57 kB[22m[2m │ map: 7.52 kB[22m
|
|
143
148
|
[2mdist/[22m[36mplugins/Monetization/MonetizationSidebar.vue.js [39m[1m[2m 4.71 kB[22m[1m[22m[2m │ gzip: 1.75 kB[22m[2m │ map: 6.78 kB[22m
|
|
144
|
-
[2mdist/[22m[36minternal/createAppV3.js [39m[1m[2m 5.17 kB[22m[1m[22m[2m │ gzip: 2.00 kB[22m[2m │ map: 15.07 kB[22m
|
|
145
149
|
[2mdist/[22m[36mcomposition/fileContent.js [39m[1m[2m 5.84 kB[22m[1m[22m[2m │ gzip: 1.97 kB[22m[2m │ map: 14.42 kB[22m
|
|
146
150
|
[2mdist/[22m[36minternal/createAppV1.js [39m[1m[2m 5.98 kB[22m[1m[22m[2m │ gzip: 1.91 kB[22m[2m │ map: 16.18 kB[22m
|
|
147
151
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue2.js [39m[1m[2m 5.99 kB[22m[1m[22m[2m │ gzip: 2.23 kB[22m[2m │ map: 12.13 kB[22m
|
|
152
|
+
[2mdist/[22m[36minternal/createAppV3.js [39m[1m[2m 6.21 kB[22m[1m[22m[2m │ gzip: 2.38 kB[22m[2m │ map: 19.20 kB[22m
|
|
148
153
|
[2mdist/[22m[36minternal/createAppV2.js [39m[1m[2m 7.01 kB[22m[1m[22m[2m │ gzip: 2.46 kB[22m[2m │ map: 20.24 kB[22m
|
|
149
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-source-v2.js [39m[1m[2m 7.
|
|
150
|
-
[2mdist/[22m[36mAgGridVue/useAgGridOptions.js [39m[1m[2m 7.
|
|
151
|
-
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue2.js [39m[1m[2m 8.35 kB[22m[1m[22m[2m │ gzip: 2.42 kB[22m[2m │ map: 16.
|
|
154
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-source-v2.js [39m[1m[2m 7.11 kB[22m[1m[22m[2m │ gzip: 2.61 kB[22m[2m │ map: 21.91 kB[22m
|
|
155
|
+
[2mdist/[22m[36mAgGridVue/useAgGridOptions.js [39m[1m[2m 7.50 kB[22m[1m[22m[2m │ gzip: 2.13 kB[22m[2m │ map: 16.27 kB[22m
|
|
156
|
+
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue2.js [39m[1m[2m 8.35 kB[22m[1m[22m[2m │ gzip: 2.42 kB[22m[2m │ map: 16.95 kB[22m
|
|
152
157
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/FilterEditor.vue2.js [39m[1m[2m12.83 kB[22m[1m[22m[2m │ gzip: 3.28 kB[22m[2m │ map: 25.49 kB[22m
|
|
153
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue2.js [39m[1m[
|
|
154
|
-
[2mdist/[22m[36mindex.js [39m[1m[2m99.
|
|
155
|
-
[vite:dts] Declaration files built in
|
|
158
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue2.js [39m[1m[2m12.92 kB[22m[1m[22m[2m │ gzip: 3.68 kB[22m[2m │ map: 29.49 kB[22m
|
|
159
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m99.95 kB[22m[1m[22m[2m │ gzip: 64.35 kB[22m[2m │ map: 0.13 kB[22m
|
|
160
|
+
[vite:dts] Declaration files built in 8387ms.
|
|
156
161
|
|
|
157
|
-
[32m✓ built in
|
|
162
|
+
[32m✓ built in 9.86s[39m
|
|
158
163
|
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.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.55.0 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder formatter --check
|
|
5
5
|
|
|
6
6
|
Checking formatting...
|
|
@@ -8,5 +8,5 @@ Checking formatting...
|
|
|
8
8
|
Checking formatting...
|
|
9
9
|
|
|
10
10
|
All matched files use the correct format.
|
|
11
|
-
Finished in
|
|
11
|
+
Finished in 2575ms on 125 files using 8 threads.
|
|
12
12
|
Format check completed successfully
|
|
@@ -1,10 +1,10 @@
|
|
|
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.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.55.0 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder linter --check
|
|
5
5
|
|
|
6
6
|
Linting project...
|
|
7
7
|
↳ oxlint --config /home/runner/_work/platforma/platforma/sdk/ui-vue/.oxlintrc.json --deny-warnings
|
|
8
8
|
Found 0 warnings and 0 errors.
|
|
9
|
-
Finished in
|
|
9
|
+
Finished in 26ms on 108 files with 98 rules using 8 threads.
|
|
10
10
|
Linting 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.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.55.0 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder type-check --target browser-lib
|
|
5
5
|
|
|
6
6
|
↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @platforma-sdk/ui-vue
|
|
2
2
|
|
|
3
|
+
## 1.55.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 01d0b52: BlockModelV3 update
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [01d0b52]
|
|
12
|
+
- @platforma-sdk/model@1.55.0
|
|
13
|
+
- @milaboratories/uikit@2.10.26
|
|
14
|
+
|
|
15
|
+
## 1.54.13
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- cb28fde: FilterSpec strict types, fast table search
|
|
20
|
+
- Updated dependencies [cb28fde]
|
|
21
|
+
- @milaboratories/uikit@2.10.25
|
|
22
|
+
- @platforma-sdk/model@1.54.13
|
|
23
|
+
|
|
3
24
|
## 1.54.12
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -10,15 +10,15 @@ import "ag-grid-vue3";
|
|
|
10
10
|
import "@milaboratories/uikit";
|
|
11
11
|
import "ag-grid-enterprise";
|
|
12
12
|
import { makeRowNumberColDef as w, autoSizeRowNumberColumn as R } from "../components/PlAgDataTable/sources/row-number.js";
|
|
13
|
-
import T from "
|
|
14
|
-
import O from "../components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
|
|
15
|
-
/* empty css */
|
|
13
|
+
import { whenever as T } from "@vueuse/core";
|
|
16
14
|
/* empty css */
|
|
17
15
|
/* empty css */
|
|
18
|
-
import { whenever as D } from "@vueuse/core";
|
|
19
16
|
import "fast-json-patch";
|
|
20
17
|
/* empty css */
|
|
21
18
|
import "../plugins/Monetization/validation.js";
|
|
19
|
+
import O from "../components/PlAgDataTable/PlAgOverlayLoading.vue.js";
|
|
20
|
+
import D from "../components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
|
|
21
|
+
/* empty css */
|
|
22
22
|
import { createAgGridColDef as P } from "./createAgGridColDef.js";
|
|
23
23
|
import b from "../components/PlAgCellFile/PlAgCellFile.vue.js";
|
|
24
24
|
import _ from "../components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js";
|
|
@@ -34,6 +34,7 @@ import "@zip.js/zip.js";
|
|
|
34
34
|
import "canonicalize";
|
|
35
35
|
import "../composition/fileContent.js";
|
|
36
36
|
import "d3-format";
|
|
37
|
+
import "es-toolkit";
|
|
37
38
|
var e;
|
|
38
39
|
class C {
|
|
39
40
|
constructor() {
|
|
@@ -183,13 +184,13 @@ class C {
|
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
186
|
e = new WeakMap();
|
|
186
|
-
function
|
|
187
|
+
function ut(r) {
|
|
187
188
|
const t = f(), o = v(() => {
|
|
188
189
|
var u;
|
|
189
190
|
const s = {
|
|
190
191
|
theme: x,
|
|
191
|
-
loadingOverlayComponent:
|
|
192
|
-
noRowsOverlayComponent:
|
|
192
|
+
loadingOverlayComponent: O,
|
|
193
|
+
noRowsOverlayComponent: D,
|
|
193
194
|
onGridReady: (m) => {
|
|
194
195
|
t.value = m.api, R(m.api);
|
|
195
196
|
}
|
|
@@ -215,7 +216,7 @@ function mt(r) {
|
|
|
215
216
|
}
|
|
216
217
|
};
|
|
217
218
|
});
|
|
218
|
-
return
|
|
219
|
+
return T(
|
|
219
220
|
() => o.value.rowNumbersColumn,
|
|
220
221
|
() => {
|
|
221
222
|
t.value && R(t.value);
|
|
@@ -242,6 +243,6 @@ function mt(r) {
|
|
|
242
243
|
), { gridOptions: a, gridApi: t };
|
|
243
244
|
}
|
|
244
245
|
export {
|
|
245
|
-
|
|
246
|
+
ut as useAgGridOptions
|
|
246
247
|
};
|
|
247
248
|
//# 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 {\n ColGroupDef,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ICellRendererParams,\n RowSelectionOptions,\n ValueSetterParams,\n} from \"ag-grid-enterprise\";\nimport type { Component } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport { AgGridTheme } from \"../aggrid\";\nimport {\n autoSizeRowNumberColumn,\n makeRowNumberColDef,\n PlAgOverlayLoading,\n type PlAgOverlayLoadingParams,\n} 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<\n GridOptions<TData>,\n \"columnDefs\" | \"loadingOverlayComponentParams\"\n> {\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 (Data is not computed). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"Data is not computed\" by default\n */\n notReadyText?: string;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText 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 \"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>>(\n key: K,\n value: GridOptionsExtended<TData>[K],\n ) {\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?: (\n cellData: ICellRendererParams<TData, TValue>,\n ) => 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?: (\n cellData: ICellRendererParams<TData, TValue>,\n ) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n },\n ) {\n return this.column(\n Object.assign(\n {\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 },\n def,\n ),\n );\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>(\n def: ColDefExtended<TData, TValue>,\n) => 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: {\n builder: Builder<TData>;\n column: ColumnFunc<TData>;\n }) => 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(\n \"useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText instead\",\n );\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 variant: options.notReady ? \"not-ready\" : \"loading\",\n notReadyText: options.notReadyText,\n loadingText: options.loadingText,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(\n () => extOptions.value.rowNumbersColumn,\n () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n },\n );\n\n watch(\n [() => extOptions.value.notReady, () => extOptions.value.loading],\n ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n variant: notReady ? \"not-ready\" : \"loading\",\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\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 },\n { deep: true, immediate: true },\n );\n\n return { gridOptions, gridApi };\n}\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,MAAMA,EAAe;AAAA,EAArB;AACE,IAAAC,EAAA,MAAAC,GAAuC,CAAA;AAAA;AAAA,EAEhC,QAAQC,GAAqC;AAClD,WAAAC,EAAA,MAAKF,GAAW,OAAO,OAAO,CAAA,GAAIG,EAAA,MAAKH,IAAUC,CAAO,IACjD;AAAA,EACT;AAAA,EAEA,IAAY,aAAa;AACvB,WAAOE,EAAA,MAAKH,GAAS,cAAc,CAAA;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,iBAAiBI,GAA4B;AAClD,WAAAD,EAAA,MAAKH,GAAS,gBAAgBI,GACvB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,WAAWC,GAAmB;AACnC,WAAAF,EAAA,MAAKH,GAAS,UAAUK,GACjB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,eAAeC,GAAsB;AAC1C,WAAAH,EAAA,MAAKH,GAAS,cAAcM,GACrB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,YAAYC,GAAoB;AACrC,WAAAJ,EAAA,MAAKH,GAAS,WAAWO,GAClB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,gBAAgBC,GAAuB;AAC5C,WAAAL,EAAA,MAAKH,GAAS,eAAeQ,GACtB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cAAcC,GAAqB;AACxC,WAAAN,EAAA,MAAKH,GAAS,aAAaS,GACpB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,gBAAgBC,GAAoC;AACzD,WAAAP,EAAA,MAAKH,GAAS,eAAeU,GACtB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,WAAWC,GAAmB;AACnC,WAAAR,EAAA,MAAKH,GAAS,UAAUW,GACjB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cAAcC,GAAwC;AAC3D,WAAAT,EAAA,MAAKH,GAAS,aAAaY,GACpB;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,UACLC,GACAC,GACA;AACA,WAAAX,EAAA,MAAKH,GAASa,CAAG,IAAIC,GACd;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OAAqBV,GAAoC;AAC9D,WAAAD,EAAA,MAAKH,GAAS,aAAa,CAAC,GAAG,KAAK,YAAYI,CAAG,GAC5C;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,iBAAiBW,IAAgB,IAAM;AAC5C,WAAAZ,EAAA,MAAKH,GAAS,mBAAmBe,GAC1B;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,gBACLX,GAyCA;AACA,WAAO,KAAK;AAAA,MACV,OAAO;AAAA,QACL;AAAA,UACE,cAAc;AAAA,UACd,uBAAuB,EAAE,MAAM,OAAA;AAAA,UAC/B,WAAW,EAAE,SAAS,EAAA;AAAA,UACtB,aAAa,CAACY,MAA8D;;AAC1E,oBAAAC,IAAAb,EAAI,wBAAJ,QAAAa,EAAA,KAAAb,GAA0BY,IACnB;AAAA,UACT;AAAA,UACA,sBAAsB,CAACE,MAAiD;;AACtE,mBAAO;AAAA,cACL,WAAW;AAAA,cACX,QAAQ;AAAA,gBACN,YAAYd,EAAI;AAAA,gBAChB,QAAOa,IAAAb,EAAI,4BAAJ,gBAAAa,EAAA,KAAAb,GAA8Bc;AAAA,gBACrC,iBAAiB,MAAM;;AACrB,0BAAOD,IAAAb,EAAI,0BAAJ,gBAAAa,EAAA,KAAAb,GAA4Bc;AAAA,gBACrC;AAAA,cAAA;AAAA,YACF;AAAA,UAEJ;AAAA,QAAA;AAAA,QAEFd;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ;AAAA,EAEO,QAAQ;AACb,WAAOD,EAAA,MAAKH;AAAA,EACd;AACF;AAvNEA,IAAA;AA8OK,SAASmB,GACdC,GAIA;AACA,QAAMC,IAAUC,EAAA,GAEVC,IAAaC,EAA8B,MAAM;;AACrD,UAAMpB,IAAkC;AAAA,MACtC,OAAOqB;AAAA,MACP,yBAAyBC;AAAAA,MACzB,wBAAwBC;AAAAA,MACxB,aAAa,CAACC,MAAsB;AAClC,QAAAP,EAAQ,QAAQO,EAAE,KAClBC,EAAwBD,EAAE,GAAG;AAAA,MAC/B;AAAA,IAAA,GAGIE,IAAS,CAAS1B,MACfA,GAGH2B,IAASX,EAAQ,EAAE,SAAS,IAAItB,EAAA,GAAW,QAAAgC,GAAQ,GAEnD7B,IAAU,OAAO,OAAO,IAAIG,GAAK2B,aAAkBjC,IAAUiC,EAAO,MAAA,IAAUA,CAAM;AAE1F,WAAI9B,EAAQ,qBACVA,EAAQ,aAAa,CAAC+B,EAAA,GAAuB,GAAI/B,EAAQ,cAAc,EAAG,IAGxEA,EAAQ,eACVA,EAAQ,+BAA+B;AAAA,MACrC,MAAMA,EAAQ;AAAA,IAAA,IAId,mCAAmCA,KACrC,QAAQ;AAAA,MACN;AAAA,IAAA,GAIJA,EAAQ,UAAUA,EAAQ,YAAYA,EAAQ,SAE9CA,EAAQ,cAAagB,IAAAhB,EAAQ,eAAR,gBAAAgB,EAAoB,IAAI,CAACgB,MAAOC,EAAmBD,CAAE,IAG1EhC,EAAQ,aAAa,OAAO,OAAO,CAAA,GAAIA,EAAQ,cAAc,IAAI;AAAA,MAAA,cAC/DkC;AAAAA,MAAA,yBACAC;AAAAA,MAAA,wBACAC;AAAAA,MAAA,mBACAC;AAAAA,IAAA,CACD,GAEMrC;AAAA,EACT,CAAC,GAEKsC,IAAcf,EAAsB,MAAM;AAC9C,UAAMvB,IAAUsB,EAAW;AAE3B,WAAO;AAAA,MACL,GAAGtB;AAAA,MACH,+BAA+B;AAAA,QAC7B,SAASA,EAAQ,WAAW,cAAc;AAAA,QAC1C,cAAcA,EAAQ;AAAA,QACtB,aAAaA,EAAQ;AAAA,MAAA;AAAA,IACvB;AAAA,EAEJ,CAAC;AAED,SAAAuC;AAAA,IACE,MAAMjB,EAAW,MAAM;AAAA,IACvB,MAAM;AACJ,MAAIF,EAAQ,SACVQ,EAAwBR,EAAQ,KAAK;AAAA,IAEzC;AAAA,EAAA,GAGFoB;AAAA,IACE,CAAC,MAAMlB,EAAW,MAAM,UAAU,MAAMA,EAAW,MAAM,OAAO;AAAA,IAChE,CAAC,CAAChB,GAAUF,CAAO,MAAM;;AACvB,YAAMqC,IAAgC;AAAA,QACpC,SAASnC,IAAW,cAAc;AAAA;AAAA,QAElC,cAAcgB,EAAW,MAAM;AAAA,QAC/B,aAAaA,EAAW,MAAM;AAAA,MAAA;AAIhC,OAAAN,IAAAI,EAAQ,UAAR,QAAAJ,EAAe,kBAAkB;AAAA,QAC/B,SAAS,CAACZ;AAAA,QACV,+BAAAqC;AAAA,MAAA,KAGFC,IAAAtB,EAAQ,UAAR,QAAAsB,EAAe,kBAAkB;AAAA,QAC/B,SAAAtC;AAAA,QACA,+BAAAqC;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,EAAE,MAAM,IAAM,WAAW,GAAA;AAAA,EAAK,GAGzB,EAAE,aAAAH,GAAa,SAAAlB,EAAA;AACxB;"}
|
|
1
|
+
{"version":3,"file":"useAgGridOptions.js","sources":["../../src/AgGridVue/useAgGridOptions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n ColGroupDef,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ICellRendererParams,\n RowSelectionOptions,\n ValueSetterParams,\n} from \"ag-grid-enterprise\";\nimport type { Component } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport { AgGridTheme } from \"../aggrid\";\nimport {\n autoSizeRowNumberColumn,\n makeRowNumberColDef,\n PlAgOverlayLoading,\n type PlAgOverlayLoadingParams,\n} 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<\n GridOptions<TData>,\n \"columnDefs\" | \"loadingOverlayComponentParams\"\n> {\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 (Data is not computed). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"Data is not computed\" by default\n */\n notReadyText?: string;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText 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 \"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>>(\n key: K,\n value: GridOptionsExtended<TData>[K],\n ) {\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?: (\n cellData: ICellRendererParams<TData, TValue>,\n ) => 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?: (\n cellData: ICellRendererParams<TData, TValue>,\n ) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n },\n ) {\n return this.column(\n Object.assign(\n {\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 },\n def,\n ),\n );\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>(\n def: ColDefExtended<TData, TValue>,\n) => 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: {\n builder: Builder<TData>;\n column: ColumnFunc<TData>;\n }) => 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(\n \"useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText instead\",\n );\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 variant: options.notReady ? \"not-ready\" : \"loading\",\n notReadyText: options.notReadyText,\n loadingText: options.loadingText,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(\n () => extOptions.value.rowNumbersColumn,\n () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n },\n );\n\n watch(\n [() => extOptions.value.notReady, () => extOptions.value.loading],\n ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n variant: notReady ? \"not-ready\" : \"loading\",\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\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 },\n { deep: true, immediate: true },\n );\n\n return { gridOptions, gridApi };\n}\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","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,49 +1,41 @@
|
|
|
1
1
|
import { ListOptionBase } from '@platforma-sdk/model';
|
|
2
2
|
import { SUPPORTED_FILTER_TYPES } from './constants';
|
|
3
3
|
import { PlAdvancedFilterColumnId, RootFilter, SourceOptionInfo } from './types';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
declare const _default: <T extends RootFilter>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
6
|
+
readonly "onUpdate:filters"?: ((value: T) => any) | undefined;
|
|
7
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:filters"> & ({
|
|
8
|
+
filters: T;
|
|
9
|
+
} & {
|
|
10
|
+
/** List of ids of sources (columns, axes) that can be selected in filters */
|
|
11
|
+
items: SourceOptionInfo[];
|
|
12
|
+
/** List of supported filter types */
|
|
13
|
+
supportedFilters?: typeof SUPPORTED_FILTER_TYPES;
|
|
14
|
+
/** If true - new filter can be added by droppind element into filter group; else new column is added by button click */
|
|
15
|
+
enableDnd?: boolean;
|
|
16
|
+
/** If true - "Add group" button is shown below the filter groups */
|
|
17
|
+
enableAddGroupButton?: boolean;
|
|
18
|
+
/** Loading function for unique values for Equal/InSet filters and fixed axes options. */
|
|
19
|
+
getSuggestOptions: (params: {
|
|
20
|
+
columnId: PlAdvancedFilterColumnId;
|
|
21
|
+
axisIdx?: number;
|
|
22
|
+
searchStr: string;
|
|
23
|
+
searchType: "value" | "label";
|
|
24
|
+
}) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;
|
|
25
|
+
}) & Partial<{}>> & import('vue').PublicProps;
|
|
26
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
27
|
+
attrs: any;
|
|
26
28
|
slots: {
|
|
27
29
|
'add-group-buttons'?(_: {}): any;
|
|
28
30
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
emit: (evt: "update:filters", value: T) => void;
|
|
32
|
+
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}> & {
|
|
35
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
31
36
|
};
|
|
32
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
33
|
-
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
34
|
-
"update:filters": (value: RootFilter) => any;
|
|
35
|
-
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
36
|
-
"onUpdate:filters"?: ((value: RootFilter) => any) | undefined;
|
|
37
|
-
}>, {
|
|
38
|
-
enableDnd: boolean;
|
|
39
|
-
supportedFilters: typeof SUPPORTED_FILTER_TYPES;
|
|
40
|
-
enableAddGroupButton: boolean;
|
|
41
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
42
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
43
37
|
export default _default;
|
|
44
|
-
type
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
};
|
|
38
|
+
type __VLS_PrettifyLocal<T> = {
|
|
39
|
+
[K in keyof T]: T[K];
|
|
40
|
+
} & {};
|
|
49
41
|
//# sourceMappingURL=PlAdvancedFilter.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAdvancedFilter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"names":[],"mappings":"AAqUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,EAAwC,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAIV,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"PlAdvancedFilter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"names":[],"mappings":"AAqUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,EAAwC,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAIV,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;yBAGA,CAAC,SAAS,UAAU,eACvB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAsf1D,mBAAmB,CAAC;;;iBAjUjB,CAAC;;QAhLR,6EAA6E;eACtE,gBAAgB,EAAE;QACzB,qCAAqC;2BAClB,OAAO,sBAAsB;QAChD,wHAAwH;oBAC5G,OAAO;QACnB,oEAAoE;+BAC7C,OAAO;QAC9B,yFAAyF;2BACtE,CAAC,MAAM,EAAE;YAC1B,QAAQ,EAAE,wBAAwB,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;SAC/B,KAAK,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;oBAmeM,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;qCAhD+B,GAAG;;;;;;YAqDD,OAAO,CAAC,OAAO,WAAW,CAAC;;AAhgBvE,wBAggB4E;AAc5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAdvancedFilter.vue2.js","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlBtnSecondary, PlCheckbox, PlElementList } from \"@milaboratories/uikit\";\nimport type { ListOptionBase } from \"@platforma-sdk/model\";\nimport { computed, toRaw } from \"vue\";\nimport FilterEditor from \"./FilterEditor.vue\";\nimport OperandButton from \"./OperandButton.vue\";\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS, SUPPORTED_FILTER_TYPES } from \"./constants\";\nimport type {\n CommonFilter,\n EditableFilter,\n NodeFilter,\n PlAdvancedFilterColumnId,\n RootFilter,\n SourceOptionInfo,\n} from \"./types\";\nimport { createNewGroup, getNewId, isValidColumnId } from \"./utils\";\n\nconst model = defineModel<RootFilter>(\"filters\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n /** List of ids of sources (columns, axes) that can be selected in filters */\n items: SourceOptionInfo[];\n /** List of supported filter types */\n supportedFilters?: typeof SUPPORTED_FILTER_TYPES;\n /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */\n enableDnd?: boolean;\n /** If true - \"Add group\" button is shown below the filter groups */\n enableAddGroupButton?: boolean;\n /** Loading function for unique values for Equal/InSet filters and fixed axes options. */\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n }>(),\n {\n supportedFilters: () => SUPPORTED_FILTER_TYPES,\n getSuggestModel: undefined,\n\n enableDnd: false,\n enableAddGroupButton: false,\n },\n);\n\nconst firstColumnId = computed(() => props.items[0]?.id);\nconst emptyGroup: NodeFilter[] = [\n {\n id: -1,\n type: \"and\",\n filters: [],\n isExpanded: true,\n },\n];\n\nfunction getRootGroups() {\n if (model.value.type !== \"or\" && model.value.type !== \"and\") {\n throw new Error('Invalid model structure, expected root to be \"or\" or \"and\" group');\n }\n return model.value.filters;\n}\n\nfunction getRootGroup(idx: number): NodeFilter {\n const groups = getRootGroups();\n const group = groups[idx];\n if (group.type !== \"and\" && group.type !== \"or\" && group.type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n return group;\n}\n\nfunction getRootGroupContent(idx: number): Exclude<NodeFilter, { type: \"not\" }> {\n const group = getRootGroup(idx);\n\n if (group.type !== \"not\") {\n return group;\n }\n\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n\n return group.filter;\n}\n\nfunction addColumnToGroup(groupIdx: number, selectedSourceId: PlAdvancedFilterColumnId) {\n const group = getRootGroupContent(groupIdx);\n\n group.filters.push({\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId,\n id: getNewId(),\n isExpanded: true,\n } as CommonFilter);\n}\n\nfunction removeFilterFromGroup(groupIdx: number, filterIdx: number) {\n const group = getRootGroupContent(groupIdx);\n\n if (group.filters.length === 1 && filterIdx === 0) {\n removeGroup(groupIdx);\n } else {\n group.filters.splice(filterIdx, 1);\n }\n}\nfunction inverseRootNode(groupIdx: number) {\n const groups = getRootGroups();\n const group = groups[groupIdx];\n if (group.type === \"not\") {\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n groups[groupIdx] = group.filter;\n } else {\n const type = groups[groupIdx].type;\n if (type !== \"and\" && type !== \"or\" && type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n\n groups[groupIdx] = {\n id: getNewId(),\n isExpanded: true,\n type: \"not\",\n filter: groups[groupIdx],\n };\n }\n}\n\nfunction getNotContent<T extends CommonFilter>(item: T): Exclude<T, { type: \"not\" }> {\n return item.type === \"not\"\n ? (item.filter as Exclude<T, { type: \"not\" }>)\n : (item as Exclude<T, { type: \"not\" }>);\n}\n\nfunction removeGroup(groupIdx: number) {\n const groups = getRootGroups();\n groups.splice(groupIdx, 1);\n}\nfunction addGroup(selectedSourceId: PlAdvancedFilterColumnId) {\n const newGroup = createNewGroup(selectedSourceId);\n const groups = getRootGroups();\n groups.push(newGroup);\n}\n\nfunction handleDropToExistingGroup(groupIdx: number, event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addColumnToGroup(groupIdx, draggedId);\n }\n }\n}\nfunction handleDropToNewGroup(event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addGroup(draggedId);\n }\n }\n}\nfunction dragOver(event: DragEvent) {\n event.preventDefault();\n}\n\nfunction validateFilter<T extends CommonFilter>(item: T): EditableFilter {\n if (item.type === \"and\" || item.type === \"or\" || item.type === \"not\") {\n throw new Error(\"Invalid filter structure, expected leaf filter\");\n }\n\n return item as EditableFilter;\n}\n\nfunction updateFilter(filters: CommonFilter[], idx: number, updatedFilter: EditableFilter) {\n filters[idx] = toRaw(updatedFilter as CommonFilter);\n}\n</script>\n<template>\n <div>\n <PlElementList\n v-model:items=\"model.filters\"\n :get-item-key=\"(filter) => filter.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"(filter) => filter.isExpanded === true\"\n :on-expand=\"\n (group) => {\n group.isExpanded = !group.isExpanded;\n }\n \"\n :disableDragging=\"false\"\n :disableRemoving=\"false\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n >\n <template #item-title> Filter group </template>\n <template #item-content=\"{ item, index }\">\n <div\n :class=\"$style.groupContent\"\n dropzone=\"true\"\n @drop=\"(event) => handleDropToExistingGroup(index, event)\"\n @dragover=\"dragOver\"\n >\n <PlCheckbox\n :model-value=\"item.type === 'not'\"\n :class=\"$style.notCheckbox\"\n @update:model-value=\"inverseRootNode(index)\"\n >\n Filter Out\n </PlCheckbox>\n <template v-for=\"(_, filterIdx) in getNotContent(item).filters\" :key=\"filterIdx\">\n <FilterEditor\n :filter=\"validateFilter(getNotContent(item).filters[filterIdx])\"\n :operand=\"getNotContent(item).type\"\n :column-options=\"items\"\n :supported-filters=\"props.supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"Boolean(props.enableDnd)\"\n :is-last=\"filterIdx === getNotContent(item).filters.length - 1\"\n :on-change-operand=\"(v) => (getNotContent(item).type = v)\"\n :on-delete=\"() => removeFilterFromGroup(index, filterIdx)\"\n @update:filter=\"\n (value) => updateFilter(getNotContent(item).filters, filterIdx, value)\n \"\n />\n </template>\n <div v-if=\"props.enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else icon=\"add\" @click=\"addColumnToGroup(index, firstColumnId)\">\n Add filter\n </PlBtnSecondary>\n </div>\n </template>\n <template #item-after=\"{ index }\">\n <OperandButton\n v-if=\"props.enableAddGroupButton || index < getRootGroups().length - 1\"\n :class=\"$style.buttonWrapper\"\n :active=\"model.type\"\n :disabled=\"index === getRootGroups().length - 1\"\n :on-select=\"(v) => (model.type = v)\"\n />\n </template>\n </PlElementList>\n\n <!-- Last group - always empty, just for adding new groups -->\n <PlElementList\n v-if=\"props.enableAddGroupButton\"\n :items=\"emptyGroup\"\n :get-item-key=\"(group) => group.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"() => true\"\n :disableDragging=\"true\"\n :disableRemoving=\"true\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n dropzone=\"true\"\n @drop=\"handleDropToNewGroup\"\n @dragover=\"dragOver\"\n >\n <template #item-title>Filter group</template>\n <template #item-content>\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <slot v-else name=\"add-group-buttons\">\n <PlBtnSecondary icon=\"add\" @click=\"addGroup(firstColumnId)\"> Add filter </PlBtnSecondary>\n </slot>\n </template>\n </PlElementList>\n </div>\n</template>\n<style module>\n.filterGroup {\n background: var(--bg-base-light);\n}\n.filterGroup:hover {\n background: rgba(99, 224, 36, 0.12);\n}\n.filterGroupTitle {\n background: none;\n}\n.filterGroupContent {\n padding: 4px 24px 24px 24px;\n}\n.groupContent {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.notCheckbox {\n margin: 4px 0;\n}\n.dropzone {\n border-radius: 6px;\n border: 1.5px dashed var(--color-div-grey);\n color: var(--txt-03);\n font-family: Manrope;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n height: 40px;\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.buttonWrapper {\n margin-top: 8px;\n height: 56px;\n display: flex;\n align-items: center;\n}\n:global(.sortable-chosen) .buttonWrapper {\n visibility: hidden;\n}\n</style>\n"],"names":["model","_useModel","__props","props","firstColumnId","computed","_a","emptyGroup","getRootGroups","getRootGroup","idx","group","getRootGroupContent","addColumnToGroup","groupIdx","selectedSourceId","DEFAULT_FILTERS","DEFAULT_FILTER_TYPE","getNewId","removeFilterFromGroup","filterIdx","removeGroup","inverseRootNode","groups","type","getNotContent","item","addGroup","newGroup","createNewGroup","handleDropToExistingGroup","event","dataTransfer","draggedId","isValidColumnId","handleDropToNewGroup","dragOver","validateFilter","updateFilter","filters","updatedFilter","toRaw","_createElementBlock","_createVNode","_unref","PlElementList","_cache","$event","filter","$style","_withCtx","index","_createElementVNode","_normalizeClass","PlCheckbox","_Fragment","_renderList","_","_createBlock","FilterEditor","v","value","PlBtnSecondary","OperandButton","_renderSlot","_ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlAdvancedFilter.vue2.js","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends RootFilter\">\nimport { PlBtnSecondary, PlCheckbox, PlElementList } from \"@milaboratories/uikit\";\nimport type { ListOptionBase } from \"@platforma-sdk/model\";\nimport { computed, toRaw } from \"vue\";\nimport FilterEditor from \"./FilterEditor.vue\";\nimport OperandButton from \"./OperandButton.vue\";\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS, SUPPORTED_FILTER_TYPES } from \"./constants\";\nimport type {\n CommonFilter,\n EditableFilter,\n NodeFilter,\n PlAdvancedFilterColumnId,\n RootFilter,\n SourceOptionInfo,\n} from \"./types\";\nimport { createNewGroup, getNewId, isValidColumnId } from \"./utils\";\n\nconst model = defineModel<T>(\"filters\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n /** List of ids of sources (columns, axes) that can be selected in filters */\n items: SourceOptionInfo[];\n /** List of supported filter types */\n supportedFilters?: typeof SUPPORTED_FILTER_TYPES;\n /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */\n enableDnd?: boolean;\n /** If true - \"Add group\" button is shown below the filter groups */\n enableAddGroupButton?: boolean;\n /** Loading function for unique values for Equal/InSet filters and fixed axes options. */\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n }>(),\n {\n supportedFilters: () => SUPPORTED_FILTER_TYPES,\n getSuggestModel: undefined,\n\n enableDnd: false,\n enableAddGroupButton: false,\n },\n);\n\nconst firstColumnId = computed(() => props.items[0]?.id);\nconst emptyGroup: NodeFilter[] = [\n {\n id: -1,\n type: \"and\",\n filters: [],\n isExpanded: true,\n },\n];\n\nfunction getRootGroups() {\n if (model.value.type !== \"or\" && model.value.type !== \"and\") {\n throw new Error('Invalid model structure, expected root to be \"or\" or \"and\" group');\n }\n return model.value.filters;\n}\n\nfunction getRootGroup(idx: number): NodeFilter {\n const groups = getRootGroups();\n const group = groups[idx];\n if (group.type !== \"and\" && group.type !== \"or\" && group.type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n return group;\n}\n\nfunction getRootGroupContent(idx: number): Exclude<NodeFilter, { type: \"not\" }> {\n const group = getRootGroup(idx);\n\n if (group.type !== \"not\") {\n return group;\n }\n\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n\n return group.filter;\n}\n\nfunction addColumnToGroup(groupIdx: number, selectedSourceId: PlAdvancedFilterColumnId) {\n const group = getRootGroupContent(groupIdx);\n\n group.filters.push({\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId,\n id: getNewId(),\n isExpanded: true,\n } as CommonFilter);\n}\n\nfunction removeFilterFromGroup(groupIdx: number, filterIdx: number) {\n const group = getRootGroupContent(groupIdx);\n\n if (group.filters.length === 1 && filterIdx === 0) {\n removeGroup(groupIdx);\n } else {\n group.filters.splice(filterIdx, 1);\n }\n}\nfunction inverseRootNode(groupIdx: number) {\n const groups = getRootGroups();\n const group = groups[groupIdx];\n if (group.type === \"not\") {\n if (group.filter.type !== \"and\" && group.filter.type !== \"or\") {\n throw new Error('Invalid group structure, expected \"and\" or \"or\" group inside \"not\"');\n }\n groups[groupIdx] = group.filter;\n } else {\n const type = groups[groupIdx].type;\n if (type !== \"and\" && type !== \"or\" && type !== \"not\") {\n throw new Error('Invalid group structure, expected \"and\", \"or\" or \"not\" group');\n }\n\n groups[groupIdx] = {\n id: getNewId(),\n isExpanded: true,\n type: \"not\",\n filter: groups[groupIdx],\n };\n }\n}\n\nfunction getNotContent<T extends CommonFilter>(item: T): Exclude<T, { type: \"not\" }> {\n return item.type === \"not\"\n ? (item.filter as Exclude<T, { type: \"not\" }>)\n : (item as Exclude<T, { type: \"not\" }>);\n}\n\nfunction removeGroup(groupIdx: number) {\n const groups = getRootGroups();\n groups.splice(groupIdx, 1);\n}\nfunction addGroup(selectedSourceId: PlAdvancedFilterColumnId) {\n const newGroup = createNewGroup(selectedSourceId);\n const groups = getRootGroups();\n groups.push(newGroup);\n}\n\nfunction handleDropToExistingGroup(groupIdx: number, event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addColumnToGroup(groupIdx, draggedId);\n }\n }\n}\nfunction handleDropToNewGroup(event: DragEvent) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer?.getData(\"text/plain\")) {\n const draggedId = dataTransfer.getData(\"text/plain\");\n if (isValidColumnId(draggedId)) {\n addGroup(draggedId);\n }\n }\n}\nfunction dragOver(event: DragEvent) {\n event.preventDefault();\n}\n\nfunction validateFilter<T extends CommonFilter>(item: T): EditableFilter {\n if (item.type === \"and\" || item.type === \"or\" || item.type === \"not\") {\n throw new Error(\"Invalid filter structure, expected leaf filter\");\n }\n\n return item as EditableFilter;\n}\n\nfunction updateFilter(filters: CommonFilter[], idx: number, updatedFilter: EditableFilter) {\n filters[idx] = toRaw(updatedFilter as CommonFilter);\n}\n</script>\n<template>\n <div>\n <PlElementList\n v-model:items=\"model.filters\"\n :get-item-key=\"(filter) => filter.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"(filter) => filter.isExpanded === true\"\n :on-expand=\"\n (group) => {\n group.isExpanded = !group.isExpanded;\n }\n \"\n :disableDragging=\"false\"\n :disableRemoving=\"false\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n >\n <template #item-title> Filter group </template>\n <template #item-content=\"{ item, index }\">\n <div\n :class=\"$style.groupContent\"\n dropzone=\"true\"\n @drop=\"(event) => handleDropToExistingGroup(index, event)\"\n @dragover=\"dragOver\"\n >\n <PlCheckbox\n :model-value=\"item.type === 'not'\"\n :class=\"$style.notCheckbox\"\n @update:model-value=\"inverseRootNode(index)\"\n >\n Filter Out\n </PlCheckbox>\n <template v-for=\"(_, filterIdx) in getNotContent(item).filters\" :key=\"filterIdx\">\n <FilterEditor\n :filter=\"validateFilter(getNotContent(item).filters[filterIdx])\"\n :operand=\"getNotContent(item).type\"\n :column-options=\"items\"\n :supported-filters=\"props.supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"Boolean(props.enableDnd)\"\n :is-last=\"filterIdx === getNotContent(item).filters.length - 1\"\n :on-change-operand=\"(v) => (getNotContent(item).type = v)\"\n :on-delete=\"() => removeFilterFromGroup(index, filterIdx)\"\n @update:filter=\"\n (value) => updateFilter(getNotContent(item).filters, filterIdx, value)\n \"\n />\n </template>\n <div v-if=\"props.enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else icon=\"add\" @click=\"addColumnToGroup(index, firstColumnId)\">\n Add filter\n </PlBtnSecondary>\n </div>\n </template>\n <template #item-after=\"{ index }\">\n <OperandButton\n v-if=\"props.enableAddGroupButton || index < getRootGroups().length - 1\"\n :class=\"$style.buttonWrapper\"\n :active=\"model.type\"\n :disabled=\"index === getRootGroups().length - 1\"\n :on-select=\"(v) => (model.type = v)\"\n />\n </template>\n </PlElementList>\n\n <!-- Last group - always empty, just for adding new groups -->\n <PlElementList\n v-if=\"props.enableAddGroupButton\"\n :items=\"emptyGroup\"\n :get-item-key=\"(group) => group.id\"\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n :is-expanded=\"() => true\"\n :disableDragging=\"true\"\n :disableRemoving=\"true\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n dropzone=\"true\"\n @drop=\"handleDropToNewGroup\"\n @dragover=\"dragOver\"\n >\n <template #item-title>Filter group</template>\n <template #item-content>\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <slot v-else name=\"add-group-buttons\">\n <PlBtnSecondary icon=\"add\" @click=\"addGroup(firstColumnId)\"> Add filter </PlBtnSecondary>\n </slot>\n </template>\n </PlElementList>\n </div>\n</template>\n<style module>\n.filterGroup {\n background: var(--bg-base-light);\n}\n.filterGroup:hover {\n background: rgba(99, 224, 36, 0.12);\n}\n.filterGroupTitle {\n background: none;\n}\n.filterGroupContent {\n padding: 4px 24px 24px 24px;\n}\n.groupContent {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.notCheckbox {\n margin: 4px 0;\n}\n.dropzone {\n border-radius: 6px;\n border: 1.5px dashed var(--color-div-grey);\n color: var(--txt-03);\n font-family: Manrope;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n height: 40px;\n cursor: default;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.buttonWrapper {\n margin-top: 8px;\n height: 56px;\n display: flex;\n align-items: center;\n}\n:global(.sortable-chosen) .buttonWrapper {\n visibility: hidden;\n}\n</style>\n"],"names":["model","_useModel","__props","props","firstColumnId","computed","_a","emptyGroup","getRootGroups","getRootGroup","idx","group","getRootGroupContent","addColumnToGroup","groupIdx","selectedSourceId","DEFAULT_FILTERS","DEFAULT_FILTER_TYPE","getNewId","removeFilterFromGroup","filterIdx","removeGroup","inverseRootNode","groups","type","getNotContent","item","addGroup","newGroup","createNewGroup","handleDropToExistingGroup","event","dataTransfer","draggedId","isValidColumnId","handleDropToNewGroup","dragOver","validateFilter","updateFilter","filters","updatedFilter","toRaw","_createElementBlock","_createVNode","_unref","PlElementList","_cache","$event","filter","$style","_withCtx","index","_createElementVNode","_normalizeClass","PlCheckbox","_Fragment","_renderList","_","_createBlock","FilterEditor","v","value","PlBtnSecondary","OperandButton","_renderSlot","_ctx"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RootFilter, SourceOptionInfo, PlAdvancedFilterColumnId } from './types.ts';
|
|
1
|
+
import { RootFilter, SourceOptionInfo, PlAdvancedFilterColumnId, RequiredMeta } from './types.ts';
|
|
2
2
|
export { default as PlAdvancedFilter } from './PlAdvancedFilter.vue';
|
|
3
3
|
export declare const PlAdvancedFilterSupportedFilters: ("isNA" | "isNotNA" | "patternEquals" | "patternNotEquals" | "patternContainSubsequence" | "patternNotContainSubsequence" | "patternMatchesRegularExpression" | "patternFuzzyContainSubsequence" | "inSet" | "notInSet" | "topN" | "bottomN" | "equal" | "notEqual" | "lessThan" | "greaterThan" | "lessThanOrEqual" | "greaterThanOrEqual")[];
|
|
4
4
|
export type PlAdvancedFilterItem = SourceOptionInfo;
|
|
5
|
-
export type PlAdvancedFilter = RootFilter
|
|
5
|
+
export type PlAdvancedFilter<Meta extends RequiredMeta = RequiredMeta> = RootFilter<Meta>;
|
|
6
6
|
export { PlAdvancedFilterColumnId };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PlAdvancedFilter/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,eAAO,MAAM,gCAAgC,gVAAyB,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACpD,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/PlAdvancedFilter/index.ts"],"sourcesContent":["import { SUPPORTED_FILTER_TYPES } from \"./constants.ts\";\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/PlAdvancedFilter/index.ts"],"sourcesContent":["import { SUPPORTED_FILTER_TYPES } from \"./constants.ts\";\nimport type {\n RootFilter,\n SourceOptionInfo,\n PlAdvancedFilterColumnId,\n RequiredMeta,\n} from \"./types.ts\";\n\nexport { default as PlAdvancedFilter } from \"./PlAdvancedFilter.vue\";\nexport const PlAdvancedFilterSupportedFilters = SUPPORTED_FILTER_TYPES;\nexport type PlAdvancedFilterItem = SourceOptionInfo;\nexport type PlAdvancedFilter<Meta extends RequiredMeta = RequiredMeta> = RootFilter<Meta>;\nexport { PlAdvancedFilterColumnId };\n"],"names":["PlAdvancedFilterSupportedFilters","SUPPORTED_FILTER_TYPES"],"mappings":";;;;AASO,MAAMA,IAAmCC;"}
|