@platforma-sdk/ui-vue 1.45.36 → 1.45.42
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 +45 -45
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +16 -0
- package/dist/components/BlockLayout.vue2.js +3 -3
- package/dist/components/BlockLayout.vue2.js.map +1 -1
- package/dist/components/BlockLoader.vue.js.map +1 -1
- package/dist/components/LoaderPage.vue.js +2 -2
- package/dist/components/LoaderPage.vue.js.map +1 -1
- package/dist/components/NotFound.vue.js +3 -3
- package/dist/components/NotFound.vue.js.map +1 -1
- package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +73 -73
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js +100 -100
- package/dist/components/PlAdvancedFilter/SingleFilter.vue2.js.map +1 -1
- package/dist/components/PlAgCellFile/PlAgCellFile.vue.js.map +1 -1
- package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js.map +1 -1
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js +6 -6
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js.map +1 -1
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js.map +1 -1
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js.map +1 -1
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js +22 -22
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js.map +1 -1
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js +3 -3
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +50 -50
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +1 -1
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js +35 -35
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js.map +1 -1
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +15 -15
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +1 -1
- package/dist/components/PlAgRowNumHeader.vue.js +13 -13
- package/dist/components/PlAgRowNumHeader.vue.js.map +1 -1
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js +16 -16
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js.map +1 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +6 -6
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +57 -57
- package/dist/components/PlAnnotations/components/DynamicForm.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +6 -6
- 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/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js +7 -7
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js.map +1 -1
- package/dist/components/PlBtnExportArchive/Item.vue2.js +23 -23
- package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -1
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -1
- package/dist/components/PlBtnExportArchive/Summary.vue2.js +22 -22
- package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -1
- package/dist/components/PlTableFilters/PlTableAddFilterV2.vue.js +9 -9
- package/dist/components/PlTableFilters/PlTableAddFilterV2.vue.js.map +1 -1
- package/dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js +3 -3
- package/dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +9 -9
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
- package/dist/components/ValueOrErrorsComponent.vue.js.map +1 -1
- package/dist/plugins/Monetization/EndOfPeriod.vue2.js +9 -9
- package/dist/plugins/Monetization/EndOfPeriod.vue2.js.map +1 -1
- package/dist/plugins/Monetization/LimitCard.vue2.js +40 -40
- package/dist/plugins/Monetization/LimitCard.vue2.js.map +1 -1
- package/dist/plugins/Monetization/MonetizationSidebar.vue.js +3 -3
- package/dist/plugins/Monetization/MonetizationSidebar.vue.js.map +1 -1
- package/dist/plugins/Monetization/RunStatus.vue2.js +12 -12
- package/dist/plugins/Monetization/RunStatus.vue2.js.map +1 -1
- package/dist/plugins/Monetization/UserCabinetCard.vue2.js +22 -22
- package/dist/plugins/Monetization/UserCabinetCard.vue2.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgCellStatusTag.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlAgCellStatusTag.vue.js","sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport { PlStatusTag } from '@milaboratories/uikit';\nimport type { PlStatusTagType } from '@milaboratories/uikit';\n\ndefineProps<{ params?: ICellRendererParams & { type: PlStatusTagType } }>();\n</script>\n\n<template>\n <div class=\"pl-ag-cell-status-tag d-flex align-center\">\n <PlStatusTag :type=\"params?.type\"/>\n </div>\n</template>\n\n<style lang=\"scss\">\n.pl-ag-cell-status-tag{\n height: 100%;\n padding: 0 12px;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","PlStatusTag","_a","__props"],"mappings":";;;;;;;;;;AASE,aAAAA,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,QADJC,EAAmCC,EAAAC,CAAA,GAAA;AAAA,UAArB,OAAMC,IAAAC,EAAA,WAAA,gBAAAD,EAAQ;AAAA,QAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgChartHistogramCell.vue.js","sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport {\n type InferComponentProps,\n PlChartHistogram,\n} from '@milaboratories/uikit';\nimport { computed, ref } from 'vue';\nimport { useElementBounding } from '@vueuse/core';\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>['settings'];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-histogram-cell__not-ready \">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"names":["props","__props","root","ref","width","useElementBounding","settings","computed"],"mappings":";;;;;;;;;;;;AAWA,UAAMA,IAAQC,GAIRC,IAAOC,EAAA,GAEP,EAAE,OAAAC,EAAA,IAAUC,EAAmBH,CAAI,GAEnCI,IAAWC,EAA+C,MAAM;AACpE,UAAKP,EAAM,OAAO,SAIbI,EAAM;AAIX,eAAO,EAAE,GAAGJ,EAAM,OAAO,OAAO,SAAS,IAAM,aAAa,IAAI,YAAYI,EAAM,MAAA;AAAA,IACpF,CAAC
|
|
1
|
+
{"version":3,"file":"PlAgChartHistogramCell.vue.js","sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport {\n type InferComponentProps,\n PlChartHistogram,\n} from '@milaboratories/uikit';\nimport { computed, ref } from 'vue';\nimport { useElementBounding } from '@vueuse/core';\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>['settings'];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-histogram-cell__not-ready \">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"names":["props","__props","root","ref","width","useElementBounding","settings","computed","_createElementBlock","_createBlock","_unref","PlChartHistogram","_hoisted_1"],"mappings":";;;;;;;;;;;;AAWA,UAAMA,IAAQC,GAIRC,IAAOC,EAAA,GAEP,EAAE,OAAAC,EAAA,IAAUC,EAAmBH,CAAI,GAEnCI,IAAWC,EAA+C,MAAM;AACpE,UAAKP,EAAM,OAAO,SAIbI,EAAM;AAIX,eAAO,EAAE,GAAGJ,EAAM,OAAO,OAAO,SAAS,IAAM,aAAa,IAAI,YAAYI,EAAM,MAAA;AAAA,IACpF,CAAC;2BAICI,EAGM,OAAA;AAAA,eAHG;AAAA,MAAJ,KAAIN;AAAA,MAAO,OAAM;AAAA,IAAA;MACII,EAAA,cAAxBG,EAAyDC,EAAAC,CAAA,GAAA;AAAA;QAAtB,UAAUL,EAAA;AAAA,MAAA,mCAC7CE,EAA0E,OAA1EI,GAA2D,WAAS;AAAA,IAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgChartStackedBarCell.vue.js","sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport type {\n PlChartStackedBarSettings,\n} from '@milaboratories/uikit';\nimport {\n PlChartStackedBarCompact,\n} from '@milaboratories/uikit';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-stacked-bar-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"names":["props","__props","settings","computed"],"mappings":";;;;;;;;;;;AAUA,UAAMA,IAAQC,GAIRC,IAAWC,EAAS,MAAMH,EAAM,OAAO,SAAS,MAAS
|
|
1
|
+
{"version":3,"file":"PlAgChartStackedBarCell.vue.js","sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from 'ag-grid-enterprise';\nimport type {\n PlChartStackedBarSettings,\n} from '@milaboratories/uikit';\nimport {\n PlChartStackedBarCompact,\n} from '@milaboratories/uikit';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-stacked-bar-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"names":["props","__props","settings","computed","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_unref","PlChartStackedBarCompact","_hoisted_2"],"mappings":";;;;;;;;;;;AAUA,UAAMA,IAAQC,GAIRC,IAAWC,EAAS,MAAMH,EAAM,OAAO,SAAS,MAAS;sBAI7DI,EAAA,GAAAC,EAGM,OAHNC,GAGM;AAAA,MAF4BJ,EAAA,cAAhCK,EAAiEC,EAAAC,CAAA,GAAA;AAAA;QAAtB,UAAUP,EAAA;AAAA,MAAA,mCACrDG,EAA2E,OAA3EK,GAA4D,WAAS;AAAA,IAAA;;;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".pl-ag-column-header{cursor:pointer;width:100%;overflow:hidden}.pl-ag-column-header .mask-16{min-width:16px}.pl-ag-column-header span{word-break:break-word;overflow:hidden;text-overflow:ellipsis}.pl-ag-column-header__title{overflow:hidden}.pl-ag-column-header__type-icon{--icon-color: var(--txt-03)}.pl-ag-column-header__menu-icon{transform:rotate(90deg);position:relative;line-height:0}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
import { defineComponent as C, computed as m, ref as i, onMounted as k, createElementBlock as
|
|
3
|
-
import { PlTooltip as
|
|
2
|
+
import { defineComponent as C, computed as m, ref as i, onMounted as k, createElementBlock as d, openBlock as n, createVNode as r, createCommentVNode as p, unref as a, createSlots as x, withCtx as f, createElementVNode as g, createBlock as S, toDisplayString as h, createTextVNode as B, withModifiers as M } from "vue";
|
|
3
|
+
import { PlTooltip as N, PlMaskIcon16 as o } from "@milaboratories/uikit";
|
|
4
4
|
|
|
5
5
|
const A = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1" }, I = /* @__PURE__ */ C({
|
|
6
6
|
__name: "PlAgColumnHeader",
|
|
7
7
|
props: {
|
|
8
8
|
params: {}
|
|
9
9
|
},
|
|
10
|
-
setup(
|
|
10
|
+
setup(e) {
|
|
11
11
|
const v = m(() => {
|
|
12
|
-
switch (
|
|
12
|
+
switch (e.params.type) {
|
|
13
13
|
case void 0:
|
|
14
14
|
case "Text":
|
|
15
15
|
return "cell-type-txt";
|
|
@@ -24,16 +24,16 @@ const A = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-gr
|
|
|
24
24
|
case "Progress":
|
|
25
25
|
return "progress";
|
|
26
26
|
default:
|
|
27
|
-
throw Error(`unsupported data type: ${
|
|
27
|
+
throw Error(`unsupported data type: ${e.params.type} for PlAgColumnHeader component. Column ${e.params.column.getColId()}`);
|
|
28
28
|
}
|
|
29
|
-
}), l = i(null), c = () => l.value =
|
|
29
|
+
}), l = i(null), c = () => l.value = e.params.column.getSort() ?? null;
|
|
30
30
|
k(() => c());
|
|
31
31
|
function w() {
|
|
32
|
-
|
|
32
|
+
e.params.column.isSortable() && (e.params.progressSort(), c());
|
|
33
33
|
}
|
|
34
34
|
const u = m(() => {
|
|
35
|
-
const
|
|
36
|
-
switch (
|
|
35
|
+
const t = l.value;
|
|
36
|
+
switch (t) {
|
|
37
37
|
case "asc":
|
|
38
38
|
return "arrow-up";
|
|
39
39
|
case "desc":
|
|
@@ -41,29 +41,29 @@ const A = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-gr
|
|
|
41
41
|
case null:
|
|
42
42
|
return null;
|
|
43
43
|
default:
|
|
44
|
-
throw Error(`unsupported sort direction: ${
|
|
44
|
+
throw Error(`unsupported sort direction: ${t}. Column ${e.params.column.getColId()}`);
|
|
45
45
|
}
|
|
46
46
|
}), s = i();
|
|
47
47
|
function y() {
|
|
48
|
-
const
|
|
49
|
-
|
|
48
|
+
const t = s.value;
|
|
49
|
+
t && e.params.showColumnMenu(t);
|
|
50
50
|
}
|
|
51
|
-
return (
|
|
51
|
+
return (t, D) => (n(), d("div", {
|
|
52
52
|
class: "pl-ag-column-header d-flex align-center gap-6",
|
|
53
53
|
onClick: w
|
|
54
54
|
}, [
|
|
55
|
-
|
|
55
|
+
r(a(N), null, x({
|
|
56
56
|
default: f(() => [
|
|
57
57
|
g("div", A, [
|
|
58
|
-
|
|
58
|
+
r(a(o), {
|
|
59
59
|
name: v.value,
|
|
60
60
|
class: "pl-ag-column-header__type-icon"
|
|
61
61
|
}, null, 8, ["name"]),
|
|
62
62
|
g("span", null, h(e.params.displayName), 1),
|
|
63
|
-
u.value ? (
|
|
63
|
+
u.value ? (n(), S(a(o), {
|
|
64
64
|
key: 0,
|
|
65
65
|
name: u.value
|
|
66
|
-
}, null, 8, ["name"])) :
|
|
66
|
+
}, null, 8, ["name"])) : p("", !0)
|
|
67
67
|
])
|
|
68
68
|
]),
|
|
69
69
|
_: 2
|
|
@@ -71,20 +71,20 @@ const A = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-gr
|
|
|
71
71
|
e.params.tooltip ? {
|
|
72
72
|
name: "tooltip",
|
|
73
73
|
fn: f(() => [
|
|
74
|
-
|
|
74
|
+
B(h(e.params.tooltip), 1)
|
|
75
75
|
]),
|
|
76
76
|
key: "0"
|
|
77
77
|
} : void 0
|
|
78
78
|
]), 1024),
|
|
79
|
-
e.params.enableMenu ? (
|
|
79
|
+
e.params.enableMenu ? (n(), d("div", {
|
|
80
80
|
key: 0,
|
|
81
81
|
ref_key: "menuActivatorBtn",
|
|
82
82
|
ref: s,
|
|
83
83
|
class: "pl-ag-column-header__menu-icon",
|
|
84
|
-
onClick:
|
|
84
|
+
onClick: M(y, ["stop"])
|
|
85
85
|
}, [
|
|
86
|
-
|
|
87
|
-
], 512)) :
|
|
86
|
+
r(a(o), { name: "more" })
|
|
87
|
+
], 512)) : p("", !0)
|
|
88
88
|
]));
|
|
89
89
|
}
|
|
90
90
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgColumnHeader.vue.js","sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from 'ag-grid-enterprise';\nimport type { MaskIconName16 } from '@milaboratories/uikit';\nimport { PlMaskIcon16, PlTooltip } from '@milaboratories/uikit';\nimport { computed, onMounted, ref } from 'vue';\nimport './pl-ag-column-header.scss';\nimport type { PlAgHeaderComponentParams } from './types';\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case 'Text':\n return 'cell-type-txt';\n case 'Number':\n return 'cell-type-num';\n case 'File':\n return 'paper-clip';\n case 'Date':\n return 'calendar';\n case 'Duration':\n return 'time';\n case 'Progress':\n return 'progress';\n default:\n throw Error(`unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`);\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case 'asc':\n return 'arrow-up';\n case 'desc':\n return 'arrow-down';\n case null:\n return null;\n default:\n throw Error(`unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`);\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div class=\"pl-ag-column-header d-flex align-center gap-6\" @click=\"onSortRequested\">\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <div class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\">\n <PlMaskIcon16 :name=\"icon\" class=\"pl-ag-column-header__type-icon\" />\n <span>{{ params.displayName }}</span>\n <PlMaskIcon16 v-if=\"sortIcon\" :name=\"sortIcon\" />\n </div>\n </PlTooltip>\n <div v-if=\"params.enableMenu\" ref=\"menuActivatorBtn\" class=\"pl-ag-column-header__menu-icon\" @click.stop=\"showMenu\">\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"names":["icon","computed","__props","sortDirection","ref","refreshSortDirection","onMounted","onSortRequested","sortIcon","direction","menuActivatorBtn","showMenu","menuActivatorBtnValue"],"mappings":";;;;;;;;;AAUA,UAAMA,IAAOC,EAAyB,MAAM;AAC1C,cAAQC,EAAA,OAAO,MAAA;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,MAAM,0BAA0BA,EAAA,OAAO,IAAoB,2CAA2CA,EAAA,OAAO,OAAO,SAAA,CAAU,EAAE;AAAA,MAAA;AAAA,IAE5I,CAAC,GAEKC,IAAgBC,EAAmB,IAAI,GACvCC,IAAuB,MAAOF,EAAc,QAAQD,SAAO,OAAO,aAAa;AACrF,IAAAI,EAAU,MAAMD,GAAsB;AACtC,aAASE,IAAkB;AACzB,MAAIL,EAAA,OAAO,OAAO,WAAA,MAChBA,SAAO,aAAA,GACPG,EAAA;AAAA,IAEJ;AACA,UAAMG,IAAWP,EAAgC,MAAM;AACrD,YAAMQ,IAAYN,EAAc;AAChC,cAAQM,GAAA;AAAA,QACN,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,MAAM,+BAA+BA,CAAyB,YAAYP,EAAA,OAAO,OAAO,SAAA,CAAU,EAAE;AAAA,MAAA;AAAA,IAEhH,CAAC,GAEKQ,IAAmBN,EAAA;AACzB,aAASO,IAAW;AAClB,YAAMC,IAAwBF,EAAiB;AAC/C,MAAIE,KAAuBV,EAAA,OAAO,eAAeU,CAAqB;AAAA,IACxE
|
|
1
|
+
{"version":3,"file":"PlAgColumnHeader.vue.js","sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from 'ag-grid-enterprise';\nimport type { MaskIconName16 } from '@milaboratories/uikit';\nimport { PlMaskIcon16, PlTooltip } from '@milaboratories/uikit';\nimport { computed, onMounted, ref } from 'vue';\nimport './pl-ag-column-header.scss';\nimport type { PlAgHeaderComponentParams } from './types';\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case 'Text':\n return 'cell-type-txt';\n case 'Number':\n return 'cell-type-num';\n case 'File':\n return 'paper-clip';\n case 'Date':\n return 'calendar';\n case 'Duration':\n return 'time';\n case 'Progress':\n return 'progress';\n default:\n throw Error(`unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`);\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case 'asc':\n return 'arrow-up';\n case 'desc':\n return 'arrow-down';\n case null:\n return null;\n default:\n throw Error(`unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`);\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div class=\"pl-ag-column-header d-flex align-center gap-6\" @click=\"onSortRequested\">\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <div class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\">\n <PlMaskIcon16 :name=\"icon\" class=\"pl-ag-column-header__type-icon\" />\n <span>{{ params.displayName }}</span>\n <PlMaskIcon16 v-if=\"sortIcon\" :name=\"sortIcon\" />\n </div>\n </PlTooltip>\n <div v-if=\"params.enableMenu\" ref=\"menuActivatorBtn\" class=\"pl-ag-column-header__menu-icon\" @click.stop=\"showMenu\">\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"names":["icon","computed","__props","sortDirection","ref","refreshSortDirection","onMounted","onSortRequested","sortIcon","direction","menuActivatorBtn","showMenu","menuActivatorBtnValue","_createElementBlock","_createVNode","_unref","PlTooltip","_createSlots","_createElementVNode","_hoisted_1","PlMaskIcon16","_toDisplayString","_createBlock","_createTextVNode"],"mappings":";;;;;;;;;AAUA,UAAMA,IAAOC,EAAyB,MAAM;AAC1C,cAAQC,EAAA,OAAO,MAAA;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,MAAM,0BAA0BA,EAAA,OAAO,IAAoB,2CAA2CA,EAAA,OAAO,OAAO,SAAA,CAAU,EAAE;AAAA,MAAA;AAAA,IAE5I,CAAC,GAEKC,IAAgBC,EAAmB,IAAI,GACvCC,IAAuB,MAAOF,EAAc,QAAQD,SAAO,OAAO,aAAa;AACrF,IAAAI,EAAU,MAAMD,GAAsB;AACtC,aAASE,IAAkB;AACzB,MAAIL,EAAA,OAAO,OAAO,WAAA,MAChBA,SAAO,aAAA,GACPG,EAAA;AAAA,IAEJ;AACA,UAAMG,IAAWP,EAAgC,MAAM;AACrD,YAAMQ,IAAYN,EAAc;AAChC,cAAQM,GAAA;AAAA,QACN,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,MAAM,+BAA+BA,CAAyB,YAAYP,EAAA,OAAO,OAAO,SAAA,CAAU,EAAE;AAAA,MAAA;AAAA,IAEhH,CAAC,GAEKQ,IAAmBN,EAAA;AACzB,aAASO,IAAW;AAClB,YAAMC,IAAwBF,EAAiB;AAC/C,MAAIE,KAAuBV,EAAA,OAAO,eAAeU,CAAqB;AAAA,IACxE;2BAIEC,EAYM,OAAA;AAAA,MAZD,OAAM;AAAA,MAAiD,SAAON;AAAA,IAAA;MACjEO,EAOYC,EAAAC,CAAA,GAAA,MAAAC,EAAA;AAAA,mBALV,MAIM;AAAA,UAJNC,EAIM,OAJNC,GAIM;AAAA,YAHJL,EAAoEC,EAAAK,CAAA,GAAA;AAAA,cAArD,MAAMpB,EAAA;AAAA,cAAM,OAAM;AAAA,YAAA;YACjCkB,EAAqC,QAAA,MAAAG,EAA5BnB,EAAA,OAAO,WAAW,GAAA,CAAA;AAAA,YACPM,EAAA,cAApBc,EAAiDP,EAAAK,CAAA,GAAA;AAAA;cAAlB,MAAMZ,EAAA;AAAA,YAAA;;;;;QAJvBN,EAAA,OAAO;gBAAU;AAAA,gBAAQ,MAAoB;AAAA,YAAjBqB,EAAAF,EAAAnB,EAAA,OAAO,OAAO,GAAA,CAAA;AAAA,UAAA;;;;MAOjDA,EAAA,OAAO,mBAAlBW,EAEM,OAAA;AAAA;iBAF4B;AAAA,QAAJ,KAAIH;AAAA,QAAmB,OAAM;AAAA,QAAkC,WAAYC,GAAQ,CAAA,MAAA,CAAA;AAAA,MAAA;QAC/GG,EAA4BC,EAAAK,CAAA,GAAA,EAAd,MAAK,QAAM;AAAA,MAAA;;;;"}
|
|
@@ -20,9 +20,9 @@ const A = /* @__PURE__ */ s({
|
|
|
20
20
|
icon: "export",
|
|
21
21
|
onClick: v(i, ["stop"])
|
|
22
22
|
}, {
|
|
23
|
-
default: C(() => r[0] || (r[0] = [
|
|
24
|
-
k(" Export ")
|
|
25
|
-
])),
|
|
23
|
+
default: C(() => [...r[0] || (r[0] = [
|
|
24
|
+
k(" Export ", -1)
|
|
25
|
+
])]),
|
|
26
26
|
_: 1
|
|
27
27
|
}, 8, ["loading"])
|
|
28
28
|
], 8, ["to"])) : d("", !0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgCsvExporter.vue.js","sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from 'ag-grid-enterprise';\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from '@milaboratories/uikit';\nimport { shallowRef, toRefs } from 'vue';\nimport { exportCsv } from './export-csv';\n\nconst props = defineProps<{\n api: GridApi;\n}>();\nconst { api: gridApi } = toRefs(props);\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n exporting.value = true;\n exportCsv(gridApi.value, () => exporting.value = false);\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget('PlAgCsvExporter');\n</script>\n\n<template>\n <div>\n <Teleport v-if=\"teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :loading=\"exporting\" icon=\"export\" @click.stop=\"initiateExport\">\n Export\n </PlBtnGhost>\n </Teleport>\n </div>\n</template>\n"],"names":["props","__props","gridApi","toRefs","exporting","shallowRef","initiateExport","exportCsv","teleportTarget","usePlBlockPageTitleTeleportTarget"],"mappings":";;;;;;;;;AAMA,UAAMA,IAAQC,GAGR,EAAE,KAAKC,MAAYC,EAAOH,CAAK,GAE/BI,IAAYC,EAAW,EAAK,GAC5BC,IAAiB,MAAM;AAC3B,MAAAF,EAAU,QAAQ,IAClBG,EAAUL,EAAQ,OAAO,MAAME,EAAU,QAAQ,EAAK;AAAA,IACxD,GAEMI,IAAiBC,EAAkC,iBAAiB
|
|
1
|
+
{"version":3,"file":"PlAgCsvExporter.vue.js","sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from 'ag-grid-enterprise';\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from '@milaboratories/uikit';\nimport { shallowRef, toRefs } from 'vue';\nimport { exportCsv } from './export-csv';\n\nconst props = defineProps<{\n api: GridApi;\n}>();\nconst { api: gridApi } = toRefs(props);\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n exporting.value = true;\n exportCsv(gridApi.value, () => exporting.value = false);\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget('PlAgCsvExporter');\n</script>\n\n<template>\n <div>\n <Teleport v-if=\"teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost :loading=\"exporting\" icon=\"export\" @click.stop=\"initiateExport\">\n Export\n </PlBtnGhost>\n </Teleport>\n </div>\n</template>\n"],"names":["props","__props","gridApi","toRefs","exporting","shallowRef","initiateExport","exportCsv","teleportTarget","usePlBlockPageTitleTeleportTarget","_createElementBlock","_unref","_createBlock","_Teleport","_createVNode","PlBtnGhost","_cache"],"mappings":";;;;;;;;;AAMA,UAAMA,IAAQC,GAGR,EAAE,KAAKC,MAAYC,EAAOH,CAAK,GAE/BI,IAAYC,EAAW,EAAK,GAC5BC,IAAiB,MAAM;AAC3B,MAAAF,EAAU,QAAQ,IAClBG,EAAUL,EAAQ,OAAO,MAAME,EAAU,QAAQ,EAAK;AAAA,IACxD,GAEMI,IAAiBC,EAAkC,iBAAiB;2BAIxEC,EAMM,OAAA,MAAA;AAAA,MALYC,EAAAH,CAAA,UAAhBI,EAIWC,GAAA;AAAA;QAJsB,IAAIF,EAAAH,CAAA;AAAA,MAAA;QACnCM,EAEaH,EAAAI,CAAA,GAAA;AAAA,UAFA,SAASX,EAAA;AAAA,UAAW,MAAK;AAAA,UAAU,WAAYE,GAAc,CAAA,MAAA,CAAA;AAAA,QAAA;qBAAE,MAE5E,CAAA,GAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,cAF4E,YAE5E,EAAA;AAAA,UAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAgDataTableSheets.vue2.js","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n PlDropdownLine,\n} from '@milaboratories/uikit';\nimport type {\n PlDataTableSheet,\n PlDataTableSheetState,\n} from '@platforma-sdk/model';\nimport {\n getAxisId,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watchEffect,\n} from 'vue';\nimport type {\n PlDataTableSheetsSettings,\n PlDataTableSheetNormalized,\n} from './types';\nimport {\n isJsonEqual,\n} from '@milaboratories/helpers';\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.['pl7.app/label']?.trim()\n ?? `Unlabeled axis ${i}`) + ':';\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"names":["state","_useModel","props","__props","sheets","computed","sheet","i","axisId","getAxisId","getDefaultValue","cachedState","s","isJsonEqual","isValidOption","_b","_a","value","option","watchEffect","oldState","newState","makeStateEntry","onSheetChanged","newValue","stateEntry"],"mappings":";;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,iBAEb,GACKC,IAAQC,GAKRC,IAASC,EAAuC,MAC7CH,EAAM,SAAS,OACnB,OAAO,CAACI,MAAUA,EAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAACA,GAAOC,MAAM;AACjB,YAAMC,IAASC,EAAUH,EAAM,IAAI,GAE7BI,IAAkB,MAAuB;AAC7C,cAAMC,IAAcT,EAAM,SAAS,YAAY,KAAK,CAACU,MAC5CC,EAAYD,EAAE,QAAQJ,CAAM,CACpC;AACD,eAAIG,KAAeG,EAAcR,GAAOK,EAAY,KAAK,IAChDA,EAAY,QAEjBL,EAAM,gBAAgBQ,EAAcR,GAAOA,EAAM,YAAY,IACxDA,EAAM,eAERA,EAAM,QAAQ,CAAC,EAAE;AAAA,MAC1B;AAOA,aAAO;AAAA,QACL,QAAAE;AAAA,QACA,SAPiB,MAAc;;AAC/B,oBAAQO,KAAAC,IAAAV,EAAM,KAAK,gBAAX,gBAAAU,EAAyB,qBAAzB,gBAAAD,EAA2C,WAC9C,kBAAkBR,CAAC,MAAM;AAAA,QAChC,GAIU;AAAA,QACR,SAASD,EAAM;AAAA,QACf,cAAcI,EAAA;AAAA,MAAgB;AAAA,IAElC,CAAC,CACJ;AAED,aAASI,EAAcR,GAAyBW,GAAiC;AAC/E,aAAOX,EAAM,QAAQ,KAAK,CAACY,MAAWA,EAAO,UAAUD,CAAK;AAAA,IAC9D;AAGA,IAAAE,EAAY,MAAM;AAChB,YAAMC,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1BqB,IAAWjB,EAAO,MAAM,IAAI,CAACE,GAAOC,MAAMe,EAAef,GAAGD,EAAM,YAAY,CAAC;AACrF,MAAKO,EAAYO,GAAUC,CAAQ,MACjCrB,EAAM,QAAQqB;AAAA,IAElB,CAAC;AAED,aAASC,EAAef,GAAWU,GAA+C;AAEhF,aAAO;AAAA,QACL,QAFab,EAAO,MAAMG,CAAC,EAAE;AAAA,QAG7B,OAAAU;AAAA,MAAA;AAAA,IAEJ;AAEA,aAASM,EAAehB,GAAWiB,GAAiC;AAClE,YAAMJ,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1ByB,IAAaH,EAAef,GAAGiB,CAAQ;AAC7C,UAAI,CAACX,EAAYO,EAASb,CAAC,GAAGkB,CAAU,GAAG;AACzC,cAAMJ,IAAW,CAAC,GAAGD,CAAQ;AAC7B,QAAAC,EAASd,CAAC,IAAIkB,GACdzB,EAAM,QAAQqB;AAAA,MAChB;AAAA,IACF
|
|
1
|
+
{"version":3,"file":"PlAgDataTableSheets.vue2.js","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n PlDropdownLine,\n} from '@milaboratories/uikit';\nimport type {\n PlDataTableSheet,\n PlDataTableSheetState,\n} from '@platforma-sdk/model';\nimport {\n getAxisId,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watchEffect,\n} from 'vue';\nimport type {\n PlDataTableSheetsSettings,\n PlDataTableSheetNormalized,\n} from './types';\nimport {\n isJsonEqual,\n} from '@milaboratories/helpers';\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.['pl7.app/label']?.trim()\n ?? `Unlabeled axis ${i}`) + ':';\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"names":["state","_useModel","props","__props","sheets","computed","sheet","i","axisId","getAxisId","getDefaultValue","cachedState","s","isJsonEqual","isValidOption","_b","_a","value","option","watchEffect","oldState","newState","makeStateEntry","onSheetChanged","newValue","stateEntry","$slots","_createElementBlock","_normalizeClass","$style","_renderSlot","_ctx","_openBlock","_Fragment","_renderList","_createBlock","_unref","PlDropdownLine"],"mappings":";;;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,iBAEb,GACKC,IAAQC,GAKRC,IAASC,EAAuC,MAC7CH,EAAM,SAAS,OACnB,OAAO,CAACI,MAAUA,EAAM,QAAQ,SAAS,CAAC,EAC1C,IAAI,CAACA,GAAOC,MAAM;AACjB,YAAMC,IAASC,EAAUH,EAAM,IAAI,GAE7BI,IAAkB,MAAuB;AAC7C,cAAMC,IAAcT,EAAM,SAAS,YAAY,KAAK,CAACU,MAC5CC,EAAYD,EAAE,QAAQJ,CAAM,CACpC;AACD,eAAIG,KAAeG,EAAcR,GAAOK,EAAY,KAAK,IAChDA,EAAY,QAEjBL,EAAM,gBAAgBQ,EAAcR,GAAOA,EAAM,YAAY,IACxDA,EAAM,eAERA,EAAM,QAAQ,CAAC,EAAE;AAAA,MAC1B;AAOA,aAAO;AAAA,QACL,QAAAE;AAAA,QACA,SAPiB,MAAc;;AAC/B,oBAAQO,KAAAC,IAAAV,EAAM,KAAK,gBAAX,gBAAAU,EAAyB,qBAAzB,gBAAAD,EAA2C,WAC9C,kBAAkBR,CAAC,MAAM;AAAA,QAChC,GAIU;AAAA,QACR,SAASD,EAAM;AAAA,QACf,cAAcI,EAAA;AAAA,MAAgB;AAAA,IAElC,CAAC,CACJ;AAED,aAASI,EAAcR,GAAyBW,GAAiC;AAC/E,aAAOX,EAAM,QAAQ,KAAK,CAACY,MAAWA,EAAO,UAAUD,CAAK;AAAA,IAC9D;AAGA,IAAAE,EAAY,MAAM;AAChB,YAAMC,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1BqB,IAAWjB,EAAO,MAAM,IAAI,CAACE,GAAOC,MAAMe,EAAef,GAAGD,EAAM,YAAY,CAAC;AACrF,MAAKO,EAAYO,GAAUC,CAAQ,MACjCrB,EAAM,QAAQqB;AAAA,IAElB,CAAC;AAED,aAASC,EAAef,GAAWU,GAA+C;AAEhF,aAAO;AAAA,QACL,QAFab,EAAO,MAAMG,CAAC,EAAE;AAAA,QAG7B,OAAAU;AAAA,MAAA;AAAA,IAEJ;AAEA,aAASM,EAAehB,GAAWiB,GAAiC;AAClE,YAAMJ,IAAW,CAAC,GAAGpB,EAAM,KAAK,GAC1ByB,IAAaH,EAAef,GAAGiB,CAAQ;AAC7C,UAAI,CAACX,EAAYO,EAASb,CAAC,GAAGkB,CAAU,GAAG;AACzC,cAAMJ,IAAW,CAAC,GAAGD,CAAQ;AAC7B,QAAAC,EAASd,CAAC,IAAIkB,GACdzB,EAAM,QAAQqB;AAAA,MAChB;AAAA,IACF;qBAKUK,EAAAA,OAAM,UAActB,EAAA,MAAO,cAAcsB,EAAAA,OAAM,cADvDC,EAgBM,OAAA;AAAA;MAdH,OAAKC,EAAEC,EAAAA,OAAO,SAAS;AAAA,IAAA;MAExBC,EAAsBC,EAAA,QAAA,QAAA;AAAA,OACtBC,EAAA,EAAA,GAAAL,EASWM,GAAA,MAAAC,EAToB9B,EAAA,OAAM,CAAnBE,GAAOC,wBAAoBA,KAAC;AAAA,QAGpCP,EAAA,MAAMO,CAAC,UADf4B,EAMEC,EAAAC,CAAA,GAAA;AAAA;UAJC,eAAarC,EAAA,MAAMO,CAAC,EAAE;AAAA,UACtB,SAASD,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,UACd,wBAAqBkB,MAA8BD,EAAehB,GAAGiB,CAAQ;AAAA,QAAA;;MAGlFM,EAAqBC,EAAA,QAAA,OAAA;AAAA,IAAA;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var E=document.createElement("style");E.appendChild(document.createTextNode(".grid-overlay-container{height:calc(100% - 1px);margin-top:1px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-base-light)}.grid-icon-sad-cat{background-image:url(data:image/png;base64,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);background-repeat:no-repeat}.grid-overlay-container>div{height:300px;width:300px;background-size:contain;background-position:center}.grid-overlay-container>span{color:var(--txt-mask)}")),document.head.appendChild(E)}}catch(h){console.error("vite-plugin-css-injected-by-js",h)}})();
|
|
2
|
-
import { defineComponent as ue, mergeModels as U, useModel as q, toRefs as de, computed as M, ref as F, shallowRef as H, watch as
|
|
2
|
+
import { defineComponent as ue, mergeModels as U, useModel as q, toRefs as de, computed as M, ref as F, shallowRef as H, watch as x, effectScope as ce, createElementBlock as me, openBlock as b, normalizeClass as Q, createBlock as G, createCommentVNode as z, createVNode as fe, unref as P, isRef as W, withCtx as j, renderSlot as X } from "vue";
|
|
3
3
|
import { isJsonEqual as i } from "../../lib/util/helpers/dist/objects.js";
|
|
4
4
|
import { promiseTimeout as ve } from "../../lib/util/helpers/dist/functions.js";
|
|
5
5
|
import { parseJson as Y, getAxisId as Z, matchAxisId as _, canonicalizeJson as ee, createPlSelectionModel as $, getRawPlatformaInstance as pe } from "@platforma-sdk/model";
|
|
@@ -10,10 +10,10 @@ import Ce from "../PlAgGridColumnManager/PlAgGridColumnManager.vue.js";
|
|
|
10
10
|
import he from "../PlTableFilters/PlTableFiltersV2.vue.js";
|
|
11
11
|
import we from "./PlAgDataTableSheets.vue.js";
|
|
12
12
|
import Re from "./PlAgOverlayLoading.vue.js";
|
|
13
|
-
import
|
|
13
|
+
import xe from "./PlAgOverlayNoRows.vue.js";
|
|
14
14
|
|
|
15
|
-
import
|
|
16
|
-
import { DeferredCircular as
|
|
15
|
+
import De from "./PlAgRowCount.vue.js";
|
|
16
|
+
import { DeferredCircular as Oe, ensureNodeVisible as Ie } from "./sources/focus-row.js";
|
|
17
17
|
import { PlAgDataTableRowNumberColId as te, autoSizeRowNumberColumn as be } from "./sources/row-number.js";
|
|
18
18
|
import { calculateGridOptions as Pe } from "./sources/table-source-v2.js";
|
|
19
19
|
import { useTableState as ke } from "./sources/table-state-v2.js";
|
|
@@ -40,12 +40,12 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
40
40
|
selectionModifiers: {}
|
|
41
41
|
}),
|
|
42
42
|
emits: /* @__PURE__ */ U(["rowDoubleClicked", "cellButtonClicked", "newDataRendered"], ["update:modelValue", "update:selection"]),
|
|
43
|
-
setup(
|
|
44
|
-
const ae = q(
|
|
43
|
+
setup(C, { expose: le, emit: oe }) {
|
|
44
|
+
const ae = q(C, "modelValue"), o = q(C, "selection"), d = C, { settings: D } = de(d), B = oe, { gridState: O, sheetsState: k, filtersState: T } = ke(ae, D), ne = M(() => {
|
|
45
45
|
const e = { ...D.value };
|
|
46
46
|
return e.sourceId !== null ? {
|
|
47
47
|
sheets: e.sheets ?? [],
|
|
48
|
-
cachedState: [...
|
|
48
|
+
cachedState: [...k.value]
|
|
49
49
|
} : {
|
|
50
50
|
sheets: [],
|
|
51
51
|
cachedState: []
|
|
@@ -55,13 +55,13 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
55
55
|
return e.sourceId !== null && t.length > 0 ? {
|
|
56
56
|
columns: t,
|
|
57
57
|
config: (a) => e.filtersConfig({ sourceId: e.sourceId, column: a }),
|
|
58
|
-
cachedState: [...
|
|
58
|
+
cachedState: [...T.value]
|
|
59
59
|
} : {
|
|
60
60
|
columns: [],
|
|
61
61
|
config: () => ({}),
|
|
62
62
|
cachedState: []
|
|
63
63
|
};
|
|
64
|
-
}), c = H(null),
|
|
64
|
+
}), c = H(null), I = new Oe(), r = H({
|
|
65
65
|
animateRows: !1,
|
|
66
66
|
suppressColumnMoveAnimation: !0,
|
|
67
67
|
cellSelection: !o.value,
|
|
@@ -110,7 +110,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
110
110
|
notReadyText: d.notReadyText
|
|
111
111
|
},
|
|
112
112
|
loadingOverlayComponent: Re,
|
|
113
|
-
noRowsOverlayComponent:
|
|
113
|
+
noRowsOverlayComponent: xe,
|
|
114
114
|
noRowsOverlayComponentParams: {
|
|
115
115
|
text: d.noRowsText
|
|
116
116
|
},
|
|
@@ -121,7 +121,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
121
121
|
},
|
|
122
122
|
statusBar: {
|
|
123
123
|
statusPanels: [
|
|
124
|
-
{ statusPanel:
|
|
124
|
+
{ statusPanel: De, align: "left" }
|
|
125
125
|
]
|
|
126
126
|
},
|
|
127
127
|
onGridReady: (e) => {
|
|
@@ -172,7 +172,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
const E = F(0);
|
|
175
|
-
|
|
175
|
+
x(
|
|
176
176
|
() => [c.value, O.value],
|
|
177
177
|
([e, t]) => {
|
|
178
178
|
if (!e || e.isDestroyed()) return;
|
|
@@ -181,7 +181,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
181
181
|
}
|
|
182
182
|
);
|
|
183
183
|
let y = null;
|
|
184
|
-
|
|
184
|
+
x(
|
|
185
185
|
() => [c.value, r.value],
|
|
186
186
|
([e, t]) => {
|
|
187
187
|
!e || e.isDestroyed() || (t.loading && (y != null && y.loading) && !i(
|
|
@@ -192,7 +192,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
192
192
|
{ immediate: !0 }
|
|
193
193
|
);
|
|
194
194
|
const re = M(() => d.cellRendererSelector ?? null);
|
|
195
|
-
|
|
195
|
+
x(
|
|
196
196
|
() => [c.value, re.value],
|
|
197
197
|
([e, t]) => {
|
|
198
198
|
!e || e.isDestroyed() || e.setGridOption("defaultColDef", {
|
|
@@ -202,21 +202,21 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
202
202
|
}
|
|
203
203
|
), le({
|
|
204
204
|
focusRow: async (e) => {
|
|
205
|
-
const t = await
|
|
205
|
+
const t = await I.promise;
|
|
206
206
|
return t.isDestroyed() ? !1 : Ie(t, (l) => {
|
|
207
207
|
var a;
|
|
208
208
|
return i((a = l.data) == null ? void 0 : a.axesKey, e);
|
|
209
209
|
});
|
|
210
210
|
},
|
|
211
211
|
updateSelection: async ({ axesSpec: e, selectedKeys: t }) => {
|
|
212
|
-
var
|
|
213
|
-
const l = await
|
|
212
|
+
var w, g;
|
|
213
|
+
const l = await I.promise;
|
|
214
214
|
if (l.isDestroyed()) return !1;
|
|
215
|
-
const a = (
|
|
215
|
+
const a = (w = o.value) == null ? void 0 : w.axesSpec;
|
|
216
216
|
if (!a || a.length !== e.length) return !1;
|
|
217
217
|
const n = e.map((p) => {
|
|
218
218
|
const S = Z(p);
|
|
219
|
-
return a.findIndex((
|
|
219
|
+
return a.findIndex((R) => _(R, S));
|
|
220
220
|
}), u = new Set(n);
|
|
221
221
|
if (u.has(-1) || u.size !== e.length) return !1;
|
|
222
222
|
const s = t.map((p) => ee(n.map((S) => p[S]))), m = ((g = l.getServerSideSelectionState()) == null ? void 0 : g.toggledNodes) ?? [];
|
|
@@ -225,10 +225,10 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
225
225
|
selectAll: !1,
|
|
226
226
|
toggledNodes: s
|
|
227
227
|
});
|
|
228
|
-
const p = ce(), { resolve: S, promise:
|
|
229
|
-
p.run(() =>
|
|
228
|
+
const p = ce(), { resolve: S, promise: R } = Promise.withResolvers();
|
|
229
|
+
p.run(() => x(o, S, { once: !0 }));
|
|
230
230
|
try {
|
|
231
|
-
await ve(
|
|
231
|
+
await ve(R, 500);
|
|
232
232
|
} catch {
|
|
233
233
|
return !1;
|
|
234
234
|
} finally {
|
|
@@ -256,15 +256,15 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
256
256
|
);
|
|
257
257
|
const L = $();
|
|
258
258
|
let v = null;
|
|
259
|
-
const
|
|
260
|
-
return
|
|
259
|
+
const h = F(0);
|
|
260
|
+
return x(
|
|
261
261
|
() => [c.value, D.value],
|
|
262
262
|
([e, t]) => {
|
|
263
263
|
var l, a;
|
|
264
264
|
if (!(!e || e.isDestroyed()) && !i(t, v)) {
|
|
265
|
-
++
|
|
265
|
+
++h.value;
|
|
266
266
|
try {
|
|
267
|
-
if (e.hideOverlay(),
|
|
267
|
+
if (e.hideOverlay(), I.reset(), !t.sourceId) {
|
|
268
268
|
e.updateGridOptions({
|
|
269
269
|
loading: !0,
|
|
270
270
|
loadingOverlayComponentParams: {
|
|
@@ -294,19 +294,19 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
294
294
|
const s = e.getServerSideGroupLevelState(), m = !n && s.length > 0 ? s[0].rowCount : 1;
|
|
295
295
|
return e.updateGridOptions({
|
|
296
296
|
serverSideDatasource: {
|
|
297
|
-
getRows: (
|
|
298
|
-
|
|
297
|
+
getRows: (w) => {
|
|
298
|
+
w.success({ rowData: [], rowCount: m });
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
});
|
|
302
302
|
}
|
|
303
|
-
const u =
|
|
303
|
+
const u = h.value;
|
|
304
304
|
Pe({
|
|
305
|
-
generation:
|
|
305
|
+
generation: h,
|
|
306
306
|
pfDriver: pe().pFrameDriver,
|
|
307
307
|
model: t.model,
|
|
308
308
|
sheets: t.sheets ?? [],
|
|
309
|
-
dataRenderedTracker:
|
|
309
|
+
dataRenderedTracker: I,
|
|
310
310
|
hiddenColIds: (a = O.value.columnVisibility) == null ? void 0 : a.hiddenColIds,
|
|
311
311
|
cellButtonAxisParams: {
|
|
312
312
|
showCellButtonForAxisId: d.showCellButtonForAxisId,
|
|
@@ -314,10 +314,10 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
314
314
|
trigger: (s) => B("cellButtonClicked", s)
|
|
315
315
|
}
|
|
316
316
|
}).then((s) => {
|
|
317
|
-
if (e.isDestroyed() || u !==
|
|
318
|
-
const { axesSpec: m, ...
|
|
317
|
+
if (e.isDestroyed() || u !== h.value) return;
|
|
318
|
+
const { axesSpec: m, ...w } = s;
|
|
319
319
|
if (e.updateGridOptions({
|
|
320
|
-
...
|
|
320
|
+
...w
|
|
321
321
|
}), o.value) {
|
|
322
322
|
const { axesSpec: g, selectedKeys: p } = o.value;
|
|
323
323
|
if (!i(g, m)) {
|
|
@@ -328,8 +328,8 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
328
328
|
toggledNodes: []
|
|
329
329
|
});
|
|
330
330
|
}
|
|
331
|
-
const S = g.map(Z).map((f) => m.findIndex((K) => _(K, f))),
|
|
332
|
-
if (
|
|
331
|
+
const S = g.map(Z).map((f) => m.findIndex((K) => _(K, f))), R = new Set(S);
|
|
332
|
+
if (R.has(-1) || R.size !== m.length) {
|
|
333
333
|
const f = { axesSpec: m, selectedKeys: [] };
|
|
334
334
|
return i(o.value, f) || (o.value = f), e.setServerSideSelectionState({
|
|
335
335
|
selectAll: !1,
|
|
@@ -344,12 +344,12 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
}).catch((s) => {
|
|
347
|
-
e.isDestroyed() || u !==
|
|
347
|
+
e.isDestroyed() || u !== h.value || console.trace(s);
|
|
348
348
|
}).finally(() => {
|
|
349
|
-
e.isDestroyed() || u !==
|
|
349
|
+
e.isDestroyed() || u !== h.value || e.updateGridOptions({
|
|
350
350
|
loading: !1
|
|
351
351
|
});
|
|
352
|
-
}),
|
|
352
|
+
}), I.promise.then(() => B("newDataRendered"));
|
|
353
353
|
} catch (n) {
|
|
354
354
|
console.trace(n);
|
|
355
355
|
} finally {
|
|
@@ -357,7 +357,7 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
357
357
|
}
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
|
-
),
|
|
360
|
+
), x(
|
|
361
361
|
() => ({
|
|
362
362
|
gridApi: c.value,
|
|
363
363
|
loadingText: d.loadingText,
|
|
@@ -377,26 +377,26 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
377
377
|
}
|
|
378
378
|
});
|
|
379
379
|
}
|
|
380
|
-
), (e, t) => (
|
|
380
|
+
), (e, t) => (b(), me("div", {
|
|
381
381
|
class: Q(e.$style.container)
|
|
382
382
|
}, [
|
|
383
|
-
c.value && !
|
|
383
|
+
c.value && !C.disableColumnsPanel ? (b(), G(P(Ce), {
|
|
384
384
|
key: 0,
|
|
385
385
|
api: c.value
|
|
386
386
|
}, null, 8, ["api"])) : z("", !0),
|
|
387
|
-
|
|
387
|
+
C.disableFiltersPanel ? z("", !0) : (b(), G(he, {
|
|
388
388
|
key: 1,
|
|
389
|
-
modelValue:
|
|
390
|
-
"onUpdate:modelValue": t[0] || (t[0] = (l) => W(
|
|
389
|
+
modelValue: P(T),
|
|
390
|
+
"onUpdate:modelValue": t[0] || (t[0] = (l) => W(T) ? T.value = l : null),
|
|
391
391
|
settings: se.value
|
|
392
392
|
}, null, 8, ["modelValue", "settings"])),
|
|
393
|
-
c.value &&
|
|
393
|
+
c.value && C.showExportButton ? (b(), G(ge, {
|
|
394
394
|
key: 2,
|
|
395
395
|
api: c.value
|
|
396
396
|
}, null, 8, ["api"])) : z("", !0),
|
|
397
397
|
fe(we, {
|
|
398
|
-
modelValue:
|
|
399
|
-
"onUpdate:modelValue": t[1] || (t[1] = (l) => W(
|
|
398
|
+
modelValue: P(k),
|
|
399
|
+
"onUpdate:modelValue": t[1] || (t[1] = (l) => W(k) ? k.value = l : null),
|
|
400
400
|
settings: ne.value
|
|
401
401
|
}, {
|
|
402
402
|
before: j(() => [
|
|
@@ -407,9 +407,9 @@ const Xe = /* @__PURE__ */ ue({
|
|
|
407
407
|
]),
|
|
408
408
|
_: 3
|
|
409
409
|
}, 8, ["modelValue", "settings"]),
|
|
410
|
-
(
|
|
410
|
+
(b(), G(P(Se), {
|
|
411
411
|
key: E.value,
|
|
412
|
-
theme:
|
|
412
|
+
theme: P(ye),
|
|
413
413
|
class: Q(e.$style.grid),
|
|
414
414
|
"grid-options": r.value
|
|
415
415
|
}, null, 8, ["theme", "class", "grid-options"]))
|