@platforma-sdk/ui-vue 1.45.31 → 1.45.35

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 (45) hide show
  1. package/.turbo/turbo-build.log +32 -7
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +17 -0
  4. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts +8 -0
  5. package/dist/components/PlAdvancedFilter/OperandButton.vue.js +10 -0
  6. package/dist/components/PlAdvancedFilter/OperandButton.vue.js.map +1 -0
  7. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js +25 -0
  8. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -0
  9. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +13 -0
  10. package/dist/components/PlAdvancedFilter/OperandButton.vue3.js.map +1 -0
  11. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +39 -0
  12. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +10 -0
  13. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js.map +1 -0
  14. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +199 -0
  15. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -0
  16. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +17 -0
  17. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +1 -0
  18. package/dist/components/PlAdvancedFilter/SingleFilter.vue.d.ts +37 -0
  19. package/dist/components/PlAdvancedFilter/SingleFilter.vue.js +10 -0
  20. package/dist/components/PlAdvancedFilter/SingleFilter.vue.js.map +1 -0
  21. package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js +306 -0
  22. package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js.map +1 -0
  23. package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js +35 -0
  24. package/dist/components/PlAdvancedFilter/SingleFilter.vue3.js.map +1 -0
  25. package/dist/components/PlAdvancedFilter/constants.d.ts +4 -0
  26. package/dist/components/PlAdvancedFilter/constants.js +41 -0
  27. package/dist/components/PlAdvancedFilter/constants.js.map +1 -0
  28. package/dist/components/PlAdvancedFilter/index.d.ts +1 -0
  29. package/dist/components/PlAdvancedFilter/types.d.ts +57 -0
  30. package/dist/components/PlAdvancedFilter/types.js +8 -0
  31. package/dist/components/PlAdvancedFilter/types.js.map +1 -0
  32. package/dist/components/PlAdvancedFilter/utils.js +150 -0
  33. package/dist/components/PlAdvancedFilter/utils.js.map +1 -0
  34. package/dist/index.js +33 -31
  35. package/dist/index.js.map +1 -1
  36. package/dist/lib.d.ts +1 -0
  37. package/package.json +6 -6
  38. package/src/components/PlAdvancedFilter/OperandButton.vue +53 -0
  39. package/src/components/PlAdvancedFilter/PlAdvancedFilter.vue +209 -0
  40. package/src/components/PlAdvancedFilter/SingleFilter.vue +425 -0
  41. package/src/components/PlAdvancedFilter/constants.ts +42 -0
  42. package/src/components/PlAdvancedFilter/index.ts +1 -0
  43. package/src/components/PlAdvancedFilter/types.ts +77 -0
  44. package/src/components/PlAdvancedFilter/utils.ts +215 -0
  45. package/src/lib.ts +2 -0
@@ -1,13 +1,26 @@
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.45.31 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.45.35 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
+ src/components/PlAdvancedFilter/utils.ts:183:17 - error TS2742: The inferred type of 'useInnerModel' cannot be named without a reference to '.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared'. This is likely not portable. A type annotation is necessary.
10
+
11
+ 183 export function useInnerModel<T, V>(
12
+    ~~~~~~~~~~~~~
13
+
9
14
  transforming...
10
- ✓ 255 modules transformed.
15
+ [plugin vite:esbuild] src/components/PlAdvancedFilter/PlAdvancedFilter.vue?vue&type=script&setup=true&lang.ts: This assignment will throw because "emptyGroup" is a constant
16
+ 171| _createVNode(_unref(PlElementList), {
17
+ 172| items: emptyGroup,
18
+ 173| "onUpdate:items": _cache[2] || (_cache[2] = ($event: any) => ((emptyGroup) = $event)),
19
+ | ^
20
+ 174| "get-item-key": (group) => group.id,
21
+ 175| "item-class": _ctx.$style.filterGroup,
22
+ 
23
+ ✓ 268 modules transformed.
11
24
  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
25
  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
26
  rendering chunks...
@@ -36,6 +49,7 @@ computing gzip size...
36
49
  dist/urls.js  0.14 kB │ gzip: 0.15 kB │ map: 0.64 kB
37
50
  dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js  0.14 kB │ gzip: 0.13 kB │ map: 0.12 kB
38
51
  dist/lib/util/helpers/dist/random.js  0.16 kB │ gzip: 0.16 kB │ map: 0.74 kB
52
+ dist/components/PlAdvancedFilter/types.js  0.18 kB │ gzip: 0.18 kB │ map: 3.30 kB
39
53
  dist/_virtual/_plugin-vue_export-helper.js  0.19 kB │ gzip: 0.17 kB │ map: 0.12 kB
40
54
  dist/components/PlAgDataTable/sources/menu-items.js  0.19 kB │ gzip: 0.16 kB │ map: 0.52 kB
41
55
  dist/lib/util/helpers/dist/functions.js  0.20 kB │ gzip: 0.17 kB │ map: 5.26 kB
@@ -64,8 +78,8 @@ computing gzip size...
64
78
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js  0.27 kB │ gzip: 0.21 kB │ map: 0.59 kB
65
79
  dist/components/PlMultiSequenceAlignment/Legend.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
66
80
  dist/_virtual/index.js  0.27 kB │ gzip: 0.21 kB │ map: 0.09 kB
67
- dist/components/PlBtnExportArchive/Summary.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
68
81
  dist/components/PlMultiSequenceAlignment/Toolbar.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
82
+ dist/components/PlBtnExportArchive/Summary.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
69
83
  dist/components/PlMultiSequenceAlignment/SeqLogo.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
70
84
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/intersects.js  0.28 kB │ gzip: 0.21 kB │ map: 0.67 kB
71
85
  dist/components/PlMultiSequenceAlignment/Consensus.vue.js  0.28 kB │ gzip: 0.21 kB │ map: 0.10 kB
@@ -73,8 +87,10 @@ computing gzip size...
73
87
  dist/plugins/Monetization/LimitCard.vue.js  0.28 kB │ gzip: 0.21 kB │ map: 0.10 kB
74
88
  dist/components/BlockLayout.vue.js  0.28 kB │ gzip: 0.22 kB │ map: 0.11 kB
75
89
  dist/plugins/Monetization/EndOfPeriod.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
90
+ dist/components/PlAdvancedFilter/SingleFilter.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
76
91
  dist/components/PlAnnotations/components/DynamicForm.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
77
92
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/debug.js  0.29 kB │ gzip: 0.23 kB │ map: 0.63 kB
93
+ dist/components/PlAdvancedFilter/OperandButton.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
78
94
  dist/components/PlAnnotations/components/PlAnnotations.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
79
95
  dist/components/PlAnnotations/components/FilterSidebar.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
80
96
  dist/components/PlAgDataTable/PlAgDataTableV2.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
@@ -82,12 +98,13 @@ computing gzip size...
82
98
  dist/plugins/Monetization/UserCabinetCard.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
83
99
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js  0.30 kB │ gzip: 0.22 kB │ map: 0.68 kB
84
100
  dist/components/PlTableFilters/PlTableFiltersV2.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
101
+ dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
85
102
  dist/components/PlMultiSequenceAlignment/PhylogeneticTree.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
86
103
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js  0.30 kB │ gzip: 0.23 kB │ map: 0.78 kB
87
104
  dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
88
105
  dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
89
- dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
90
106
  dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
107
+ dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
91
108
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js  0.31 kB │ gzip: 0.22 kB │ map: 0.76 kB
92
109
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js  0.32 kB │ gzip: 0.23 kB │ map: 0.12 kB
93
110
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js  0.32 kB │ gzip: 0.23 kB │ map: 0.74 kB
@@ -135,10 +152,12 @@ computing gzip size...
135
152
  dist/plugins/Monetization/EndOfPeriod.vue2.js  0.77 kB │ gzip: 0.47 kB │ map: 1.55 kB
136
153
  dist/components/BlockLoader.vue.js  0.82 kB │ gzip: 0.48 kB │ map: 1.12 kB
137
154
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/simplify.js  0.83 kB │ gzip: 0.44 kB │ map: 2.64 kB
155
+ dist/components/PlAdvancedFilter/OperandButton.vue2.js  0.84 kB │ gzip: 0.51 kB │ map: 1.40 kB
138
156
  dist/components/PlMultiSequenceAlignment/Legend.vue2.js  0.85 kB │ gzip: 0.49 kB │ map: 1.09 kB
139
157
  dist/components/PlBtnExportArchive/Summary.vue3.js  0.85 kB │ gzip: 0.49 kB │ map: 0.10 kB
140
158
  dist/components/NotFound.vue.js  0.89 kB │ gzip: 0.53 kB │ map: 0.75 kB
141
159
  dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js  0.91 kB │ gzip: 0.52 kB │ map: 0.11 kB
160
+ dist/components/PlAdvancedFilter/OperandButton.vue3.js  0.93 kB │ gzip: 0.52 kB │ map: 0.11 kB
142
161
  dist/node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/index.js  0.94 kB │ gzip: 0.42 kB │ map: 1.12 kB
143
162
  dist/components/ValueOrErrorsComponent.vue.js  0.98 kB │ gzip: 0.50 kB │ map: 1.34 kB
144
163
  dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js  1.00 kB │ gzip: 0.55 kB │ map: 1.84 kB
@@ -156,6 +175,7 @@ computing gzip size...
156
175
  dist/lib/util/helpers/dist/objects.js  1.18 kB │ gzip: 0.53 kB │ map: 9.42 kB
157
176
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js  1.18 kB │ gzip: 0.58 kB │ map: 3.54 kB
158
177
  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
178
+ dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js  1.26 kB │ gzip: 0.65 kB │ map: 0.11 kB
159
179
  dist/plugins/Monetization/RunStatus.vue2.js  1.27 kB │ gzip: 0.59 kB │ map: 2.46 kB
160
180
  dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js  1.30 kB │ gzip: 0.66 kB │ map: 1.40 kB
161
181
  dist/components/PlBtnExportArchive/Summary.vue2.js  1.32 kB │ gzip: 0.58 kB │ map: 0.13 kB
@@ -167,6 +187,7 @@ computing gzip size...
167
187
  dist/plugins/Monetization/UserCabinetCard.vue3.js  1.55 kB │ gzip: 0.77 kB │ map: 0.11 kB
168
188
  dist/components/PlAgDataTable/sources/focus-row.js  1.57 kB │ gzip: 0.75 kB │ map: 2.65 kB
169
189
  dist/utils.js  1.57 kB │ gzip: 0.72 kB │ map: 3.81 kB
190
+ dist/components/PlAdvancedFilter/constants.js  1.60 kB │ gzip: 0.50 kB │ map: 3.43 kB
170
191
  dist/AgGridVue/createAgGridColDef.js  1.61 kB │ gzip: 0.72 kB │ map: 9.40 kB
171
192
  dist/components/PlAgCsvExporter/export-csv.js  1.63 kB │ gzip: 0.74 kB │ map: 3.92 kB
172
193
  dist/aggrid.js  1.65 kB │ gzip: 0.79 kB │ map: 3.09 kB
@@ -184,6 +205,7 @@ computing gzip size...
184
205
  dist/components/PlTableFilters/PlTableFiltersV2.vue3.js  2.58 kB │ gzip: 0.94 kB │ map: 0.12 kB
185
206
  dist/components/PlTableFilters/filters-state.js  2.60 kB │ gzip: 1.08 kB │ map: 7.95 kB
186
207
  dist/components/PlAnnotations/components/PlAnnotations.vue2.js  2.61 kB │ gzip: 1.06 kB │ map: 3.44 kB
208
+ dist/components/PlAdvancedFilter/SingleFilter.vue3.js  2.62 kB │ gzip: 1.04 kB │ map: 0.12 kB
187
209
  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
188
210
  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
189
211
  dist/components/PlAgDataTable/sources/row-number.js  3.10 kB │ gzip: 1.34 kB │ map: 8.36 kB
@@ -202,6 +224,7 @@ computing gzip size...
202
224
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js  3.84 kB │ gzip: 1.52 kB │ map: 4.99 kB
203
225
  dist/plugins/Monetization/LimitCard.vue2.js  3.84 kB │ gzip: 1.15 kB │ map: 7.17 kB
204
226
  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
227
+ dist/components/PlAdvancedFilter/utils.js  4.17 kB │ gzip: 1.32 kB │ map: 12.29 kB
205
228
  dist/components/PlAnnotations/components/DynamicForm.vue2.js  4.55 kB │ gzip: 1.42 kB │ map: 7.20 kB
206
229
  dist/plugins/Monetization/MonetizationSidebar.vue.js  4.70 kB │ gzip: 1.74 kB │ map: 4.91 kB
207
230
  dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js  4.71 kB │ gzip: 1.66 kB │ map: 9.69 kB
@@ -216,6 +239,7 @@ computing gzip size...
216
239
  dist/components/PlTableFilters/PlTableFiltersV2.vue2.js  6.10 kB │ gzip: 2.02 kB │ map: 9.27 kB
217
240
  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
218
241
  dist/internal/createAppV2.js  6.93 kB │ gzip: 2.43 kB │ map: 19.37 kB
242
+ dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js  6.97 kB │ gzip: 2.09 kB │ map: 9.82 kB
219
243
  dist/components/PlAgDataTable/sources/table-source-v2.js  7.32 kB │ gzip: 2.67 kB │ map: 22.27 kB
220
244
  dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js  7.35 kB │ gzip: 1.61 kB │ map: 6.15 kB
221
245
  dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js  7.69 kB │ gzip: 2.67 kB │ map: 13.49 kB
@@ -224,15 +248,16 @@ computing gzip size...
224
248
  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
225
249
  dist/components/PlTableFilters/filters_logic.js  9.18 kB │ gzip: 2.18 kB │ map: 20.22 kB
226
250
  dist/components/PlMultiSequenceAlignment/data.js  11.26 kB │ gzip: 3.62 kB │ map: 33.76 kB
251
+ dist/components/PlAdvancedFilter/SingleFilter.vue2.js  12.85 kB │ gzip: 3.19 kB │ map: 20.59 kB
227
252
  dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js  35.48 kB │ gzip: 26.70 kB │ map: 0.11 kB
228
253
  dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js  41.43 kB │ gzip: 30.91 kB │ map: 0.12 kB
229
- dist/index.js  43.03 kB │ gzip: 29.00 kB │ map: 0.13 kB
254
+ dist/index.js  43.14 kB │ gzip: 29.03 kB │ map: 0.13 kB
230
255
  dist/components/PlAgDataTable/PlAgRowCount.vue.js  43.98 kB │ gzip: 29.04 kB │ map: 2.74 kB
231
256
  dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js  44.36 kB │ gzip: 29.28 kB │ map: 2.47 kB
232
257
  dist/components/PlAgRowNumHeader.vue.js  44.64 kB │ gzip: 29.28 kB │ map: 3.70 kB
233
258
  dist/AgGridVue/useAgGridOptions.js  49.28 kB │ gzip: 30.14 kB │ map: 16.35 kB
234
259
  dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js  50.33 kB │ gzip: 31.04 kB │ map: 33.70 kB
235
- [vite:dts] Declaration files built in 7334ms.
260
+ [vite:dts] Declaration files built in 8458ms.
236
261
 
237
- ✓ built in 9.44s
262
+ ✓ built in 10.79s
238
263
  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.45.31 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.45.35 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,22 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.45.35
4
+
5
+ ### Patch Changes
6
+
7
+ - d088e83: add pl-advanced-filter
8
+ - Updated dependencies [d088e83]
9
+ - @milaboratories/uikit@2.6.2
10
+ - @platforma-sdk/model@1.45.35
11
+ - @milaboratories/ptabler-expression-js@1.1.3
12
+
13
+ ## 1.45.34
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [2893e7c]
18
+ - @milaboratories/uikit@2.6.1
19
+
3
20
  ## 1.45.31
4
21
 
5
22
  ### Patch Changes
@@ -0,0 +1,8 @@
1
+ import { Operand } from './types';
2
+ type __VLS_Props = {
3
+ active: Operand;
4
+ disabled: boolean;
5
+ onSelect: (op: Operand) => void;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
8
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import o from "./OperandButton.vue2.js";
2
+ import s from "./OperandButton.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const r = {
5
+ $style: s
6
+ }, f = /* @__PURE__ */ t(o, [["__cssModules", r]]);
7
+ export {
8
+ f as default
9
+ };
10
+ //# sourceMappingURL=OperandButton.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperandButton.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,25 @@
1
+ import { defineComponent as r, createElementBlock as o, openBlock as s, mergeProps as c, Fragment as i, renderList as d, createElementVNode as p, normalizeClass as m, toDisplayString as u } from "vue";
2
+ const y = ["onClick"], b = /* @__PURE__ */ r({
3
+ __name: "OperandButton",
4
+ props: {
5
+ active: {},
6
+ disabled: { type: Boolean },
7
+ onSelect: { type: Function }
8
+ },
9
+ setup(a) {
10
+ const e = a, l = ["and", "or"];
11
+ return (t, k) => (s(), o("div", c(t.$attrs, {
12
+ class: t.$style.block
13
+ }), [
14
+ (s(), o(i, null, d(l, (n) => p("div", {
15
+ key: n,
16
+ class: m([t.$style.operand, { [t.$style.active]: n === e.active && !e.disabled }]),
17
+ onClick: (v) => !e.disabled && e.onSelect(n)
18
+ }, u(n), 11, y)), 64))
19
+ ], 16));
20
+ }
21
+ });
22
+ export {
23
+ b as default
24
+ };
25
+ //# sourceMappingURL=OperandButton.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperandButton.vue2.js","sources":["../../../src/components/PlAdvancedFilter/OperandButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Operand } from './types';\n\nconst props = defineProps<{\n active: Operand;\n disabled: boolean;\n onSelect: (op: Operand) => void;\n}>();\n\nconst OPTIONS: Operand[] = ['and', 'or'];\n</script>\n<template>\n <div v-bind=\"$attrs\" :class=\"$style.block\">\n <div\n v-for=\"op in OPTIONS\"\n :key=\"op\"\n :class=\"[$style.operand, {[$style.active]: op === props.active && !props.disabled}]\"\n @click=\"!props.disabled && props.onSelect(op)\"\n >\n {{ op }}\n </div>\n </div>\n</template>\n<style module>\n.block {\n width: 100%;\n display: flex;\n gap: 4px;\n justify-content: center;\n height: 72px;\n align-items: center;\n}\n.operand {\n border-radius: 16px;\n width: 64px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-transform: uppercase;\n font-weight: 600;\n\n color: var(--txt-03);\n border: 1px solid var(--color-div-grey);\n background: transparent;\n cursor: pointer;\n}\n.operand.active {\n color: var(--txt-01);\n background: #fff;\n border: 1px solid var(--txt-01);\n}\n</style>\n"],"names":["props","__props","OPTIONS"],"mappings":";;;;;;;;;AAGA,UAAMA,IAAQC,GAMRC,IAAqB,CAAC,OAAO,IAAI;;;;;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._block_17545_2{width:100%;display:flex;gap:4px;justify-content:center;height:72px;align-items:center}._operand_17545_10{border-radius:16px;width:64px;height:32px;display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-weight:600;color:var(--txt-03);border:1px solid var(--color-div-grey);background:transparent;cursor:pointer}._operand_17545_10._active_17545_25{color:var(--txt-01);background:#fff;border:1px solid var(--txt-01)}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ const o = "_block_17545_2", c = "_operand_17545_10", t = "_active_17545_25", e = {
3
+ block: o,
4
+ operand: c,
5
+ active: t
6
+ };
7
+ export {
8
+ t as active,
9
+ o as block,
10
+ e as default,
11
+ c as operand
12
+ };
13
+ //# sourceMappingURL=OperandButton.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperandButton.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,39 @@
1
+ import { PlAdvancedFilterColumnId, CommonFilterSpec, SourceOptionInfo } from './types';
2
+ import { ListOptionBase } from '@platforma-sdk/model';
3
+ type __VLS_Props = {
4
+ /** List of ids of sources (columns, axes) that can be selected in filters */
5
+ items: SourceOptionInfo[];
6
+ /** If true - new filter can be added by droppind element into filter group; else new column is added by button click */
7
+ enableDnd?: boolean;
8
+ /** Loading function for unique values for Equal/InSet filters and fixed axes options. */
9
+ getSuggestOptions: (params: {
10
+ columnId: PlAdvancedFilterColumnId;
11
+ searchStr: string;
12
+ axisIdx?: number;
13
+ }) => (Promise<ListOptionBase<string | number>[]>) | ((params: {
14
+ columnId: PlAdvancedFilterColumnId;
15
+ searchStr: string;
16
+ axisIdx?: number;
17
+ }) => ListOptionBase<string | number>[]);
18
+ /** Loading function for label of selected value for Equal/InSet filters and fixed axes options. */
19
+ getSuggestModel: (params: {
20
+ columnId: PlAdvancedFilterColumnId;
21
+ searchStr: string;
22
+ axisIdx?: number;
23
+ }) => (Promise<ListOptionBase<string | number>>) | ((params: {
24
+ columnId: PlAdvancedFilterColumnId;
25
+ searchStr: string;
26
+ axisIdx?: number;
27
+ }) => ListOptionBase<string | number>);
28
+ };
29
+ type __VLS_PublicProps = {
30
+ modelValue: CommonFilterSpec;
31
+ } & __VLS_Props;
32
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
33
+ "update:modelValue": (value: CommonFilterSpec) => any;
34
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
35
+ "onUpdate:modelValue"?: ((value: CommonFilterSpec) => any) | undefined;
36
+ }>, {
37
+ enableDnd: boolean;
38
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
39
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import s from "./PlAdvancedFilter.vue2.js";
2
+ import o from "./PlAdvancedFilter.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = {
5
+ $style: o
6
+ }, m = /* @__PURE__ */ t(s, [["__cssModules", e]]);
7
+ export {
8
+ m as default
9
+ };
10
+ //# sourceMappingURL=PlAdvancedFilter.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlAdvancedFilter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,199 @@
1
+ import { defineComponent as B, mergeModels as L, useModel as z, computed as A, createElementBlock as m, openBlock as r, createVNode as d, unref as l, withCtx as i, normalizeClass as g, createElementVNode as v, createBlock as y, createTextVNode as a, Fragment as w, renderList as R } from "vue";
2
+ import q from "./SingleFilter.vue.js";
3
+ import { PlElementList as c, PlCheckbox as C, PlBtnSecondary as $, PlIcon16 as F } from "@milaboratories/uikit";
4
+ import I from "./OperandButton.vue.js";
5
+ import { DEFAULT_FILTERS as W, DEFAULT_FILTER_TYPE as Y } from "./constants.js";
6
+ import { useInnerModel as j, createNewGroup as H, isValidColumnId as U, toOuterModel as J, toInnerModel as K } from "./utils.js";
7
+ const Q = ["onDrop"], te = /* @__PURE__ */ B({
8
+ __name: "PlAdvancedFilter",
9
+ props: /* @__PURE__ */ L({
10
+ items: {},
11
+ enableDnd: { type: Boolean, default: !1 },
12
+ getSuggestOptions: {},
13
+ getSuggestModel: {}
14
+ }, {
15
+ modelValue: { required: !0 },
16
+ modelModifiers: {}
17
+ }),
18
+ emits: ["update:modelValue"],
19
+ setup(D) {
20
+ const E = D, M = z(D, "modelValue"), s = j(K, J, M), b = A(() => {
21
+ var o;
22
+ return (o = E.items[0]) == null ? void 0 : o.id;
23
+ }), V = [{
24
+ id: "empty",
25
+ not: !1,
26
+ operand: "and",
27
+ filters: [],
28
+ expanded: !0
29
+ }];
30
+ function k(o, e) {
31
+ s.value.groups[o].filters.push({
32
+ ...W[Y],
33
+ column: e
34
+ });
35
+ }
36
+ function P(o, e) {
37
+ s.value.groups[o].filters.length === 1 && e === 0 ? N(o) : s.value.groups[o].filters = s.value.groups[o].filters.filter((t, n) => n !== e);
38
+ }
39
+ function N(o) {
40
+ s.value.groups = s.value.groups.filter((e, t) => t !== o);
41
+ }
42
+ function G(o) {
43
+ const e = H(o);
44
+ s.value.groups.push(e);
45
+ }
46
+ function O(o, e) {
47
+ const t = e.dataTransfer;
48
+ if (t != null && t.getData("text/plain")) {
49
+ const n = t.getData("text/plain");
50
+ U(n) && k(o, n);
51
+ }
52
+ }
53
+ function S(o) {
54
+ const e = o.dataTransfer;
55
+ if (e != null && e.getData("text/plain")) {
56
+ const t = e.getData("text/plain");
57
+ U(t) && G(t);
58
+ }
59
+ }
60
+ function T(o) {
61
+ o.preventDefault();
62
+ }
63
+ return (o, e) => (r(), m("div", null, [
64
+ d(l(c), {
65
+ items: l(s).groups,
66
+ "onUpdate:items": e[0] || (e[0] = (t) => l(s).groups = t),
67
+ "get-item-key": (t) => t.id,
68
+ "item-class": o.$style.filterGroup,
69
+ "item-class-content": o.$style.filterGroupContent,
70
+ "item-class-title": o.$style.filterGroupTitle,
71
+ "is-expanded": (t) => t.expanded,
72
+ disableDragging: !1,
73
+ disableRemoving: !1,
74
+ disableToggling: !0,
75
+ disablePinning: !0,
76
+ "on-expand": (t) => {
77
+ t.expanded = !t.expanded;
78
+ }
79
+ }, {
80
+ "item-title": i(() => e[3] || (e[3] = [
81
+ a(" Filter group ")
82
+ ])),
83
+ "item-content": i(({ item: t, index: n }) => [
84
+ v("div", {
85
+ class: g(o.$style.groupContent),
86
+ dropzone: "true",
87
+ onDrop: (u) => O(n, u),
88
+ onDragover: T
89
+ }, [
90
+ d(l(C), {
91
+ modelValue: t.not,
92
+ "onUpdate:modelValue": (u) => t.not = u
93
+ }, {
94
+ default: i(() => e[4] || (e[4] = [
95
+ a("NOT")
96
+ ])),
97
+ _: 2
98
+ }, 1032, ["modelValue", "onUpdate:modelValue"]),
99
+ (r(!0), m(w, null, R(t.filters, (u, p) => (r(), y(q, {
100
+ key: p,
101
+ modelValue: t.filters[p],
102
+ "onUpdate:modelValue": (f) => t.filters[p] = f,
103
+ operand: t.operand,
104
+ "column-options": o.items,
105
+ "get-suggest-model": o.getSuggestModel,
106
+ "get-suggest-options": o.getSuggestOptions,
107
+ "enable-dnd": o.enableDnd,
108
+ "is-last": p === t.filters.length - 1,
109
+ "on-change-operand": (f) => t.operand = f,
110
+ "on-delete": () => P(n, p)
111
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "operand", "column-options", "get-suggest-model", "get-suggest-options", "enable-dnd", "is-last", "on-change-operand", "on-delete"]))), 128)),
112
+ o.enableDnd ? (r(), m("div", {
113
+ key: 0,
114
+ class: g(o.$style.dropzone)
115
+ }, e[5] || (e[5] = [
116
+ v("div", null, "Drop dimensions here", -1)
117
+ ]), 2)) : (r(), y(l($), {
118
+ key: 1,
119
+ onClick: (u) => k(n, b.value)
120
+ }, {
121
+ default: i(() => [
122
+ d(l(F), {
123
+ name: "add",
124
+ style: { "margin-right": "8px" }
125
+ }),
126
+ e[6] || (e[6] = a("Add column "))
127
+ ]),
128
+ _: 2
129
+ }, 1032, ["onClick"]))
130
+ ], 42, Q)
131
+ ]),
132
+ "item-after": i(({ index: t }) => [
133
+ d(I, {
134
+ class: g(o.$style.buttonWrapper),
135
+ active: l(s).operand,
136
+ disabled: t === l(s).groups.length - 1,
137
+ "on-select": (n) => l(s).operand = n
138
+ }, null, 8, ["class", "active", "disabled", "on-select"])
139
+ ]),
140
+ _: 1
141
+ }, 8, ["items", "get-item-key", "item-class", "item-class-content", "item-class-title", "is-expanded", "on-expand"]),
142
+ d(l(c), {
143
+ items: V,
144
+ "onUpdate:items": e[2] || (e[2] = (t) => V = t),
145
+ "get-item-key": (t) => t.id,
146
+ "item-class": o.$style.filterGroup,
147
+ "item-class-content": o.$style.filterGroupContent,
148
+ "item-class-title": o.$style.filterGroupTitle,
149
+ "is-expanded": () => !0,
150
+ disableDragging: !0,
151
+ disableRemoving: !0,
152
+ disableToggling: !0,
153
+ disablePinning: !0,
154
+ dropzone: "true",
155
+ onDrop: S,
156
+ onDragover: T
157
+ }, {
158
+ "item-title": i(() => e[7] || (e[7] = [
159
+ a("Filter group")
160
+ ])),
161
+ "item-content": i(({ item: t }) => [
162
+ d(l(C), {
163
+ modelValue: t.not,
164
+ "onUpdate:modelValue": (n) => t.not = n,
165
+ disabled: ""
166
+ }, {
167
+ default: i(() => e[8] || (e[8] = [
168
+ a("NOT")
169
+ ])),
170
+ _: 2
171
+ }, 1032, ["modelValue", "onUpdate:modelValue"]),
172
+ o.enableDnd ? (r(), m("div", {
173
+ key: 0,
174
+ class: g(o.$style.dropzone)
175
+ }, e[9] || (e[9] = [
176
+ v("div", null, "Drop dimensions here", -1)
177
+ ]), 2)) : (r(), y(l($), {
178
+ key: 1,
179
+ onClick: e[1] || (e[1] = (n) => G(b.value))
180
+ }, {
181
+ default: i(() => [
182
+ d(l(F), {
183
+ name: "add",
184
+ style: { "margin-right": "8px" }
185
+ }),
186
+ e[10] || (e[10] = a("Add column "))
187
+ ]),
188
+ _: 1
189
+ }))
190
+ ]),
191
+ _: 1
192
+ }, 8, ["get-item-key", "item-class", "item-class-content", "item-class-title"])
193
+ ]));
194
+ }
195
+ });
196
+ export {
197
+ te as default
198
+ };
199
+ //# sourceMappingURL=PlAdvancedFilter.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlAdvancedFilter.vue2.js","sources":["../../../src/components/PlAdvancedFilter/PlAdvancedFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport SingleFilter from './SingleFilter.vue';\nimport { PlBtnSecondary, PlElementList, PlCheckbox, PlIcon16 } from '@milaboratories/uikit';\nimport type { PlAdvancedFilterColumnId, CommonFilterSpec, Group, PlAdvancedFilterUI, SourceOptionInfo } from './types';\nimport { computed } from 'vue';\nimport OperandButton from './OperandButton.vue';\nimport { DEFAULT_FILTER_TYPE, DEFAULT_FILTERS } from './constants';\nimport type { ListOptionBase } from '@platforma-sdk/model';\nimport { createNewGroup, isValidColumnId, toInnerModel, toOuterModel, useInnerModel } from './utils';\n\nconst props = withDefaults(defineProps<{\n /** List of ids of sources (columns, axes) that can be selected in filters */\n items: SourceOptionInfo[];\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 /** Loading function for unique values for Equal/InSet filters and fixed axes options. */\n getSuggestOptions: (params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) => (Promise<ListOptionBase<string | number>[]>) |\n ((params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) => ListOptionBase<string | number>[]);\n /** Loading function for label of selected value for Equal/InSet filters and fixed axes options. */\n getSuggestModel: (params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) => (Promise<ListOptionBase<string | number>>) |\n ((params: { columnId: PlAdvancedFilterColumnId; searchStr: string; axisIdx?: number }) => ListOptionBase<string | number>);\n}>(), { enableDnd: false });\n\nconst model = defineModel<CommonFilterSpec>({ required: true });\nconst innerModel = useInnerModel<CommonFilterSpec, PlAdvancedFilterUI>(toInnerModel, toOuterModel, model);\n\nconst firstColumnId = computed(() => props.items[0]?.id);\nconst emptyGroup: Group[] = [{\n id: 'empty',\n not: false,\n operand: 'and',\n filters: [],\n expanded: true,\n}];\n\nfunction addColumnToGroup(groupIdx: number, selectedSourceId: PlAdvancedFilterColumnId) {\n innerModel.value.groups[groupIdx].filters.push({\n ...DEFAULT_FILTERS[DEFAULT_FILTER_TYPE],\n column: selectedSourceId,\n });\n}\n\nfunction removeFilterFromGroup(groupIdx: number, filterIdx: number) {\n if (innerModel.value.groups[groupIdx].filters.length === 1 && filterIdx === 0) {\n removeGroup(groupIdx);\n } else {\n innerModel.value.groups[groupIdx].filters = innerModel.value.groups[groupIdx].filters.filter((_v, idx) => idx !== filterIdx);\n }\n}\n\nfunction removeGroup(groupIdx: number) {\n innerModel.value.groups = innerModel.value.groups.filter((v, idx) => idx !== groupIdx);\n}\nfunction addGroup(selectedSourceId: PlAdvancedFilterColumnId) {\n const newGroup = createNewGroup(selectedSourceId);\n innerModel.value.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</script>\n<template>\n <div>\n <PlElementList\n v-model:items=\"innerModel.groups\"\n :get-item-key=\"(group) => group.id\"\n\n :item-class=\"$style.filterGroup\"\n :item-class-content=\"$style.filterGroupContent\"\n :item-class-title=\"$style.filterGroupTitle\"\n\n :is-expanded=\"(group) => group.expanded\"\n\n :disableDragging=\"false\"\n :disableRemoving=\"false\"\n :disableToggling=\"true\"\n :disablePinning=\"true\"\n\n :on-expand=\"(group) => { group.expanded = !group.expanded}\"\n >\n <template #item-title>\n Filter group\n </template>\n <template #item-content=\"{ item, index }\">\n <div\n :class=\"$style.groupContent\" dropzone=\"true\"\n @drop=\"(event) => handleDropToExistingGroup(index, event)\"\n @dragover=\"dragOver\"\n >\n <PlCheckbox v-model=\"item.not\">NOT</PlCheckbox>\n <SingleFilter\n v-for=\"(filter, filterIdx) in item.filters\"\n :key=\"filterIdx\"\n v-model=\"item.filters[filterIdx]\"\n :operand=\"item.operand\"\n :column-options=\"items\"\n :get-suggest-model=\"getSuggestModel\"\n :get-suggest-options=\"getSuggestOptions\"\n :enable-dnd=\"enableDnd\"\n :is-last=\"filterIdx === item.filters.length - 1\"\n :on-change-operand=\"(v) => item.operand = v\"\n :on-delete=\"() => removeFilterFromGroup(index, filterIdx)\"\n />\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else @click=\"addColumnToGroup(index, firstColumnId)\">\n <PlIcon16 name=\"add\" style=\"margin-right: 8px\"/>Add column\n </PlBtnSecondary>\n </div>\n </template>\n <template #item-after=\"{ index }\">\n <OperandButton\n :class=\"$style.buttonWrapper\"\n :active=\"innerModel.operand\"\n :disabled=\"index === innerModel.groups.length - 1\"\n :on-select=\"(v) => innerModel.operand = v\"\n />\n </template>\n </PlElementList>\n\n <!-- Last group - always exists, always empty, just for adding new groups -->\n <PlElementList\n v-model: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\n :is-expanded=\"() => true\"\n\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=\"{item}\">\n <PlCheckbox v-model=\"item.not\" disabled >NOT</PlCheckbox>\n <div v-if=\"enableDnd\" :class=\"$style.dropzone\">\n <div>Drop dimensions here</div>\n </div>\n <PlBtnSecondary v-else @click=\"addGroup(firstColumnId)\">\n <PlIcon16 name=\"add\" style=\"margin-right: 8px\"/>Add column\n </PlBtnSecondary>\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 .groupContent {\n display: flex;\n flex-direction: column;\n gap: 12px;\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 height: 72px;\n display: flex;\n align-items: center;\n }\n :global(.sortable-chosen) .buttonWrapper {\n visibility: hidden;\n }\n</style>\n"],"names":["props","__props","model","_useModel","innerModel","useInnerModel","toInnerModel","toOuterModel","firstColumnId","computed","_a","emptyGroup","addColumnToGroup","groupIdx","selectedSourceId","DEFAULT_FILTERS","DEFAULT_FILTER_TYPE","removeFilterFromGroup","filterIdx","removeGroup","_v","idx","v","addGroup","newGroup","createNewGroup","handleDropToExistingGroup","event","dataTransfer","draggedId","isValidColumnId","handleDropToNewGroup","dragOver"],"mappings":";;;;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAQC,GAaRC,IAAQC,iBAAgD,GACxDC,IAAaC,EAAoDC,GAAcC,GAAcL,CAAK,GAElGM,IAAgBC,EAAS,MAAA;;AAAM,cAAAC,IAAAV,EAAM,MAAM,CAAC,MAAb,gBAAAU,EAAgB;AAAA,KAAE,GACjDC,IAAsB,CAAC;AAAA,MAC3B,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,SAAS;AAAA,MACT,SAAS,CAAA;AAAA,MACT,UAAU;AAAA,IAAA,CACX;AAED,aAASC,EAAiBC,GAAkBC,GAA4C;AACtF,MAAAV,EAAW,MAAM,OAAOS,CAAQ,EAAE,QAAQ,KAAK;AAAA,QAC7C,GAAGE,EAAgBC,CAAmB;AAAA,QACtC,QAAQF;AAAA,MAAA,CACT;AAAA,IACH;AAEA,aAASG,EAAsBJ,GAAkBK,GAAmB;AAClE,MAAId,EAAW,MAAM,OAAOS,CAAQ,EAAE,QAAQ,WAAW,KAAKK,MAAc,IAC1EC,EAAYN,CAAQ,IAEpBT,EAAW,MAAM,OAAOS,CAAQ,EAAE,UAAUT,EAAW,MAAM,OAAOS,CAAQ,EAAE,QAAQ,OAAO,CAACO,GAAIC,MAAQA,MAAQH,CAAS;AAAA,IAE/H;AAEA,aAASC,EAAYN,GAAkB;AACrC,MAAAT,EAAW,MAAM,SAASA,EAAW,MAAM,OAAO,OAAO,CAACkB,GAAGD,MAAQA,MAAQR,CAAQ;AAAA,IACvF;AACA,aAASU,EAAST,GAA4C;AAC5D,YAAMU,IAAWC,EAAeX,CAAgB;AAChD,MAAAV,EAAW,MAAM,OAAO,KAAKoB,CAAQ;AAAA,IACvC;AAEA,aAASE,EAA0Bb,GAAkBc,GAAkB;AACrE,YAAMC,IAAeD,EAAM;AAC3B,UAAIC,KAAA,QAAAA,EAAc,QAAQ,eAAe;AACvC,cAAMC,IAAYD,EAAa,QAAQ,YAAY;AACnD,QAAIE,EAAgBD,CAAS,KAC3BjB,EAAiBC,GAAUgB,CAAS;AAAA,MAExC;AAAA,IACF;AACA,aAASE,EAAqBJ,GAAkB;AAC9C,YAAMC,IAAeD,EAAM;AAC3B,UAAIC,KAAA,QAAAA,EAAc,QAAQ,eAAe;AACvC,cAAMC,IAAYD,EAAa,QAAQ,YAAY;AACnD,QAAIE,EAAgBD,CAAS,KAC3BN,EAASM,CAAS;AAAA,MAEtB;AAAA,IACF;AACA,aAASG,EAASL,GAAkB;AAClC,MAAAA,EAAM,eAAA;AAAA,IACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._filterGroup_9px85_2{background:var(--bg-base-light)}._filterGroup_9px85_2:hover{background:#63e0241f}._filterGroupTitle_9px85_8{background:none}._groupContent_9px85_11{display:flex;flex-direction:column;gap:12px}._dropzone_9px85_16{border-radius:6px;border:1.5px dashed var(--color-div-grey);color:var(--txt-03);font-family:Manrope;font-size:14px;font-style:normal;font-weight:500;height:40px;cursor:default;display:flex;justify-content:center;align-items:center}._buttonWrapper_9px85_30{height:72px;display:flex;align-items:center}.sortable-chosen ._buttonWrapper_9px85_30{visibility:hidden}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ const t = "_filterGroup_9px85_2", o = "_filterGroupTitle_9px85_8", r = "_groupContent_9px85_11", p = "_dropzone_9px85_16", e = "_buttonWrapper_9px85_30", n = {
3
+ filterGroup: t,
4
+ filterGroupTitle: o,
5
+ groupContent: r,
6
+ dropzone: p,
7
+ buttonWrapper: e
8
+ };
9
+ export {
10
+ e as buttonWrapper,
11
+ n as default,
12
+ p as dropzone,
13
+ t as filterGroup,
14
+ o as filterGroupTitle,
15
+ r as groupContent
16
+ };
17
+ //# sourceMappingURL=PlAdvancedFilter.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlAdvancedFilter.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,37 @@
1
+ import { PlAdvancedFilterColumnId, Filter, Operand, SourceOptionInfo } from './types';
2
+ import { SUniversalPColumnId, ListOptionBase } from '@platforma-sdk/model';
3
+ type __VLS_Props = {
4
+ operand: Operand;
5
+ columnOptions: SourceOptionInfo[];
6
+ enableDnd: boolean;
7
+ isLast: boolean;
8
+ getSuggestOptions: (params: {
9
+ columnId: PlAdvancedFilterColumnId;
10
+ searchStr: string;
11
+ axisIdx?: number;
12
+ }) => (Promise<ListOptionBase<string | number>[]>) | ((params: {
13
+ columnId: SUniversalPColumnId;
14
+ searchStr: string;
15
+ axisIdx?: number;
16
+ }) => ListOptionBase<string | number>[]);
17
+ getSuggestModel: (params: {
18
+ columnId: PlAdvancedFilterColumnId;
19
+ searchStr: string;
20
+ axisIdx?: number;
21
+ }) => (Promise<ListOptionBase<string | number>>) | ((params: {
22
+ columnId: PlAdvancedFilterColumnId;
23
+ searchStr: string;
24
+ axisIdx?: number;
25
+ }) => ListOptionBase<string | number>);
26
+ onDelete: (columnId: PlAdvancedFilterColumnId) => void;
27
+ onChangeOperand: (op: Operand) => void;
28
+ };
29
+ type __VLS_PublicProps = {
30
+ modelValue: Filter;
31
+ } & __VLS_Props;
32
+ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
33
+ "update:modelValue": (value: Filter) => any;
34
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
35
+ "onUpdate:modelValue"?: ((value: Filter) => any) | undefined;
36
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
37
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import s from "./SingleFilter.vue2.js";
2
+ import o from "./SingleFilter.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = {
5
+ $style: o
6
+ }, c = /* @__PURE__ */ t(s, [["__cssModules", e]]);
7
+ export {
8
+ c as default
9
+ };
10
+ //# sourceMappingURL=SingleFilter.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleFilter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}