@platforma-sdk/ui-vue 1.58.4 → 1.58.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +8 -8
- 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 +14 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +5 -5
- package/dist/components/PlAdvancedFilter/index.d.ts +1 -1
- package/dist/components/PlAdvancedFilter/index.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/index.js.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +1 -2
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +76 -78
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +12 -12
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
- package/dist/index.js +4 -4
- package/package.json +6 -6
- package/src/components/PlAdvancedFilter/index.ts +1 -1
- package/src/components/PlAnnotations/components/FilterSidebar.vue +11 -6
- package/src/components/PlTableFilters/PlTableFiltersV2.vue +2 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -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.58.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.8 build /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder build --target browser-lib
|
|
5
5
|
|
|
6
6
|
Building browser-lib project...
|
|
@@ -59,7 +59,7 @@ computing gzip size...
|
|
|
59
59
|
[2mdist/[22m[36mcomponents/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
60
60
|
[2mdist/[22m[36murls.js [39m[1m[2m 0.14 kB[22m[1m[22m[2m │ gzip: 0.15 kB[22m[2m │ map: 0.64 kB[22m
|
|
61
61
|
[2mdist/[22m[36mcomponents/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js [39m[1m[2m 0.14 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.12 kB[22m
|
|
62
|
-
[2mdist/[22m[36mcomponents/PlAdvancedFilter/index.js [39m[1m[2m 0.16 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.
|
|
62
|
+
[2mdist/[22m[36mcomponents/PlAdvancedFilter/index.js [39m[1m[2m 0.16 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.74 kB[22m
|
|
63
63
|
[2mdist/[22m[36mcomponents/BlockLayout.vue3.js [39m[1m[2m 0.16 kB[22m[1m[22m[2m │ gzip: 0.15 kB[22m[2m │ map: 0.39 kB[22m
|
|
64
64
|
[2mdist/[22m[36mlib/util/helpers/dist/random.js [39m[1m[2m 0.16 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.74 kB[22m
|
|
65
65
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFiltersV2.vue3.js [39m[1m[2m 0.17 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.40 kB[22m
|
|
@@ -99,8 +99,8 @@ computing gzip size...
|
|
|
99
99
|
[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
|
|
100
100
|
[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
|
|
101
101
|
[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
|
|
102
|
-
[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
|
|
103
102
|
[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
|
|
103
|
+
[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
|
|
104
104
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue3.js [39m[1m[2m 0.32 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.64 kB[22m
|
|
105
105
|
[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
|
|
106
106
|
[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
|
|
@@ -169,14 +169,14 @@ computing gzip size...
|
|
|
169
169
|
[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
|
|
170
170
|
[2mdist/[22m[36mcomponents/PlAgDataTable/compositions/useGrid.js [39m[1m[2m 3.23 kB[22m[1m[22m[2m │ gzip: 1.33 kB[22m[2m │ map: 8.23 kB[22m
|
|
171
171
|
[2mdist/[22m[36mdefineApp.js [39m[1m[2m 3.36 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 14.79 kB[22m
|
|
172
|
-
[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.
|
|
172
|
+
[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.40 kB[22m
|
|
173
173
|
[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
|
|
174
174
|
[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
|
|
175
175
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-state-v2.js [39m[1m[2m 4.14 kB[22m[1m[22m[2m │ gzip: 1.48 kB[22m[2m │ map: 13.21 kB[22m
|
|
176
176
|
[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
|
|
177
|
-
[2mdist/[22m[36mcomponents/PlAnnotations/components/FilterSidebar.vue2.js [39m[1m[2m 4.
|
|
177
|
+
[2mdist/[22m[36mcomponents/PlAnnotations/components/FilterSidebar.vue2.js [39m[1m[2m 4.31 kB[22m[1m[22m[2m │ gzip: 1.56 kB[22m[2m │ map: 7.52 kB[22m
|
|
178
178
|
[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
|
|
179
|
-
[2mdist/[22m[36mindex.js [39m[1m[2m 5.
|
|
179
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m 5.27 kB[22m[1m[22m[2m │ gzip: 1.35 kB[22m[2m │ map: 9.59 kB[22m
|
|
180
180
|
[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
|
|
181
181
|
[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
|
|
182
182
|
[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
|
|
@@ -187,7 +187,7 @@ computing gzip size...
|
|
|
187
187
|
[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
|
|
188
188
|
[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
|
|
189
189
|
[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
|
|
190
|
-
[vite:dts] Declaration files built in
|
|
190
|
+
[vite:dts] Declaration files built in 4376ms.
|
|
191
191
|
|
|
192
|
-
[32m✓ built in
|
|
192
|
+
[32m✓ built in 6.32s[39m
|
|
193
193
|
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.58.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.8 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 1359ms on 126 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.58.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.8 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 30ms on 109 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.58.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.8 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,19 @@
|
|
|
1
1
|
# @platforma-sdk/ui-vue
|
|
2
2
|
|
|
3
|
+
## 1.58.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5a37042: fix export component PlAdvancedFilters
|
|
8
|
+
|
|
9
|
+
## 1.58.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [c2d9319]
|
|
14
|
+
- @platforma-sdk/model@1.58.5
|
|
15
|
+
- @milaboratories/uikit@2.10.37
|
|
16
|
+
|
|
3
17
|
## 1.58.4
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import o from "./PlAdvancedFilter.vue2.js";
|
|
2
|
+
import s from "./PlAdvancedFilter.vue3.js";
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
4
|
const e = {
|
|
5
|
-
$style:
|
|
6
|
-
},
|
|
5
|
+
$style: s
|
|
6
|
+
}, l = /* @__PURE__ */ t(o, [["__cssModules", e]]);
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
l as default
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=PlAdvancedFilter.vue.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RootFilter, SourceOptionInfo, PlAdvancedFilterColumnId, RequiredMeta } from './types.ts';
|
|
2
|
-
export { default as
|
|
2
|
+
export { default as PlAdvancedFilterComponent } 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
5
|
export type PlAdvancedFilter<Meta extends RequiredMeta = RequiredMeta> = RootFilter<Meta>;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,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 {\n RootFilter,\n SourceOptionInfo,\n PlAdvancedFilterColumnId,\n RequiredMeta,\n} from \"./types.ts\";\n\nexport { default as
|
|
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 PlAdvancedFilterComponent } 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;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ListOptionBase, PObjectId } from '@platforma-sdk/model';
|
|
2
|
-
import { PlAdvancedFilterItem } from '../../PlAdvancedFilter';
|
|
3
|
-
import { PlAdvancedFilterColumnId } from '../../PlAdvancedFilter/types';
|
|
2
|
+
import { PlAdvancedFilterItem, PlAdvancedFilterColumnId } from '../../PlAdvancedFilter';
|
|
4
3
|
import { Filter } from '../types';
|
|
5
4
|
export type Props = {
|
|
6
5
|
columns: PlAdvancedFilterItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSidebar.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterSidebar.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"names":[],"mappings":"AAkKA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAC;AAG3F,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAEhC,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,wBAAwB,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;KAC/B,KAAK,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAErF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,OAAO,CACzC,SAAS,GAAG;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CACtD,CAAC;CACH,CAAC;;UA0EM,MAAM;;;;UAAN,MAAM;;;;AAxEd,wBAuPK"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { defineComponent as V, mergeModels as q, useModel as E, computed as k,
|
|
2
|
-
import { randomInt as
|
|
3
|
-
import { PlSidebarItem as
|
|
4
|
-
import
|
|
5
|
-
import { validateTitle as
|
|
6
|
-
|
|
1
|
+
import { defineComponent as V, mergeModels as q, useModel as E, computed as k, createBlock as r, createCommentVNode as p, openBlock as d, unref as s, withCtx as n, createVNode as c, normalizeClass as i, createElementVNode as x, createTextVNode as f } from "vue";
|
|
2
|
+
import { randomInt as u } from "../../../lib/util/helpers/dist/random.js";
|
|
3
|
+
import { PlSidebarItem as T, PlBtnSecondary as g, PlEditableTitle as A } from "@milaboratories/uikit";
|
|
4
|
+
import v from "./style.module.css.js";
|
|
5
|
+
import { validateTitle as P } from "../utils.js";
|
|
6
|
+
import $ from "../../PlAdvancedFilter/PlAdvancedFilter.vue.js";
|
|
7
|
+
const j = /* @__PURE__ */ V({
|
|
7
8
|
__name: "FilterSidebar",
|
|
8
9
|
props: /* @__PURE__ */ q({
|
|
9
10
|
columns: {},
|
|
@@ -15,33 +16,33 @@ const U = /* @__PURE__ */ V({
|
|
|
15
16
|
stepModifiers: {}
|
|
16
17
|
}),
|
|
17
18
|
emits: ["update:step"],
|
|
18
|
-
setup(
|
|
19
|
-
const e = E(
|
|
19
|
+
setup(m) {
|
|
20
|
+
const e = E(m, "step"), l = m, b = k(() => l.hasSelectedColumns !== void 0 && l.getValuesForSelectedColumns !== void 0), S = () => {
|
|
20
21
|
e.value.filter.filters.push({
|
|
21
|
-
id:
|
|
22
|
+
id: u(),
|
|
22
23
|
isExpanded: !0,
|
|
23
24
|
type: "or",
|
|
24
25
|
filters: [
|
|
25
26
|
{
|
|
26
|
-
id:
|
|
27
|
+
id: u(),
|
|
27
28
|
type: "isNA",
|
|
28
29
|
column: l.columns[0].id
|
|
29
30
|
}
|
|
30
31
|
]
|
|
31
32
|
});
|
|
32
33
|
};
|
|
33
|
-
async function
|
|
34
|
+
async function h() {
|
|
34
35
|
if (l.hasSelectedColumns === void 0 || l.getValuesForSelectedColumns === void 0)
|
|
35
36
|
return;
|
|
36
|
-
const
|
|
37
|
-
if (!
|
|
38
|
-
const { columnId: t, values:
|
|
37
|
+
const a = await l.getValuesForSelectedColumns();
|
|
38
|
+
if (!a || a.values.length === 0) return;
|
|
39
|
+
const { columnId: t, values: o } = a, y = o.slice(0, 3).join(", ") + (o.length > 3 ? ` and ${o.length - 3} more` : "");
|
|
39
40
|
e.value.filter.filters.push({
|
|
40
|
-
id:
|
|
41
|
-
name: `Selected list (${
|
|
41
|
+
id: u(),
|
|
42
|
+
name: `Selected list (${y})`,
|
|
42
43
|
isExpanded: !1,
|
|
43
44
|
type: "or",
|
|
44
|
-
filters:
|
|
45
|
+
filters: o.map((F, N) => ({
|
|
45
46
|
id: N,
|
|
46
47
|
type: "patternEquals",
|
|
47
48
|
column: t,
|
|
@@ -49,7 +50,7 @@ const U = /* @__PURE__ */ V({
|
|
|
49
50
|
}))
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
const
|
|
53
|
+
const C = [
|
|
53
54
|
"isNA",
|
|
54
55
|
"isNotNA",
|
|
55
56
|
"greaterThan",
|
|
@@ -65,68 +66,65 @@ const U = /* @__PURE__ */ V({
|
|
|
65
66
|
"topN",
|
|
66
67
|
"bottomN"
|
|
67
68
|
];
|
|
68
|
-
return (
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
_: 1
|
|
125
|
-
})) : c("", !0);
|
|
126
|
-
};
|
|
69
|
+
return (a, t) => e.value ? (d(), r(s(T), { key: 0 }, {
|
|
70
|
+
"header-content": n(() => [
|
|
71
|
+
(d(), r(s(A), {
|
|
72
|
+
key: e.value.id,
|
|
73
|
+
modelValue: e.value.label,
|
|
74
|
+
"onUpdate:modelValue": t[0] || (t[0] = (o) => e.value.label = o),
|
|
75
|
+
class: i({ [s(v).flashing]: e.value.label.length === 0 }),
|
|
76
|
+
"max-length": 40,
|
|
77
|
+
"max-width": "600px",
|
|
78
|
+
placeholder: "Label",
|
|
79
|
+
autofocus: e.value.label.length === 0,
|
|
80
|
+
validate: s(P)
|
|
81
|
+
}, null, 8, ["modelValue", "class", "autofocus", "validate"]))
|
|
82
|
+
]),
|
|
83
|
+
"body-content": n(() => [
|
|
84
|
+
c(s($), {
|
|
85
|
+
filters: e.value.filter,
|
|
86
|
+
"onUpdate:filters": t[1] || (t[1] = (o) => e.value.filter = o),
|
|
87
|
+
class: i([a.$style.root, { [s(v).disabled]: e.value.label.length === 0 }]),
|
|
88
|
+
items: l.columns,
|
|
89
|
+
"supported-filters": C,
|
|
90
|
+
"get-suggest-options": l.getSuggestOptions,
|
|
91
|
+
"enable-dnd": !1,
|
|
92
|
+
"enable-add-group-button": !0
|
|
93
|
+
}, {
|
|
94
|
+
"add-group-buttons": n(() => [
|
|
95
|
+
x("div", {
|
|
96
|
+
class: i(a.$style.actions)
|
|
97
|
+
}, [
|
|
98
|
+
c(s(g), {
|
|
99
|
+
icon: "add",
|
|
100
|
+
onClick: S
|
|
101
|
+
}, {
|
|
102
|
+
default: n(() => [...t[2] || (t[2] = [
|
|
103
|
+
f(" Add Filter ", -1)
|
|
104
|
+
])]),
|
|
105
|
+
_: 1
|
|
106
|
+
}),
|
|
107
|
+
b.value ? (d(), r(s(g), {
|
|
108
|
+
key: 0,
|
|
109
|
+
icon: "add",
|
|
110
|
+
disabled: !l.hasSelectedColumns,
|
|
111
|
+
onClick: h
|
|
112
|
+
}, {
|
|
113
|
+
default: n(() => [...t[3] || (t[3] = [
|
|
114
|
+
f(" From selection ", -1)
|
|
115
|
+
])]),
|
|
116
|
+
_: 1
|
|
117
|
+
}, 8, ["disabled"])) : p("", !0)
|
|
118
|
+
], 2)
|
|
119
|
+
]),
|
|
120
|
+
_: 1
|
|
121
|
+
}, 8, ["filters", "class", "items", "get-suggest-options"])
|
|
122
|
+
]),
|
|
123
|
+
_: 1
|
|
124
|
+
})) : p("", !0);
|
|
127
125
|
}
|
|
128
126
|
});
|
|
129
127
|
export {
|
|
130
|
-
|
|
128
|
+
j as default
|
|
131
129
|
};
|
|
132
130
|
//# sourceMappingURL=FilterSidebar.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSidebar.vue2.js","sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\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 hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\
|
|
1
|
+
{"version":3,"file":"FilterSidebar.vue2.js","sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\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 hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\n\nimport $commonStyle from \"./style.module.css\";\nimport { validateTitle } from \"../utils\";\n\n// Models\nconst step = defineModel<Filter>(\"step\", { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n// Actions\nconst addFilterPlaceholder = () => {\n step.value.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n};\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n step.value.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"step.id\"\n v-model=\"step.label\"\n :class=\"{ [$commonStyle.flashing]: step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"step.label.length === 0\"\n :validate=\"validateTitle\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n v-model:filters=\"step.filter as PlAdvancedFilter\"\n :class=\"[$style.root, { [$commonStyle.disabled]: step.label.length === 0 }]\"\n :items=\"props.columns\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"!props.hasSelectedColumns\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"names":["step","_useModel","__props","props","withSelection","computed","addFilterPlaceholder","randomInt","addFilterFromSelected","data","columnId","values","shortReminder","value","i","supportedFilters","_createBlock","_unref","PlSidebarItem","PlEditableTitle","_cache","$event","_normalizeClass","validateTitle","_createVNode","PlAdvancedFilterComponent","$style","$commonStyle","_createElementVNode","PlBtnSecondary"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAnnotations.vue2.js","sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = BaseProps & {\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\n// Models\nconst annotation = defineModel<Annotation>(\"annotation\", { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\n\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n// Actions\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["annotation","_useModel","props","__props","selectedStepId","shallowRef","selectedStep","computed","isNil","step","effect","confirmResetSchema","useConfirm","handleDeleteSchema","_a","_createBlock","_unref","PlSidebarGroup","_createVNode","AnnotationsSidebar","$event","_normalizeClass","$style","FilterSidebar"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAaC,KAAwB,YAAgC,GAErEC,IAAQC,GAERC,IAAiBC,EAA+B,MAAS,GACzDC,IAAeC,EAAS,MACrBC,EAAMJ,EAAe,KAAK,KAAKI,EAAMR,EAAW,KAAK,IACxD,SACAA,EAAW,MAAM,MAAM,KAAK,CAACS,MAASA,EAAK,OAAOL,EAAe,KAAK,CAC3E;AAGD,IAAAM,EAAO,WAA4B;AACjC,MAAIN,EAAe,UAAU,UAAaJ,EAAW,MAAM,MAAM,SAAS,MACxEI,EAAe,QAAQJ,EAAW,MAAM,MAAM,CAAC,EAAE;AAAA,IAErD,CAAC;AAED,UAAMW,IAAqBC,EAAW;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,aAAa;AAAA,IAAA,CACd;AAED,mBAAeC,IAAqB;;AAClC,MAAI,MAAMF,QACRP,EAAe,QAAQ,SACvBU,IAAAZ,EAAM,mBAAN,QAAAY,EAAA,KAAAZ;AAAA,IAEJ;2BAIEa,EAsBiBC,EAAAC,CAAA,GAAA,MAAA;AAAA,MArBJ,YACT,MAME;AAAA,QANFC,EAMEC,GAAA;AAAA,UALQ,YAAYnB,EAAA;AAAA,wDAAAA,EAAU,QAAAoB;AAAA,UACtB,gBAAgBhB,EAAA;AAAA,4DAAAA,EAAc,QAAAgB;AAAA,UACrC,OAAKC,EAAEC,EAAAA,OAAO,WAAW;AAAA,UACzB,SAASpB,EAAM;AAAA,UACf,gBAAeW;AAAA,QAAA;;MAGT,
|
|
1
|
+
{"version":3,"file":"PlAnnotations.vue2.js","sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = BaseProps & {\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\n// Models\nconst annotation = defineModel<Annotation>(\"annotation\", { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\n\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n// Actions\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["annotation","_useModel","props","__props","selectedStepId","shallowRef","selectedStep","computed","isNil","step","effect","confirmResetSchema","useConfirm","handleDeleteSchema","_a","_createBlock","_unref","PlSidebarGroup","_createVNode","AnnotationsSidebar","$event","_normalizeClass","$style","FilterSidebar"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAaC,KAAwB,YAAgC,GAErEC,IAAQC,GAERC,IAAiBC,EAA+B,MAAS,GACzDC,IAAeC,EAAS,MACrBC,EAAMJ,EAAe,KAAK,KAAKI,EAAMR,EAAW,KAAK,IACxD,SACAA,EAAW,MAAM,MAAM,KAAK,CAACS,MAASA,EAAK,OAAOL,EAAe,KAAK,CAC3E;AAGD,IAAAM,EAAO,WAA4B;AACjC,MAAIN,EAAe,UAAU,UAAaJ,EAAW,MAAM,MAAM,SAAS,MACxEI,EAAe,QAAQJ,EAAW,MAAM,MAAM,CAAC,EAAE;AAAA,IAErD,CAAC;AAED,UAAMW,IAAqBC,EAAW;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,aAAa;AAAA,IAAA,CACd;AAED,mBAAeC,IAAqB;;AAClC,MAAI,MAAMF,QACRP,EAAe,QAAQ,SACvBU,IAAAZ,EAAM,mBAAN,QAAAY,EAAA,KAAAZ;AAAA,IAEJ;2BAIEa,EAsBiBC,EAAAC,CAAA,GAAA,MAAA;AAAA,MArBJ,YACT,MAME;AAAA,QANFC,EAMEC,GAAA;AAAA,UALQ,YAAYnB,EAAA;AAAA,wDAAAA,EAAU,QAAAoB;AAAA,UACtB,gBAAgBhB,EAAA;AAAA,4DAAAA,EAAc,QAAAgB;AAAA,UACrC,OAAKC,EAAEC,EAAAA,OAAO,WAAW;AAAA,UACzB,SAASpB,EAAM;AAAA,UACf,gBAAeW;AAAA,QAAA;;MAGT,YACR,MAUW;AAAA,QATJP,EAAA,cADRS,EASEQ,GAAA;AAAA;UAPQ,MAAMjB,EAAA;AAAA,kDAAAA,EAAY,QAAAc;AAAA,UACzB,OAAKC,EAAEC,EAAAA,OAAO,WAAW;AAAA,UACzB,SAASpB,EAAM;AAAA,UACf,uBAAqBA,EAAM;AAAA,UAC3B,gBAAgBE,EAAA;AAAA,UAChB,oBAAoBF,EAAM;AAAA,UAC1B,6BAA6BA,EAAM;AAAA,QAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlTableFiltersV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlTableFiltersV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"names":[],"mappings":"AAqJA,OAAO,KAAK,EACV,gBAAgB,EAGhB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAC;AAqB9B,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AA0FF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,0BAA0B,CAAC;CACtC,GAAG,WAAW,CAAC;;;;;;AAoIhB,wBAOG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as M, mergeModels as N, useModel as A, ref as
|
|
1
|
+
import { defineComponent as M, mergeModels as N, useModel as A, ref as C, onMounted as x, computed as T, createElementBlock as p, openBlock as s, Fragment as E, createBlock as P, createCommentVNode as w, createVNode as m, unref as o, Teleport as B, withModifiers as z, withCtx as c, createTextVNode as h, normalizeClass as O } from "vue";
|
|
2
2
|
import { readAnnotation as f, Annotation as g, readDomain as $, Domain as D, getAxisId as I, canonicalizeJson as L, parseJson as U } from "@platforma-sdk/model";
|
|
3
3
|
import { usePlBlockPageTitleTeleportTarget as J, PlBtnGhost as G, PlSlideModal as R } from "@milaboratories/uikit";
|
|
4
4
|
import j from "../PlAdvancedFilter/PlAdvancedFilter.vue.js";
|
|
@@ -12,21 +12,21 @@ const H = { key: 1 }, Y = /* @__PURE__ */ M({
|
|
|
12
12
|
}),
|
|
13
13
|
emits: ["update:modelValue"],
|
|
14
14
|
setup(v) {
|
|
15
|
-
const a = A(v, "modelValue"), k = v, b =
|
|
15
|
+
const a = A(v, "modelValue"), k = v, b = C(!1);
|
|
16
16
|
x(() => {
|
|
17
17
|
b.value = !0;
|
|
18
18
|
});
|
|
19
|
-
const V = J("PlTableFiltersV2"), i =
|
|
19
|
+
const V = J("PlTableFiltersV2"), i = C(!1), q = T(() => a.value.filters.length > 0);
|
|
20
20
|
function y(t) {
|
|
21
21
|
const e = t.type === "axis" ? { type: "axis", id: I(t.spec) } : { type: "column", id: t.id };
|
|
22
22
|
return L(e);
|
|
23
23
|
}
|
|
24
|
-
const u =
|
|
24
|
+
const u = T(() => k.columns.map((t, e) => {
|
|
25
25
|
var d;
|
|
26
|
-
const l = y(t),
|
|
26
|
+
const l = y(t), r = ((d = f(t.spec, g.Label)) == null ? void 0 : d.trim()) ?? `Unlabeled ${t.type} ${e}`, n = $(t.spec, D.Alphabet) ?? f(t.spec, g.Alphabet);
|
|
27
27
|
return {
|
|
28
28
|
id: l,
|
|
29
|
-
label:
|
|
29
|
+
label: r,
|
|
30
30
|
spec: t.spec,
|
|
31
31
|
alphabet: n ?? void 0
|
|
32
32
|
};
|
|
@@ -47,7 +47,7 @@ const H = { key: 1 }, Y = /* @__PURE__ */ M({
|
|
|
47
47
|
"notEqual"
|
|
48
48
|
];
|
|
49
49
|
function F(t) {
|
|
50
|
-
const e = u.value.find((
|
|
50
|
+
const e = u.value.find((r) => r.id === t.columnId);
|
|
51
51
|
if (!e) return [];
|
|
52
52
|
const l = f(e.spec, g.DiscreteValues);
|
|
53
53
|
if (!l) return [];
|
|
@@ -58,11 +58,11 @@ const H = { key: 1 }, Y = /* @__PURE__ */ M({
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
return (t, e) => (s(), p(E, null, [
|
|
61
|
-
b.value &&
|
|
61
|
+
b.value && o(V) ? (s(), P(B, {
|
|
62
62
|
key: 0,
|
|
63
|
-
to:
|
|
63
|
+
to: o(V)
|
|
64
64
|
}, [
|
|
65
|
-
m(
|
|
65
|
+
m(o(G), {
|
|
66
66
|
icon: q.value ? "filter-on" : "filter",
|
|
67
67
|
onClick: e[0] || (e[0] = z((l) => i.value = !0, ["stop"]))
|
|
68
68
|
}, {
|
|
@@ -72,7 +72,7 @@ const H = { key: 1 }, Y = /* @__PURE__ */ M({
|
|
|
72
72
|
_: 1
|
|
73
73
|
}, 8, ["icon"])
|
|
74
74
|
], 8, ["to"])) : w("", !0),
|
|
75
|
-
m(
|
|
75
|
+
m(o(R), {
|
|
76
76
|
modelValue: i.value,
|
|
77
77
|
"onUpdate:modelValue": e[2] || (e[2] = (l) => i.value = l),
|
|
78
78
|
"close-on-outside-click": !1
|
|
@@ -85,7 +85,7 @@ const H = { key: 1 }, Y = /* @__PURE__ */ M({
|
|
|
85
85
|
key: 0,
|
|
86
86
|
class: O(t.$style.root)
|
|
87
87
|
}, [
|
|
88
|
-
m(
|
|
88
|
+
m(o(j), {
|
|
89
89
|
filters: a.value,
|
|
90
90
|
"onUpdate:filters": e[1] || (e[1] = (l) => a.value = l),
|
|
91
91
|
items: u.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlTableFiltersV2.vue2.js","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n PTableColumnSpec,\n PTableColumnId,\n ListOptionBase,\n PlDataTableFiltersWithMeta,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n Annotation,\n Domain,\n readAnnotation,\n readDomain,\n parseJson,\n getAxisId,\n} from \"@platforma-sdk/model\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport {\n PlAdvancedFilter,\n PlAdvancedFilterSupportedFilters,\n type PlAdvancedFilterItem,\n} from \"../PlAdvancedFilter\";\nimport type { PlAdvancedFilterColumnId } from \"../PlAdvancedFilter/types\";\n\nconst model = defineModel<PlDataTableFiltersWithMeta>({ required: true });\nconst props = defineProps<{\n columns: PTableColumnSpec[];\n}>();\n\n// Teleport for \"Filters\" button\nconst mounted = ref(false);\nonMounted(() => {\n mounted.value = true;\n});\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlTableFiltersV2\");\nconst showManager = ref(false);\n\n// Check if any filters are active\nconst filtersOn = computed(() => {\n return model.value.filters.length > 0;\n});\n\n// Convert PTableColumnSpec to PlAdvancedFilterColumnId\nfunction makeFilterColumnId(spec: PTableColumnSpec): PlAdvancedFilterColumnId {\n const id: PTableColumnId =\n spec.type === \"axis\"\n ? { type: \"axis\", id: getAxisId(spec.spec) }\n : { type: \"column\", id: spec.id };\n return canonicalizeJson<PTableColumnId>(id) as unknown as PlAdvancedFilterColumnId;\n}\n\n// Convert PTableColumnSpec[] to PlAdvancedFilterItem[]\nconst items = computed<PlAdvancedFilterItem[]>(() => {\n return props.columns.map((col, idx) => {\n const id = makeFilterColumnId(col);\n const label =\n readAnnotation(col.spec, Annotation.Label)?.trim() ?? `Unlabeled ${col.type} ${idx}`;\n const alphabet =\n readDomain(col.spec, Domain.Alphabet) ?? readAnnotation(col.spec, Annotation.Alphabet);\n return {\n id,\n label,\n spec: col.spec,\n alphabet: alphabet ?? undefined,\n };\n });\n});\n\n// Supported filters (same set as FilterSidebar)\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"patternMatchesRegularExpression\",\n \"patternFuzzyContainSubsequence\",\n \"equal\",\n \"notEqual\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n\n// getSuggestOptions - provide discrete values from column annotations\nfunction getSuggestOptions(params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n}): ListOptionBase<string | number>[] {\n const item = items.value.find((i) => i.id === params.columnId);\n if (!item) return [];\n\n const discreteValuesStr = readAnnotation(item.spec, Annotation.DiscreteValues);\n if (!discreteValuesStr) return [];\n\n try {\n const values = parseJson<(string | number)[]>(discreteValuesStr);\n return values\n .filter((v) => {\n if (!params.searchStr) return true;\n const str = String(v).toLowerCase();\n return str.includes(params.searchStr.toLowerCase());\n })\n .map((v) => ({ value: v, label: String(v) }));\n } catch {\n return [];\n }\n}\n</script>\n\n<template>\n <Teleport v-if=\"mounted && teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :icon=\"filtersOn ? 'filter-on' : 'filter'\" @click.stop=\"showManager = true\">\n Filters\n </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"showManager\" :close-on-outside-click=\"false\">\n <template #title>Manage Filters</template>\n\n <div v-if=\"items.length > 0\" :class=\"$style.root\">\n <
|
|
1
|
+
{"version":3,"file":"PlTableFiltersV2.vue2.js","sources":["../../../src/components/PlTableFilters/PlTableFiltersV2.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n PTableColumnSpec,\n PTableColumnId,\n ListOptionBase,\n PlDataTableFiltersWithMeta,\n} from \"@platforma-sdk/model\";\nimport {\n canonicalizeJson,\n Annotation,\n Domain,\n readAnnotation,\n readDomain,\n parseJson,\n getAxisId,\n} from \"@platforma-sdk/model\";\nimport { computed, onMounted, ref } from \"vue\";\nimport { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport {\n PlAdvancedFilter,\n PlAdvancedFilterComponent,\n PlAdvancedFilterSupportedFilters,\n type PlAdvancedFilterItem,\n} from \"../PlAdvancedFilter\";\nimport type { PlAdvancedFilterColumnId } from \"../PlAdvancedFilter/types\";\n\nconst model = defineModel<PlDataTableFiltersWithMeta>({ required: true });\nconst props = defineProps<{\n columns: PTableColumnSpec[];\n}>();\n\n// Teleport for \"Filters\" button\nconst mounted = ref(false);\nonMounted(() => {\n mounted.value = true;\n});\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlTableFiltersV2\");\nconst showManager = ref(false);\n\n// Check if any filters are active\nconst filtersOn = computed(() => {\n return model.value.filters.length > 0;\n});\n\n// Convert PTableColumnSpec to PlAdvancedFilterColumnId\nfunction makeFilterColumnId(spec: PTableColumnSpec): PlAdvancedFilterColumnId {\n const id: PTableColumnId =\n spec.type === \"axis\"\n ? { type: \"axis\", id: getAxisId(spec.spec) }\n : { type: \"column\", id: spec.id };\n return canonicalizeJson<PTableColumnId>(id) as unknown as PlAdvancedFilterColumnId;\n}\n\n// Convert PTableColumnSpec[] to PlAdvancedFilterItem[]\nconst items = computed<PlAdvancedFilterItem[]>(() => {\n return props.columns.map((col, idx) => {\n const id = makeFilterColumnId(col);\n const label =\n readAnnotation(col.spec, Annotation.Label)?.trim() ?? `Unlabeled ${col.type} ${idx}`;\n const alphabet =\n readDomain(col.spec, Domain.Alphabet) ?? readAnnotation(col.spec, Annotation.Alphabet);\n return {\n id,\n label,\n spec: col.spec,\n alphabet: alphabet ?? undefined,\n };\n });\n});\n\n// Supported filters (same set as FilterSidebar)\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"patternMatchesRegularExpression\",\n \"patternFuzzyContainSubsequence\",\n \"equal\",\n \"notEqual\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n\n// getSuggestOptions - provide discrete values from column annotations\nfunction getSuggestOptions(params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n}): ListOptionBase<string | number>[] {\n const item = items.value.find((i) => i.id === params.columnId);\n if (!item) return [];\n\n const discreteValuesStr = readAnnotation(item.spec, Annotation.DiscreteValues);\n if (!discreteValuesStr) return [];\n\n try {\n const values = parseJson<(string | number)[]>(discreteValuesStr);\n return values\n .filter((v) => {\n if (!params.searchStr) return true;\n const str = String(v).toLowerCase();\n return str.includes(params.searchStr.toLowerCase());\n })\n .map((v) => ({ value: v, label: String(v) }));\n } catch {\n return [];\n }\n}\n</script>\n\n<template>\n <Teleport v-if=\"mounted && teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :icon=\"filtersOn ? 'filter-on' : 'filter'\" @click.stop=\"showManager = true\">\n Filters\n </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"showManager\" :close-on-outside-click=\"false\">\n <template #title>Manage Filters</template>\n\n <div v-if=\"items.length > 0\" :class=\"$style.root\">\n <PlAdvancedFilterComponent\n v-model:filters=\"model as PlAdvancedFilter\"\n :items=\"items\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n />\n </div>\n <div v-else>No filters applicable</div>\n </PlSlideModal>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n</style>\n"],"names":["model","_useModel","props","__props","mounted","ref","onMounted","teleportTarget","usePlBlockPageTitleTeleportTarget","showManager","filtersOn","computed","makeFilterColumnId","spec","id","getAxisId","canonicalizeJson","items","col","idx","label","_a","readAnnotation","Annotation","alphabet","readDomain","Domain","supportedFilters","getSuggestOptions","params","item","i","discreteValuesStr","parseJson","v","_unref","_createBlock","_Teleport","_createVNode","PlBtnGhost","_cache","PlSlideModal","$event","_createElementBlock","_normalizeClass","$style","PlAdvancedFilterComponent","_openBlock"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as f } from "./components/PlAgDataTable/PlAgOverlayLoading.vue.js";
|
|
2
2
|
import { default as u } from "./components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
|
|
3
3
|
import './components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.css';import './components/PlAgChartHistogramCell/PlAgChartHistogramCell.css';import './components/PlAgCellStatusTag/PlAgCellStatusTag.css';import './components/PlAgDataTable/PlAgOverlayNoRows.css';/* empty css */
|
|
4
|
-
import { default as
|
|
4
|
+
import { default as d } from "./components/PlAgColumnHeader/PlAgColumnHeader.vue.js";
|
|
5
5
|
import { default as i } from "./components/PlAgCellFile/PlAgCellFile.vue.js";
|
|
6
6
|
import { default as x } from "./components/PlAgCellProgress/PlAgCellProgress.vue.js";
|
|
7
7
|
import { default as A } from "./components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js";
|
|
@@ -27,7 +27,7 @@ import { default as oe } from "./components/PlTableFilters/PlTableFiltersV2.vue.
|
|
|
27
27
|
import { default as le } from "./components/PlAnnotations/components/PlAnnotations.vue.js";
|
|
28
28
|
import { default as fe } from "./components/PlAnnotations/components/PlAnnotationsModal.vue.js";
|
|
29
29
|
import { default as ue } from "./components/PlBtnExportArchive/PlBtnExportArchive.vue.js";
|
|
30
|
-
import { default as
|
|
30
|
+
import { default as de } from "./components/PlAdvancedFilter/PlAdvancedFilter.vue.js";
|
|
31
31
|
import { PlAdvancedFilterSupportedFilters as ie } from "./components/PlAdvancedFilter/index.js";
|
|
32
32
|
import { defineApp as xe, defineAppV3 as ge, pluginDataKey as Ae, useSdkPlugin as Pe } from "./defineApp.js";
|
|
33
33
|
import { createModel as ce } from "./createModel.js";
|
|
@@ -43,14 +43,14 @@ export {
|
|
|
43
43
|
w as BlockLayout,
|
|
44
44
|
W as DeferredCircular,
|
|
45
45
|
we as MultiError,
|
|
46
|
-
|
|
46
|
+
de as PlAdvancedFilterComponent,
|
|
47
47
|
ie as PlAdvancedFilterSupportedFilters,
|
|
48
48
|
i as PlAgCellFile,
|
|
49
49
|
x as PlAgCellProgress,
|
|
50
50
|
A as PlAgCellStatusTag,
|
|
51
51
|
C as PlAgChartHistogramCell,
|
|
52
52
|
b as PlAgChartStackedBarCell,
|
|
53
|
-
|
|
53
|
+
d as PlAgColumnHeader,
|
|
54
54
|
v as PlAgCsvExporter,
|
|
55
55
|
U as PlAgDataTableRowNumberColId,
|
|
56
56
|
F as PlAgDataTableV2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/ui-vue",
|
|
3
|
-
"version": "1.58.
|
|
3
|
+
"version": "1.58.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"**/*.css"
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"lru-cache": "^11.2.2",
|
|
29
29
|
"vue": "^3.5.24",
|
|
30
30
|
"zod": "~3.23.8",
|
|
31
|
-
"@platforma-sdk/model": "1.58.
|
|
32
|
-
"@milaboratories/uikit": "2.10.
|
|
31
|
+
"@platforma-sdk/model": "1.58.5",
|
|
32
|
+
"@milaboratories/uikit": "2.10.37"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@faker-js/faker": "^9.2.0",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"typescript": "~5.6.3",
|
|
44
44
|
"vite": "^6.4.1",
|
|
45
45
|
"vitest": "^4.0.18",
|
|
46
|
-
"@milaboratories/ts-builder": "1.2.11",
|
|
47
|
-
"@milaboratories/ts-configs": "1.2.1",
|
|
48
46
|
"@milaboratories/helpers": "1.13.5",
|
|
49
|
-
"@milaboratories/build-configs": "1.5.0"
|
|
47
|
+
"@milaboratories/build-configs": "1.5.0",
|
|
48
|
+
"@milaboratories/ts-configs": "1.2.1",
|
|
49
|
+
"@milaboratories/ts-builder": "1.2.11"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"dev": "ts-builder serve --target browser-lib",
|
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
RequiredMeta,
|
|
7
7
|
} from "./types.ts";
|
|
8
8
|
|
|
9
|
-
export { default as
|
|
9
|
+
export { default as PlAdvancedFilterComponent } from "./PlAdvancedFilter.vue";
|
|
10
10
|
export const PlAdvancedFilterSupportedFilters = SUPPORTED_FILTER_TYPES;
|
|
11
11
|
export type PlAdvancedFilterItem = SourceOptionInfo;
|
|
12
12
|
export type PlAdvancedFilter<Meta extends RequiredMeta = RequiredMeta> = RootFilter<Meta>;
|
|
@@ -16,13 +16,18 @@ export type Props = {
|
|
|
16
16
|
};
|
|
17
17
|
</script>
|
|
18
18
|
<script setup lang="ts">
|
|
19
|
+
import { computed } from "vue";
|
|
19
20
|
import { randomInt } from "@milaboratories/helpers";
|
|
20
21
|
import { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from "@milaboratories/uikit";
|
|
21
22
|
import type { ListOptionBase, PObjectId, SUniversalPColumnId } from "@platforma-sdk/model";
|
|
22
|
-
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
|
|
23
|
+
|
|
24
|
+
import { PlAdvancedFilterComponent } from "../../PlAdvancedFilter";
|
|
25
|
+
import type {
|
|
26
|
+
PlAdvancedFilterItem,
|
|
27
|
+
PlAdvancedFilterColumnId,
|
|
28
|
+
PlAdvancedFilterSupportedFilters,
|
|
29
|
+
PlAdvancedFilter,
|
|
30
|
+
} from "../../PlAdvancedFilter";
|
|
26
31
|
import type { Filter } from "../types";
|
|
27
32
|
|
|
28
33
|
import $commonStyle from "./style.module.css";
|
|
@@ -110,7 +115,7 @@ const supportedFilters = [
|
|
|
110
115
|
/>
|
|
111
116
|
</template>
|
|
112
117
|
<template #body-content>
|
|
113
|
-
<
|
|
118
|
+
<PlAdvancedFilterComponent
|
|
114
119
|
v-model:filters="step.filter as PlAdvancedFilter"
|
|
115
120
|
:class="[$style.root, { [$commonStyle.disabled]: step.label.length === 0 }]"
|
|
116
121
|
:items="props.columns"
|
|
@@ -132,7 +137,7 @@ const supportedFilters = [
|
|
|
132
137
|
</PlBtnSecondary>
|
|
133
138
|
</div>
|
|
134
139
|
</template>
|
|
135
|
-
</
|
|
140
|
+
</PlAdvancedFilterComponent>
|
|
136
141
|
</template>
|
|
137
142
|
</PlSidebarItem>
|
|
138
143
|
</template>
|
|
@@ -18,6 +18,7 @@ import { computed, onMounted, ref } from "vue";
|
|
|
18
18
|
import { PlBtnGhost, PlSlideModal, usePlBlockPageTitleTeleportTarget } from "@milaboratories/uikit";
|
|
19
19
|
import {
|
|
20
20
|
PlAdvancedFilter,
|
|
21
|
+
PlAdvancedFilterComponent,
|
|
21
22
|
PlAdvancedFilterSupportedFilters,
|
|
22
23
|
type PlAdvancedFilterItem,
|
|
23
24
|
} from "../PlAdvancedFilter";
|
|
@@ -124,7 +125,7 @@ function getSuggestOptions(params: {
|
|
|
124
125
|
<template #title>Manage Filters</template>
|
|
125
126
|
|
|
126
127
|
<div v-if="items.length > 0" :class="$style.root">
|
|
127
|
-
<
|
|
128
|
+
<PlAdvancedFilterComponent
|
|
128
129
|
v-model:filters="model as PlAdvancedFilter"
|
|
129
130
|
:items="items"
|
|
130
131
|
:supported-filters="supportedFilters"
|