@platforma-sdk/ui-vue 1.40.1 → 1.40.3
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 +14 -14
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +13 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +5 -5
- package/dist/components/PlAgDataTable/sources/table-state-v2.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-state-v2.js +1 -2
- package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
- package/dist/components/PlAgDataTable/types.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/types.js +26 -25
- package/dist/components/PlAgDataTable/types.js.map +1 -1
- package/dist/lib/ui/uikit/dist/components/PlSvg/PlSvg.vue2.js +2 -2
- package/dist/lib/ui/uikit/dist/components/PlSvg/registry.js +25 -27
- package/dist/lib/ui/uikit/dist/components/PlSvg/registry.js.map +1 -1
- package/dist/lib/ui/uikit/dist/composition/computedCached.js +13 -14
- package/dist/lib/ui/uikit/dist/composition/computedCached.js.map +1 -1
- package/dist/lib/ui/uikit/dist/composition/watchCached.js +15 -15
- package/dist/lib/ui/uikit/dist/composition/watchCached.js.map +1 -1
- package/package.json +5 -5
- package/src/components/PlAgDataTable/sources/table-state-v2.ts +0 -1
- package/src/components/PlAgDataTable/types.ts +3 -2
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.40.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.40.3 build /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> vite build
|
|
5
5
|
|
|
6
6
|
[36mvite v6.3.5 [32mbuilding for production...[36m[39m
|
|
@@ -10,7 +10,7 @@ rendering chunks...
|
|
|
10
10
|
|
|
11
11
|
[vite:dts] Start generate declaration files...
|
|
12
12
|
computing gzip size...
|
|
13
|
-
[vite:dts] Declaration files built in
|
|
13
|
+
[vite:dts] Declaration files built in 4801ms.
|
|
14
14
|
|
|
15
15
|
[2mdist/[22m[36m_virtual/re.js [39m[1m[2m 0.08 kB[22m[1m[22m[2m │ gzip: 0.10 kB[22m[2m │ map: 0.09 kB[22m
|
|
16
16
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.10 kB[22m[2m │ map: 0.32 kB[22m
|
|
@@ -49,8 +49,8 @@ computing gzip size...
|
|
|
49
49
|
[2mdist/[22m[36mcomponents/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
50
50
|
[2mdist/[22m[36mplugins/Monetization/MonetizationSidebar.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
51
51
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFilterEntryV2.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
52
|
-
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
53
52
|
[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
|
|
53
|
+
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
54
54
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlRadio/keys.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.46 kB[22m
|
|
55
55
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/size.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.49 kB[22m
|
|
56
56
|
[2mdist/[22m[36mcomponents/ValueOrErrorsComponent.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
@@ -137,8 +137,8 @@ computing gzip size...
|
|
|
137
137
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_linetype-solid.svg.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.48 kB[22m
|
|
138
138
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.87 kB[22m
|
|
139
139
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_color-stroke.svg.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.49 kB[22m
|
|
140
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selection.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.60 kB[22m
|
|
141
140
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.18 kB[22m[2m │ map: 1.11 kB[22m
|
|
141
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selection.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.60 kB[22m
|
|
142
142
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/node.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.19 kB[22m[2m │ map: 0.82 kB[22m
|
|
143
143
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/select.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.73 kB[22m
|
|
144
144
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/each.js [39m[1m[2m 0.26 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.88 kB[22m
|
|
@@ -224,10 +224,10 @@ computing gzip size...
|
|
|
224
224
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.78 kB[22m
|
|
225
225
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlChartStackedBar/PlChartStackedBar.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
226
226
|
[2mdist/[22m[36m_virtual/canonicalize.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
227
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/_virtual/canonicalize.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
228
227
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
229
228
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/16_arrow-up.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.51 kB[22m
|
|
230
229
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_linetype-twodash.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.53 kB[22m
|
|
230
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/_virtual/canonicalize.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
231
231
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlChartStackedBar/StackedRowCompact.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
232
232
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_checkmark.svg.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.52 kB[22m
|
|
233
233
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/16_arrow-down.svg.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.52 kB[22m
|
|
@@ -453,12 +453,12 @@ computing gzip size...
|
|
|
453
453
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/transform/parse.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 1.48 kB[22m
|
|
454
454
|
[2mdist/[22m[36mlib/ui/uikit/dist/utils/DoubleContour.vue.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.77 kB[22m
|
|
455
455
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_paper-clip.svg.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.76 kB[22m
|
|
456
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/composition/computedCached.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 2.19 kB[22m
|
|
457
456
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/16_paper-clip.svg.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.35 kB[22m[2m │ map: 0.77 kB[22m
|
|
458
457
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sort.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.36 kB[22m[2m │ map: 1.73 kB[22m
|
|
459
458
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectAll.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 1.69 kB[22m
|
|
460
459
|
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/migrations.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 1.95 kB[22m
|
|
461
460
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/interpolate.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 0.89 kB[22m
|
|
461
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/composition/computedCached.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 2.42 kB[22m
|
|
462
462
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/16_settings.svg.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.77 kB[22m
|
|
463
463
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_frame-type-none.svg.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.27 kB[22m[2m │ map: 0.78 kB[22m
|
|
464
464
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/DataTable/ColumnCaret.vue.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.82 kB[22m
|
|
@@ -490,8 +490,8 @@ computing gzip size...
|
|
|
490
490
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/dispatch.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 1.93 kB[22m
|
|
491
491
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/transition.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 1.66 kB[22m
|
|
492
492
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_social-twitter-X.svg.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.41 kB[22m[2m │ map: 0.83 kB[22m
|
|
493
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/styleTween.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 1.79 kB[22m
|
|
494
493
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 1.59 kB[22m
|
|
494
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/styleTween.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 1.79 kB[22m
|
|
495
495
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/transform/decompose.js [39m[1m[2m 0.60 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 1.74 kB[22m
|
|
496
496
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlTooltip/Beak.vue.js [39m[1m[2m 0.61 kB[22m[1m[22m[2m │ gzip: 0.43 kB[22m[2m │ map: 0.77 kB[22m
|
|
497
497
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/ThemeSwitcher.vue.js [39m[1m[2m 0.61 kB[22m[1m[22m[2m │ gzip: 0.39 kB[22m[2m │ map: 0.52 kB[22m
|
|
@@ -571,6 +571,7 @@ computing gzip size...
|
|
|
571
571
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_color.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.44 kB[22m[2m │ map: 1.05 kB[22m
|
|
572
572
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_show.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m[2m │ map: 1.02 kB[22m
|
|
573
573
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_cloud-offline.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.04 kB[22m
|
|
574
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/composition/watchCached.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 2.48 kB[22m
|
|
574
575
|
[2mdist/[22m[36mcomponents/BlockLoader.vue.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.12 kB[22m
|
|
575
576
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_cookie.svg.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.03 kB[22m
|
|
576
577
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_bar-cross.svg.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 1.11 kB[22m
|
|
@@ -581,7 +582,6 @@ computing gzip size...
|
|
|
581
582
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/TabItem.vue.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.28 kB[22m
|
|
582
583
|
[2mdist/[22m[36mcomponents/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.47 kB[22m[2m │ map: 1.25 kB[22m
|
|
583
584
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlFileDialog/remote.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 2.30 kB[22m
|
|
584
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/composition/watchCached.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 2.16 kB[22m
|
|
585
585
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_skatterplot.svg.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 1.09 kB[22m
|
|
586
586
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_boxplot-jitter.svg.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 1.09 kB[22m
|
|
587
587
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/focus-row.js [39m[1m[2m 0.86 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m[2m │ map: 3.09 kB[22m
|
|
@@ -607,8 +607,8 @@ computing gzip size...
|
|
|
607
607
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.39 kB[22m[2m │ map: 1.27 kB[22m
|
|
608
608
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js [39m[1m[2m 0.96 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 3.15 kB[22m
|
|
609
609
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/attrTween.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.42 kB[22m[2m │ map: 2.60 kB[22m
|
|
610
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/transition.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 2.34 kB[22m
|
|
611
610
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_lasso.svg.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 1.18 kB[22m
|
|
611
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/transition.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 2.34 kB[22m
|
|
612
612
|
[2mdist/[22m[36mlib/ui/uikit/dist/layout/PlRow/PlRow.vue.js [39m[1m[2m 0.98 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 0.64 kB[22m
|
|
613
613
|
[2mdist/[22m[36mlib/ui/uikit/dist/composition/useTheme.js [39m[1m[2m 0.98 kB[22m[1m[22m[2m │ gzip: 0.50 kB[22m[2m │ map: 2.43 kB[22m
|
|
614
614
|
[2mdist/[22m[36mcomponents/ValueOrErrorsComponent.vue.js [39m[1m[2m 0.98 kB[22m[1m[22m[2m │ gzip: 0.50 kB[22m[2m │ map: 1.34 kB[22m
|
|
@@ -711,7 +711,6 @@ computing gzip size...
|
|
|
711
711
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSearchField/PlSearchField.vue3.js [39m[1m[2m 1.53 kB[22m[1m[22m[2m │ gzip: 0.64 kB[22m[2m │ map: 0.12 kB[22m
|
|
712
712
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js [39m[1m[2m 1.55 kB[22m[1m[22m[2m │ gzip: 0.65 kB[22m[2m │ map: 3.99 kB[22m
|
|
713
713
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_social-github.svg.js [39m[1m[2m 1.55 kB[22m[1m[22m[2m │ gzip: 0.87 kB[22m[2m │ map: 1.77 kB[22m
|
|
714
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/types.js [39m[1m[2m 1.55 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 9.75 kB[22m
|
|
715
714
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlRadio/PlRadio.vue3.js [39m[1m[2m 1.56 kB[22m[1m[22m[2m │ gzip: 0.76 kB[22m[2m │ map: 0.11 kB[22m
|
|
716
715
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/contextMenu/Menu.vue.js [39m[1m[2m 1.58 kB[22m[1m[22m[2m │ gzip: 0.77 kB[22m[2m │ map: 0.11 kB[22m
|
|
717
716
|
[2mdist/[22m[36mcomponents/PlAgCsvExporter/export-csv.js [39m[1m[2m 1.60 kB[22m[1m[22m[2m │ gzip: 0.73 kB[22m[2m │ map: 3.74 kB[22m
|
|
@@ -723,6 +722,7 @@ computing gzip size...
|
|
|
723
722
|
[2mdist/[22m[36mlib/ui/uikit/dist/base/BtnBase.vue.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.74 kB[22m[2m │ map: 1.80 kB[22m
|
|
724
723
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/on.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.68 kB[22m[2m │ map: 4.38 kB[22m
|
|
725
724
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlFileDialog/Shortcuts.vue2.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.60 kB[22m[2m │ map: 0.14 kB[22m
|
|
725
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/types.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 9.86 kB[22m
|
|
726
726
|
[2mdist/[22m[36mplugins/Monetization/RunStatus.vue3.js [39m[1m[2m 1.63 kB[22m[1m[22m[2m │ gzip: 0.77 kB[22m[2m │ map: 0.11 kB[22m
|
|
727
727
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlDropdownRef/PlDropdownRef.vue.js [39m[1m[2m 1.64 kB[22m[1m[22m[2m │ gzip: 0.74 kB[22m[2m │ map: 3.45 kB[22m
|
|
728
728
|
[2mdist/[22m[36maggrid.js [39m[1m[2m 1.66 kB[22m[1m[22m[2m │ gzip: 0.79 kB[22m[2m │ map: 3.09 kB[22m
|
|
@@ -746,7 +746,6 @@ computing gzip size...
|
|
|
746
746
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_pen-tool.svg.js [39m[1m[2m 1.94 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 2.14 kB[22m
|
|
747
747
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/16_sorter.svg.js [39m[1m[2m 1.96 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 2.22 kB[22m
|
|
748
748
|
[2mdist/[22m[36minternal/createAppModel.js [39m[1m[2m 1.97 kB[22m[1m[22m[2m │ gzip: 0.83 kB[22m[2m │ map: 5.44 kB[22m
|
|
749
|
-
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSvg/registry.js [39m[1m[2m 1.98 kB[22m[1m[22m[2m │ gzip: 0.96 kB[22m[2m │ map: 5.44 kB[22m
|
|
750
749
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_bindot.svg.js [39m[1m[2m 2.04 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 2.43 kB[22m
|
|
751
750
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js [39m[1m[2m 2.06 kB[22m[1m[22m[2m │ gzip: 0.97 kB[22m[2m │ map: 1.35 kB[22m
|
|
752
751
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_violin-jitter.svg.js [39m[1m[2m 2.08 kB[22m[1m[22m[2m │ gzip: 0.98 kB[22m[2m │ map: 2.32 kB[22m
|
|
@@ -754,6 +753,7 @@ computing gzip size...
|
|
|
754
753
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_violin-binned.svg.js [39m[1m[2m 2.11 kB[22m[1m[22m[2m │ gzip: 1.02 kB[22m[2m │ map: 2.35 kB[22m
|
|
755
754
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_annotation.svg.js [39m[1m[2m 2.11 kB[22m[1m[22m[2m │ gzip: 0.63 kB[22m[2m │ map: 2.40 kB[22m
|
|
756
755
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-dispatch@3.0.1/node_modules/d3-dispatch/src/dispatch.js [39m[1m[2m 2.11 kB[22m[1m[22m[2m │ gzip: 0.88 kB[22m[2m │ map: 5.90 kB[22m
|
|
756
|
+
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSvg/registry.js [39m[1m[2m 2.20 kB[22m[1m[22m[2m │ gzip: 0.99 kB[22m[2m │ map: 5.72 kB[22m
|
|
757
757
|
[2mdist/[22m[36mlib/model/pl-error-like/dist/index.js [39m[1m[2m 2.20 kB[22m[1m[22m[2m │ gzip: 0.78 kB[22m[2m │ map: 6.20 kB[22m
|
|
758
758
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlDropdownLine/ResizableInput.vue.js [39m[1m[2m 2.21 kB[22m[1m[22m[2m │ gzip: 1.03 kB[22m[2m │ map: 1.74 kB[22m
|
|
759
759
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bin.js [39m[1m[2m 2.22 kB[22m[1m[22m[2m │ gzip: 0.89 kB[22m[2m │ map: 7.17 kB[22m
|
|
@@ -795,8 +795,8 @@ computing gzip size...
|
|
|
795
795
|
[2mdist/[22m[36mlib/ui/uikit/dist/colors/palette.js [39m[1m[2m 3.25 kB[22m[1m[22m[2m │ gzip: 1.22 kB[22m[2m │ map: 7.00 kB[22m
|
|
796
796
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlEditableTitle/pl-editable-title.module.scss.js [39m[1m[2m 3.31 kB[22m[1m[22m[2m │ gzip: 1.18 kB[22m[2m │ map: 0.13 kB[22m
|
|
797
797
|
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue.js [39m[1m[2m 3.32 kB[22m[1m[22m[2m │ gzip: 1.34 kB[22m[2m │ map: 4.05 kB[22m
|
|
798
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-state-v2.js [39m[1m[2m 3.33 kB[22m[1m[22m[2m │ gzip: 1.16 kB[22m[2m │ map: 9.95 kB[22m
|
|
798
799
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue.js [39m[1m[2m 3.34 kB[22m[1m[22m[2m │ gzip: 1.30 kB[22m[2m │ map: 4.05 kB[22m
|
|
799
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-state-v2.js [39m[1m[2m 3.35 kB[22m[1m[22m[2m │ gzip: 1.17 kB[22m[2m │ map: 9.98 kB[22m
|
|
800
800
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableAddFilterV2.vue.js [39m[1m[2m 3.42 kB[22m[1m[22m[2m │ gzip: 1.28 kB[22m[2m │ map: 3.95 kB[22m
|
|
801
801
|
[2mdist/[22m[36mlib/ui/uikit/dist/generated/icons-24.js [39m[1m[2m 3.43 kB[22m[1m[22m[2m │ gzip: 1.10 kB[22m[2m │ map: 5.86 kB[22m
|
|
802
802
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js [39m[1m[2m 3.49 kB[22m[1m[22m[2m │ gzip: 1.30 kB[22m[2m │ map: 10.47 kB[22m
|
|
@@ -869,7 +869,7 @@ computing gzip size...
|
|
|
869
869
|
[2mdist/[22m[36mcomponents/PlAgRowNumHeader.vue.js [39m[1m[2m 44.60 kB[22m[1m[22m[2m │ gzip: 29.24 kB[22m[2m │ map: 3.70 kB[22m
|
|
870
870
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlFileDialog/pl-file-dialog.module.scss.js [39m[1m[2m 47.73 kB[22m[1m[22m[2m │ gzip: 16.34 kB[22m[2m │ map: 0.14 kB[22m
|
|
871
871
|
[2mdist/[22m[36mlib/ui/uikit/dist/sdk/model/dist/index.js [39m[1m[2m 48.66 kB[22m[1m[22m[2m │ gzip: 12.57 kB[22m[2m │ map: 170.61 kB[22m
|
|
872
|
-
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue2.js [39m[1m[2m 48.67 kB[22m[1m[22m[2m │ gzip: 30.
|
|
872
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue2.js [39m[1m[2m 48.67 kB[22m[1m[22m[2m │ gzip: 30.57 kB[22m[2m │ map: 28.99 kB[22m
|
|
873
873
|
[2mdist/[22m[36mAgGridVue/useAgGridOptions.js [39m[1m[2m 49.30 kB[22m[1m[22m[2m │ gzip: 30.16 kB[22m[2m │ map: 16.35 kB[22m
|
|
874
874
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.js [39m[1m[2m 50.21 kB[22m[1m[22m[2m │ gzip: 14.79 kB[22m[2m │ map: 181.68 kB[22m
|
|
875
875
|
[2mdist/[22m[36msdk/model/dist/index.js [39m[1m[2m 51.26 kB[22m[1m[22m[2m │ gzip: 13.38 kB[22m[2m │ map: 214.18 kB[22m
|
|
@@ -879,4 +879,4 @@ computing gzip size...
|
|
|
879
879
|
[2mdist/[22m[36mlib/ui/uikit/dist/index.js [39m[1m[2m497.61 kB[22m[1m[22m[2m │ gzip: 191.71 kB[22m[2m │ map: 0.18 kB[22m
|
|
880
880
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSlideModal/PlSlideModal.vue.js [39m[1m[33m601.75 kB[39m[22m[2m │ gzip: 204.47 kB[22m[2m │ map: 0.23 kB[22m
|
|
881
881
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/DataTable/TableComponent.vue.js [39m[1m[33m603.08 kB[39m[22m[2m │ gzip: 205.08 kB[22m[2m │ map: 0.28 kB[22m
|
|
882
|
-
[32m✓ built in 8.
|
|
882
|
+
[32m✓ built in 8.70s[39m
|
|
@@ -1,5 +1,5 @@
|
|
|
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.40.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.40.3 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> vue-tsc --noEmit --project ./tsconfig.json
|
|
5
5
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @platforma-sdk/ui-vue
|
|
2
2
|
|
|
3
|
+
## 1.40.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [2273454]
|
|
8
|
+
- @milaboratories/uikit@2.3.12
|
|
9
|
+
|
|
10
|
+
## 1.40.2
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- d6334f9: Adopt PlAgDataTableV2 for v2api in desktop
|
|
15
|
+
|
|
3
16
|
## 1.40.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -12,7 +12,7 @@ import re from "./PlAgOverlayNoRows.vue.js";
|
|
|
12
12
|
import ne from "./PlAgRowCount.vue.js";
|
|
13
13
|
import ue from "./PlAgDataTableSheets.vue.js";
|
|
14
14
|
import { makeOnceTracker as ie, focusRow as de } from "./sources/focus-row.js";
|
|
15
|
-
import { PlAgDataTableRowNumberColId as
|
|
15
|
+
import { PlAgDataTableRowNumberColId as U, autoSizeRowNumberColumn as ce } from "./sources/row-number.js";
|
|
16
16
|
import { calculateGridOptions as me } from "./sources/table-source-v2.js";
|
|
17
17
|
import { useTableState as ve } from "./sources/table-state-v2.js";
|
|
18
18
|
import fe from "../PlTableFilters/PlTableFiltersV2.vue.js";
|
|
@@ -43,7 +43,7 @@ const Ke = /* @__PURE__ */ Y({
|
|
|
43
43
|
selectionLabeledModifiers: {}
|
|
44
44
|
}),
|
|
45
45
|
emits: /* @__PURE__ */ K(["rowDoubleClicked", "cellButtonClicked"], ["update:modelValue", "update:selection", "update:selectionLabeled"]),
|
|
46
|
-
setup(b, { expose:
|
|
46
|
+
setup(b, { expose: q, emit: J }) {
|
|
47
47
|
const H = I(b, "modelValue"), n = I(b, "selection"), u = I(b, "selectionLabeled"), d = b, { settings: p } = Z(d), L = J, { gridState: y, sheetsState: w, filtersState: O } = ve(H, p), Q = T(() => {
|
|
48
48
|
const e = { ...p.value };
|
|
49
49
|
return e.sourceId !== null ? {
|
|
@@ -162,7 +162,7 @@ const Ke = /* @__PURE__ */ Y({
|
|
|
162
162
|
e.state
|
|
163
163
|
), e.api.autoSizeColumns(
|
|
164
164
|
e.api.getAllDisplayedColumns().filter(
|
|
165
|
-
(t) => t.getColId() !==
|
|
165
|
+
(t) => t.getColId() !== U
|
|
166
166
|
)
|
|
167
167
|
);
|
|
168
168
|
},
|
|
@@ -208,7 +208,7 @@ const Ke = /* @__PURE__ */ Y({
|
|
|
208
208
|
cellRendererSelector: t ?? void 0
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
|
-
),
|
|
211
|
+
), q({
|
|
212
212
|
focusRow: (e) => de(
|
|
213
213
|
(t) => {
|
|
214
214
|
var o;
|
|
@@ -228,7 +228,7 @@ const Ke = /* @__PURE__ */ Y({
|
|
|
228
228
|
selectedLabeledKeys: []
|
|
229
229
|
});
|
|
230
230
|
else {
|
|
231
|
-
const o = (l) => !("children" in l), a = ((e == null ? void 0 : e.filter(o)) ?? []).map((l) => l.colId).filter((l) => l !== void 0).filter((l) => l !==
|
|
231
|
+
const o = (l) => !("children" in l), a = ((e == null ? void 0 : e.filter(o)) ?? []).map((l) => l.colId).filter((l) => l !== void 0).filter((l) => l !== U).map((l) => V(l)) ?? [];
|
|
232
232
|
if (D.value = a.map((l) => l.labeled), n.value) {
|
|
233
233
|
const l = a.reduce((s, v) => (v.source.type === "axis" && s.push(v.source.spec), s), []);
|
|
234
234
|
n.value = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-state-v2.d.ts","sourceRoot":"","sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAO5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,mBAAmB,EACzB,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAuFlB,wBAAgB,aAAa,CAC3B,sBAAsB,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAC/C,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,GACnC;IACC,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACzD,WAAW,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1D,YAAY,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,CAAC;CAC7D,
|
|
1
|
+
{"version":3,"file":"table-state-v2.d.ts","sourceRoot":"","sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAO5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,mBAAmB,EACzB,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAuFlB,wBAAgB,aAAa,CAC3B,sBAAsB,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAC/C,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,GACnC;IACC,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACzD,WAAW,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1D,YAAY,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,CAAC,CAAC;CAC7D,CAsGF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-state-v2.js","sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"sourcesContent":["import {\n makeDefaultPTableParams,\n parseJson,\n upgradePlDataTableStateV2,\n type PlDataTableGridStateCore,\n type PlDataTableSheetState,\n type PlDataTableStateV2,\n type PlDataTableFilterState,\n type PlDataTableStateV2CacheEntry,\n type PlDataTableStateV2Normalized,\n type PObjectId,\n type PTableParamsV2,\n type PTableRecordFilter,\n type PTableSorting,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watch,\n type Ref,\n type WritableComputedRef,\n} from 'vue';\nimport type {\n PlDataTableSettingsV2,\n} from '../types';\nimport { isJsonEqual } from '@milaboratories/helpers';\nimport { makePredicate } from '../../PlTableFilters/filters_logic';\nimport { computedCached } from '@milaboratories/uikit';\n\ntype PlDataTableStateV2CacheEntryNullable = PlDataTableStateV2CacheEntry | {\n sourceId: null;\n gridState: Record<string, never>;\n sheetsState: [];\n filtersState: [];\n};\n\nfunction makeDefaultState(): PlDataTableStateV2CacheEntryNullable {\n return {\n sourceId: null,\n gridState: {},\n sheetsState: [],\n filtersState: [],\n };\n}\n\nfunction getHiddenColIds(state: PlDataTableGridStateCore['columnVisibility']): PObjectId[] | null {\n return state?.hiddenColIds\n ?.map(parseJson)\n .reduce((acc, c) => {\n if (c.source.type === 'column') {\n acc.push(c.source.id);\n }\n return acc;\n }, [] as PObjectId[])\n ?? null;\n}\n\nfunction makePartitionFilters(sheetsState: PlDataTableSheetState[]): PTableRecordFilter[] {\n return sheetsState.map((s) => ({\n type: 'bySingleColumnV2',\n column: {\n type: 'axis',\n id: s.axisId,\n },\n predicate: {\n operator: 'Equal',\n reference: s.value,\n },\n }));\n}\n\nfunction makeFilters(columnsState: PlDataTableFilterState[]): PTableRecordFilter[] {\n return columnsState\n .reduce((acc, s) => {\n if (!s.filter || s.filter.disabled) {\n return acc;\n }\n acc.push({\n type: 'bySingleColumnV2',\n column: s.id,\n predicate: makePredicate(s.alphabetic, s.filter.value),\n });\n return acc;\n }, [] as PTableRecordFilter[]);\n}\n\nfunction makeSorting(state: PlDataTableGridStateCore['sort']): PTableSorting[] {\n return (\n state?.sortModel.map((item) => {\n const { spec: _, ...column } = parseJson(\n item.colId,\n ).labeled;\n return {\n column,\n ascending: item.sort === 'asc',\n naAndAbsentAreLeastValues: item.sort === 'asc',\n };\n }) ?? []\n );\n}\n\nfunction makePTableParams(state: PlDataTableStateV2CacheEntry): PTableParamsV2 {\n return {\n sourceId: state.sourceId,\n hiddenColIds: getHiddenColIds(state.gridState.columnVisibility),\n partitionFilters: makePartitionFilters(state.sheetsState),\n filters: makeFilters(state.filtersState),\n sorting: makeSorting(state.gridState.sort),\n };\n}\n\nexport function useTableState(\n tableStateDenormalized: Ref<PlDataTableStateV2>,\n settings: Ref<PlDataTableSettingsV2>,\n): {\n gridState: WritableComputedRef<PlDataTableGridStateCore>;\n sheetsState: WritableComputedRef<PlDataTableSheetState[]>;\n filtersState: WritableComputedRef<PlDataTableFilterState[]>;\n } {\n const tableStateNormalized = computedCached<PlDataTableStateV2Normalized>({\n get: () => upgradePlDataTableStateV2(tableStateDenormalized.value),\n set: (newState) => tableStateDenormalized.value = newState,\n
|
|
1
|
+
{"version":3,"file":"table-state-v2.js","sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"sourcesContent":["import {\n makeDefaultPTableParams,\n parseJson,\n upgradePlDataTableStateV2,\n type PlDataTableGridStateCore,\n type PlDataTableSheetState,\n type PlDataTableStateV2,\n type PlDataTableFilterState,\n type PlDataTableStateV2CacheEntry,\n type PlDataTableStateV2Normalized,\n type PObjectId,\n type PTableParamsV2,\n type PTableRecordFilter,\n type PTableSorting,\n} from '@platforma-sdk/model';\nimport {\n computed,\n watch,\n type Ref,\n type WritableComputedRef,\n} from 'vue';\nimport type {\n PlDataTableSettingsV2,\n} from '../types';\nimport { isJsonEqual } from '@milaboratories/helpers';\nimport { makePredicate } from '../../PlTableFilters/filters_logic';\nimport { computedCached } from '@milaboratories/uikit';\n\ntype PlDataTableStateV2CacheEntryNullable = PlDataTableStateV2CacheEntry | {\n sourceId: null;\n gridState: Record<string, never>;\n sheetsState: [];\n filtersState: [];\n};\n\nfunction makeDefaultState(): PlDataTableStateV2CacheEntryNullable {\n return {\n sourceId: null,\n gridState: {},\n sheetsState: [],\n filtersState: [],\n };\n}\n\nfunction getHiddenColIds(state: PlDataTableGridStateCore['columnVisibility']): PObjectId[] | null {\n return state?.hiddenColIds\n ?.map(parseJson)\n .reduce((acc, c) => {\n if (c.source.type === 'column') {\n acc.push(c.source.id);\n }\n return acc;\n }, [] as PObjectId[])\n ?? null;\n}\n\nfunction makePartitionFilters(sheetsState: PlDataTableSheetState[]): PTableRecordFilter[] {\n return sheetsState.map((s) => ({\n type: 'bySingleColumnV2',\n column: {\n type: 'axis',\n id: s.axisId,\n },\n predicate: {\n operator: 'Equal',\n reference: s.value,\n },\n }));\n}\n\nfunction makeFilters(columnsState: PlDataTableFilterState[]): PTableRecordFilter[] {\n return columnsState\n .reduce((acc, s) => {\n if (!s.filter || s.filter.disabled) {\n return acc;\n }\n acc.push({\n type: 'bySingleColumnV2',\n column: s.id,\n predicate: makePredicate(s.alphabetic, s.filter.value),\n });\n return acc;\n }, [] as PTableRecordFilter[]);\n}\n\nfunction makeSorting(state: PlDataTableGridStateCore['sort']): PTableSorting[] {\n return (\n state?.sortModel.map((item) => {\n const { spec: _, ...column } = parseJson(\n item.colId,\n ).labeled;\n return {\n column,\n ascending: item.sort === 'asc',\n naAndAbsentAreLeastValues: item.sort === 'asc',\n };\n }) ?? []\n );\n}\n\nfunction makePTableParams(state: PlDataTableStateV2CacheEntry): PTableParamsV2 {\n return {\n sourceId: state.sourceId,\n hiddenColIds: getHiddenColIds(state.gridState.columnVisibility),\n partitionFilters: makePartitionFilters(state.sheetsState),\n filters: makeFilters(state.filtersState),\n sorting: makeSorting(state.gridState.sort),\n };\n}\n\nexport function useTableState(\n tableStateDenormalized: Ref<PlDataTableStateV2>,\n settings: Ref<PlDataTableSettingsV2>,\n): {\n gridState: WritableComputedRef<PlDataTableGridStateCore>;\n sheetsState: WritableComputedRef<PlDataTableSheetState[]>;\n filtersState: WritableComputedRef<PlDataTableFilterState[]>;\n } {\n const tableStateNormalized = computedCached<PlDataTableStateV2Normalized>({\n get: () => upgradePlDataTableStateV2(tableStateDenormalized.value),\n set: (newState) => tableStateDenormalized.value = newState,\n });\n\n const tableState = computed<PlDataTableStateV2CacheEntryNullable>({\n get: () => {\n const defaultState = makeDefaultState();\n\n const sourceId = settings.value.sourceId;\n if (!sourceId) return defaultState;\n\n const cachedState = tableStateNormalized.value.stateCache\n .find((entry) => entry.sourceId === sourceId);\n if (!cachedState) return {\n ...defaultState,\n sourceId,\n };\n\n return cachedState;\n },\n set: (state) => {\n const oldState = { ...tableStateNormalized.value };\n const newState: PlDataTableStateV2Normalized = {\n ...oldState,\n pTableParams: makeDefaultPTableParams(),\n };\n\n if (state.sourceId) {\n newState.pTableParams = makePTableParams(state);\n\n const stateIdx = newState.stateCache.findIndex((entry) => entry.sourceId === state.sourceId);\n if (stateIdx !== -1) {\n newState.stateCache[stateIdx] = state;\n } else {\n const CacheDepth = 5;\n newState.stateCache.push(state);\n newState.stateCache = newState.stateCache.slice(-CacheDepth);\n }\n }\n\n tableStateNormalized.value = newState;\n },\n });\n\n // Update pTableParams when sourceId changes\n watch(\n () => tableState.value,\n (state) => {\n const newParams = state.sourceId ? makePTableParams(state) : makeDefaultPTableParams();\n const oldParams = tableStateNormalized.value.pTableParams;\n if (!isJsonEqual(newParams, oldParams)) {\n tableStateNormalized.value = {\n ...tableStateNormalized.value,\n pTableParams: newParams,\n };\n }\n },\n { deep: true },\n );\n\n const gridState = computed<PlDataTableGridStateCore>({\n get: () => tableState.value.gridState,\n set: (gridState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n gridState,\n };\n }\n },\n });\n\n const sheetsState = computed<PlDataTableSheetState[]>({\n get: () => tableState.value.sheetsState,\n set: (sheetsState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n sheetsState,\n };\n }\n },\n });\n\n const filtersState = computed<PlDataTableFilterState[]>({\n get: () => tableState.value.filtersState,\n set: (filtersState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n filtersState,\n };\n }\n },\n });\n\n return { gridState, sheetsState, filtersState };\n}\n"],"names":["makeDefaultState","getHiddenColIds","state","_a","parseJson","acc","c","makePartitionFilters","sheetsState","s","makeFilters","columnsState","makePredicate","makeSorting","item","_","column","makePTableParams","useTableState","tableStateDenormalized","settings","tableStateNormalized","computedCached","upgradePlDataTableStateV2","newState","tableState","computed","defaultState","sourceId","cachedState","entry","makeDefaultPTableParams","stateIdx","watch","newParams","oldParams","isJsonEqual","gridState","oldState","filtersState"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { computed as
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { computed as f, toValue as l } from "vue";
|
|
2
|
+
import o from "../../_virtual/canonicalize.js";
|
|
3
|
+
import { deepClone as c } from "../../lib/util/helpers/dist/index.js";
|
|
4
|
+
function m(s) {
|
|
5
|
+
const u = s.filtersConfig, t = typeof u == "function" ? (e) => {
|
|
5
6
|
try {
|
|
6
|
-
return
|
|
7
|
+
return u({
|
|
7
8
|
sourceId: JSON.parse(e.sourceId),
|
|
8
9
|
column: e.column
|
|
9
10
|
});
|
|
10
|
-
} catch (
|
|
11
|
-
return console.error(`filtersConfig failed for sourceId: ${e.sourceId}, column: ${JSON.stringify(e.column)} - using default config`,
|
|
11
|
+
} catch (r) {
|
|
12
|
+
return console.error(`filtersConfig failed for sourceId: ${e.sourceId}, column: ${JSON.stringify(e.column)} - using default config`, r), {};
|
|
12
13
|
}
|
|
13
14
|
} : () => ({});
|
|
14
|
-
return
|
|
15
|
-
const e = l(
|
|
16
|
-
if ("sourceId" in
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
19
|
-
const
|
|
20
|
-
return
|
|
21
|
-
sourceId:
|
|
22
|
-
sheets:
|
|
15
|
+
return f(() => {
|
|
16
|
+
const e = l(s.model);
|
|
17
|
+
if ("sourceId" in s) {
|
|
18
|
+
const r = c(l(s.sourceId));
|
|
19
|
+
if (s.sheets) {
|
|
20
|
+
const n = c(l(s.sheets));
|
|
21
|
+
return r && n ? {
|
|
22
|
+
sourceId: o(r),
|
|
23
|
+
sheets: n,
|
|
23
24
|
model: e,
|
|
24
25
|
filtersConfig: t
|
|
25
26
|
} : {
|
|
@@ -27,8 +28,8 @@ function d(r) {
|
|
|
27
28
|
filtersConfig: t
|
|
28
29
|
};
|
|
29
30
|
} else
|
|
30
|
-
return
|
|
31
|
-
sourceId:
|
|
31
|
+
return r ? {
|
|
32
|
+
sourceId: o(r),
|
|
32
33
|
sheets: [],
|
|
33
34
|
model: e,
|
|
34
35
|
filtersConfig: t
|
|
@@ -36,11 +37,11 @@ function d(r) {
|
|
|
36
37
|
sourceId: null,
|
|
37
38
|
filtersConfig: t
|
|
38
39
|
};
|
|
39
|
-
} else if (
|
|
40
|
-
const
|
|
41
|
-
return
|
|
42
|
-
sourceId:
|
|
43
|
-
sheets:
|
|
40
|
+
} else if (s.sheets) {
|
|
41
|
+
const r = l(s.sheets);
|
|
42
|
+
return r ? {
|
|
43
|
+
sourceId: o("static"),
|
|
44
|
+
sheets: r,
|
|
44
45
|
model: e,
|
|
45
46
|
filtersConfig: t
|
|
46
47
|
} : {
|
|
@@ -49,7 +50,7 @@ function d(r) {
|
|
|
49
50
|
};
|
|
50
51
|
} else
|
|
51
52
|
return e ? {
|
|
52
|
-
sourceId:
|
|
53
|
+
sourceId: o("static"),
|
|
53
54
|
sheets: [],
|
|
54
55
|
model: e,
|
|
55
56
|
filtersConfig: t
|
|
@@ -60,6 +61,6 @@ function d(r) {
|
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
export {
|
|
63
|
-
|
|
64
|
+
m as usePlDataTableSettingsV2
|
|
64
65
|
};
|
|
65
66
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/components/PlAgDataTable/types.ts"],"sourcesContent":["import {\n type JsonCompatible,\n type AxisId,\n type CanonicalizedJson,\n type ListOptionBase,\n type PlDataTableModel,\n type PlDataTableSheet,\n type PlDataTableSheetState,\n type PlTableFilter,\n type PlTableFilterType,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableKey,\n type PTableValue,\n} from '@platforma-sdk/model';\nimport type { PTableHidden } from './sources/common';\nimport type { ComputedRef, MaybeRefOrGetter } from 'vue';\nimport { computed, toValue } from 'vue';\nimport canonicalize from 'canonicalize';\n\nexport type PlDataTableFilterConfig = {\n options?: PlTableFilterType[];\n default?: PlTableFilter;\n};\n\n/** Data table V2 settings */\nexport type PlDataTableSettingsV2 =\n(\n | { sourceId: null }\n | {\n /** Unique source id for state caching */\n sourceId: string;\n /** Sheets that we want to show in our table */\n sheets: PlDataTableSheet[];\n /** Result of `createPlDataTableV2` */\n model: PlDataTableModel | undefined;\n }\n) & {\n /** Callback configuring filters for the table */\n filtersConfig: (info: {\n sourceId: string;\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\ntype OptionsAdvanced<T> = {\n /**\n * Block property (such as inputAnchor) used to produce the data source.\n * Mandatory for cases when the table can change without block run.\n * Skip when the table is changed only after block run.\n * Ask developers for help if you don't know what to set here.\n */\n sourceId: MaybeRefOrGetter<T | undefined>;\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<PlDataTableModel | undefined>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n /**\n * Callback configuring filters for the table.\n * If not provided, filtering will be disabled.\n * Parameter `sourceId` should be compared using `isJsonEqual` from `@milaboratories/helpers`.\n */\n filtersConfig?: (info: {\n sourceId: JsonCompatible<T>;\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\ntype OptionsSimple = {\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<PlDataTableModel | undefined>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n /**\n * Callback configuring filters for the table.\n * If not provided, filtering will be disabled.\n */\n filtersConfig?: (info: {\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\nexport function usePlDataTableSettingsV2<T>(options: OptionsAdvanced<T>): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2(options: OptionsSimple): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2<T>(options: OptionsAdvanced<T> | OptionsSimple): ComputedRef<PlDataTableSettingsV2> {\n const fc = options.filtersConfig;\n const filtersConfigValue = typeof fc === 'function'\n ? (ops: {\n sourceId: string;\n column: PTableColumnSpec;\n }) => {\n try {\n return fc({\n sourceId: JSON.parse(ops.sourceId) as JsonCompatible<T>,\n column: ops.column,\n });\n } catch (e) {\n console.error(`filtersConfig failed for sourceId: ${ops.sourceId}, column: ${JSON.stringify(ops.column)} - using default config`, e);\n return {};\n }\n }\n : () => ({});\n return computed(() => {\n const modelValue = toValue(options.model);\n if ('sourceId' in options) {\n const sourceIdValue = toValue(options.sourceId);\n if (options.sheets) {\n const sheetsValue = toValue(options.sheets);\n return sourceIdValue && sheetsValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: sheetsValue,\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n } else {\n return sourceIdValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: [],\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n }\n } else {\n if (options.sheets) {\n const sheetsValue = toValue(options.sheets);\n return sheetsValue\n ? {\n sourceId: canonicalize('static')!,\n sheets: sheetsValue,\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n } else {\n return modelValue\n ? {\n sourceId: canonicalize('static')!,\n sheets: [],\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n }\n }\n });\n};\n\n/** PlTableFilters restriction entry */\nexport type PlTableFiltersRestriction = {\n /** Spec of the column for which filter types should be restricted */\n column: PTableColumnId;\n /** List of filter types applicable to the column */\n allowedFilterTypes: PlTableFilterType[];\n};\n\n/** PlTableFilters default settings entry */\nexport type PlTableFiltersDefault = {\n /** Spec of the column the default should be applied */\n column: PTableColumnId;\n /** Filter entry */\n default: PlTableFilter;\n};\n\n/** PlAgDataTable controller contains all exported methods */\nexport type PlAgDataTableV2Controller = {\n /**\n * Scroll table to make row with provided key visible\n * Warning: works reliably only in client side mode.\n */\n focusRow: (rowKey: PTableKey) => Promise<void>;\n};\n\nexport type PlTableRowId = {\n /** Axes values */\n axesKey: PTableKey;\n /** Axes key where values of labeled axes are resolved to corresponding labels */\n labeled: PTableKey;\n};\n\nexport type PlTableRowIdJson = CanonicalizedJson<PlTableRowId>;\n\n/** PlAgDataTableV2 row */\nexport type PlAgDataTableV2Row = {\n /** Axes key */\n axesKey: PTableKey;\n /** Unique row identifier */\n id: PlTableRowIdJson;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}`]: PTableValue | PTableHidden;\n};\n\n/** PlSelectionModel with labeled axes replaced by label columns */\nexport type PlTableLabeledSelectionModel = {\n /** Specs for valuess in {@link PTableKey} */\n spec: PTableColumnSpec[];\n /** Row keys (arrays of axes values) of selected rows */\n selectedLabeledKeys: PTableKey[];\n};\n\nexport type PlAgOverlayLoadingParams = {\n /**\n * Required flag, that shows catInBag icon with message if `true`, shows PlSplash component if `false`.\n */\n notReady?: boolean;\n /**\n * Prop to override default \"Loading\" text\n */\n loadingText?: string;\n /**\n * Prop to override default \"No datasource\" text (So why props name is notReady? Good question)\n */\n notReadyText?: string;\n /**\n * Use \"transparent\" to make table headers visible below the loading layer\n */\n overlayType?: 'transparent';\n};\n\nexport type PlAgOverlayNoRowsParams = {\n /**\n * Prop to override default \"Empty\" text\n */\n text?: string;\n};\n\nexport type PlDataTableSheetsSettings = {\n /** User-provided sheets for the sourceId */\n sheets: PlDataTableSheet[];\n /** Persisted selection for the sourceId */\n cachedState: PlDataTableSheetState[];\n};\n\nexport type PlDataTableSheetNormalized = {\n /** id of the axis */\n axisId: AxisId;\n /** sheet prefix */\n prefix: string;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue: string | number;\n};\n"],"names":["usePlDataTableSettingsV2","options","fc","filtersConfigValue","ops","e","computed","modelValue","toValue","sourceIdValue","sheetsValue","canonicalize"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/PlAgDataTable/types.ts"],"sourcesContent":["import {\n type JsonCompatible,\n type AxisId,\n type CanonicalizedJson,\n type ListOptionBase,\n type PlDataTableModel,\n type PlDataTableSheet,\n type PlDataTableSheetState,\n type PlTableFilter,\n type PlTableFilterType,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableKey,\n type PTableValue,\n} from '@platforma-sdk/model';\nimport type { PTableHidden } from './sources/common';\nimport type { ComputedRef, MaybeRefOrGetter } from 'vue';\nimport { computed, toValue } from 'vue';\nimport canonicalize from 'canonicalize';\nimport { deepClone } from '@milaboratories/helpers';\n\nexport type PlDataTableFilterConfig = {\n options?: PlTableFilterType[];\n default?: PlTableFilter;\n};\n\n/** Data table V2 settings */\nexport type PlDataTableSettingsV2 =\n(\n | { sourceId: null }\n | {\n /** Unique source id for state caching */\n sourceId: string;\n /** Sheets that we want to show in our table */\n sheets: PlDataTableSheet[];\n /** Result of `createPlDataTableV2` */\n model: PlDataTableModel | undefined;\n }\n) & {\n /** Callback configuring filters for the table */\n filtersConfig: (info: {\n sourceId: string;\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\ntype OptionsAdvanced<T> = {\n /**\n * Block property (such as inputAnchor) used to produce the data source.\n * Mandatory for cases when the table can change without block run.\n * Skip when the table is changed only after block run.\n * Ask developers for help if you don't know what to set here.\n */\n sourceId: MaybeRefOrGetter<T | undefined>;\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<PlDataTableModel | undefined>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n /**\n * Callback configuring filters for the table.\n * If not provided, filtering will be disabled.\n * Parameter `sourceId` should be compared using `isJsonEqual` from `@milaboratories/helpers`.\n */\n filtersConfig?: (info: {\n sourceId: JsonCompatible<T>;\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\ntype OptionsSimple = {\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<PlDataTableModel | undefined>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n /**\n * Callback configuring filters for the table.\n * If not provided, filtering will be disabled.\n */\n filtersConfig?: (info: {\n column: PTableColumnSpec;\n }) => PlDataTableFilterConfig;\n};\n\nexport function usePlDataTableSettingsV2<T>(options: OptionsAdvanced<T>): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2(options: OptionsSimple): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2<T>(options: OptionsAdvanced<T> | OptionsSimple): ComputedRef<PlDataTableSettingsV2> {\n const fc = options.filtersConfig;\n const filtersConfigValue = typeof fc === 'function'\n ? (ops: {\n sourceId: string;\n column: PTableColumnSpec;\n }) => {\n try {\n return fc({\n sourceId: JSON.parse(ops.sourceId) as JsonCompatible<T>,\n column: ops.column,\n });\n } catch (e) {\n console.error(`filtersConfig failed for sourceId: ${ops.sourceId}, column: ${JSON.stringify(ops.column)} - using default config`, e);\n return {};\n }\n }\n : () => ({});\n return computed(() => {\n const modelValue = toValue(options.model);\n if ('sourceId' in options) {\n const sourceIdValue = deepClone(toValue(options.sourceId));\n if (options.sheets) {\n const sheetsValue = deepClone(toValue(options.sheets));\n return sourceIdValue && sheetsValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: sheetsValue,\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n } else {\n return sourceIdValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: [],\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n }\n } else {\n if (options.sheets) {\n const sheetsValue = toValue(options.sheets);\n return sheetsValue\n ? {\n sourceId: canonicalize('static')!,\n sheets: sheetsValue,\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n } else {\n return modelValue\n ? {\n sourceId: canonicalize('static')!,\n sheets: [],\n model: modelValue,\n filtersConfig: filtersConfigValue,\n }\n : {\n sourceId: null,\n filtersConfig: filtersConfigValue,\n };\n }\n }\n });\n};\n\n/** PlTableFilters restriction entry */\nexport type PlTableFiltersRestriction = {\n /** Spec of the column for which filter types should be restricted */\n column: PTableColumnId;\n /** List of filter types applicable to the column */\n allowedFilterTypes: PlTableFilterType[];\n};\n\n/** PlTableFilters default settings entry */\nexport type PlTableFiltersDefault = {\n /** Spec of the column the default should be applied */\n column: PTableColumnId;\n /** Filter entry */\n default: PlTableFilter;\n};\n\n/** PlAgDataTable controller contains all exported methods */\nexport type PlAgDataTableV2Controller = {\n /**\n * Scroll table to make row with provided key visible\n * Warning: works reliably only in client side mode.\n */\n focusRow: (rowKey: PTableKey) => Promise<void>;\n};\n\nexport type PlTableRowId = {\n /** Axes values */\n axesKey: PTableKey;\n /** Axes key where values of labeled axes are resolved to corresponding labels */\n labeled: PTableKey;\n};\n\nexport type PlTableRowIdJson = CanonicalizedJson<PlTableRowId>;\n\n/** PlAgDataTableV2 row */\nexport type PlAgDataTableV2Row = {\n /** Axes key */\n axesKey: PTableKey;\n /** Unique row identifier */\n id: PlTableRowIdJson;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}`]: PTableValue | PTableHidden;\n};\n\n/** PlSelectionModel with labeled axes replaced by label columns */\nexport type PlTableLabeledSelectionModel = {\n /** Specs for valuess in {@link PTableKey} */\n spec: PTableColumnSpec[];\n /** Row keys (arrays of axes values) of selected rows */\n selectedLabeledKeys: PTableKey[];\n};\n\nexport type PlAgOverlayLoadingParams = {\n /**\n * Required flag, that shows catInBag icon with message if `true`, shows PlSplash component if `false`.\n */\n notReady?: boolean;\n /**\n * Prop to override default \"Loading\" text\n */\n loadingText?: string;\n /**\n * Prop to override default \"No datasource\" text (So why props name is notReady? Good question)\n */\n notReadyText?: string;\n /**\n * Use \"transparent\" to make table headers visible below the loading layer\n */\n overlayType?: 'transparent';\n};\n\nexport type PlAgOverlayNoRowsParams = {\n /**\n * Prop to override default \"Empty\" text\n */\n text?: string;\n};\n\nexport type PlDataTableSheetsSettings = {\n /** User-provided sheets for the sourceId */\n sheets: PlDataTableSheet[];\n /** Persisted selection for the sourceId */\n cachedState: PlDataTableSheetState[];\n};\n\nexport type PlDataTableSheetNormalized = {\n /** id of the axis */\n axisId: AxisId;\n /** sheet prefix */\n prefix: string;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue: string | number;\n};\n"],"names":["usePlDataTableSettingsV2","options","fc","filtersConfigValue","ops","e","computed","modelValue","toValue","sourceIdValue","deepClone","sheetsValue","canonicalize"],"mappings":";;;AA2FO,SAASA,EAA4BC,GAAiF;AAC3H,QAAMC,IAAKD,EAAQ,eACbE,IAAqB,OAAOD,KAAO,aACrC,CAACE,MAGK;AACA,QAAA;AACF,aAAOF,EAAG;AAAA,QACR,UAAU,KAAK,MAAME,EAAI,QAAQ;AAAA,QACjC,QAAQA,EAAI;AAAA,MAAA,CACb;AAAA,aACMC,GAAG;AACF,qBAAA,MAAM,sCAAsCD,EAAI,QAAQ,aAAa,KAAK,UAAUA,EAAI,MAAM,CAAC,2BAA2BC,CAAC,GAC5H,CAAC;AAAA,IAAA;AAAA,EAEZ,IACA,OAAO,CAAA;AACX,SAAOC,EAAS,MAAM;AACd,UAAAC,IAAaC,EAAQP,EAAQ,KAAK;AACxC,QAAI,cAAcA,GAAS;AACzB,YAAMQ,IAAgBC,EAAUF,EAAQP,EAAQ,QAAQ,CAAC;AACzD,UAAIA,EAAQ,QAAQ;AAClB,cAAMU,IAAcD,EAAUF,EAAQP,EAAQ,MAAM,CAAC;AACrD,eAAOQ,KAAiBE,IACpB;AAAA,UACE,UAAUC,EAAaH,CAAa;AAAA,UACpC,QAAQE;AAAA,UACR,OAAOJ;AAAA,UACP,eAAeJ;AAAA,QAAA,IAEjB;AAAA,UACE,UAAU;AAAA,UACV,eAAeA;AAAA,QACjB;AAAA,MAAA;AAEJ,eAAOM,IACH;AAAA,UACE,UAAUG,EAAaH,CAAa;AAAA,UACpC,QAAQ,CAAC;AAAA,UACT,OAAOF;AAAA,UACP,eAAeJ;AAAA,QAAA,IAEjB;AAAA,UACE,UAAU;AAAA,UACV,eAAeA;AAAA,QACjB;AAAA,IACN,WAEIF,EAAQ,QAAQ;AACZ,YAAAU,IAAcH,EAAQP,EAAQ,MAAM;AAC1C,aAAOU,IACH;AAAA,QACE,UAAUC,EAAa,QAAQ;AAAA,QAC/B,QAAQD;AAAA,QACR,OAAOJ;AAAA,QACP,eAAeJ;AAAA,MAAA,IAEjB;AAAA,QACE,UAAU;AAAA,QACV,eAAeA;AAAA,MACjB;AAAA,IAAA;AAEJ,aAAOI,IACH;AAAA,QACE,UAAUK,EAAa,QAAQ;AAAA,QAC/B,QAAQ,CAAC;AAAA,QACT,OAAOL;AAAA,QACP,eAAeJ;AAAA,MAAA,IAEjB;AAAA,QACE,UAAU;AAAA,QACV,eAAeA;AAAA,MACjB;AAAA,EAER,CACD;AACH;"}
|
|
@@ -2,7 +2,7 @@ import d from "../../_virtual/dynamic-import-helper.js";
|
|
|
2
2
|
import { defineComponent as u, computed as e, createElementBlock as h, openBlock as f, normalizeClass as b, normalizeStyle as w, createElementVNode as y } from "vue";
|
|
3
3
|
import { asyncComputed as x } from "../../node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/core/index.js";
|
|
4
4
|
import { registerSvg as k } from "./registry.js";
|
|
5
|
-
const z = ["href"],
|
|
5
|
+
const z = ["href"], C = /* @__PURE__ */ u({
|
|
6
6
|
__name: "PlSvg",
|
|
7
7
|
props: {
|
|
8
8
|
uri: {},
|
|
@@ -42,6 +42,6 @@ const z = ["href"], P = /* @__PURE__ */ u({
|
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
export {
|
|
45
|
-
|
|
45
|
+
C as default
|
|
46
46
|
};
|
|
47
47
|
//# sourceMappingURL=PlSvg.vue2.js.map
|
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
import { uniqueId as
|
|
2
|
-
function
|
|
1
|
+
import { uniqueId as D } from "../../lib/util/helpers/dist/index.js";
|
|
2
|
+
function H() {
|
|
3
3
|
const e = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
4
4
|
return e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), e.style.display = "none", document.body.prepend(e), e;
|
|
5
5
|
}
|
|
6
6
|
window.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? /* @__PURE__ */ new Map();
|
|
7
|
-
window.SvgRegistryDefsElement = window.SvgRegistryDefsElement ??
|
|
8
|
-
const
|
|
9
|
-
function
|
|
10
|
-
var a,
|
|
11
|
-
if (!
|
|
12
|
-
const
|
|
13
|
-
let
|
|
7
|
+
window.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? H();
|
|
8
|
+
const r = window.SvgRegistryRawSvgMap, h = window.SvgRegistryDefsElement;
|
|
9
|
+
function A(e, v) {
|
|
10
|
+
var d, a, g, $, w;
|
|
11
|
+
if (!r.has(e)) {
|
|
12
|
+
const u = `svg-${v ? `${v}-` : ""}${D(16)}`, t = (d = e.match(/^<svg[^>]*>/i)) == null ? void 0 : d[0], c = (a = t == null ? void 0 : t.match(/fill\s*=\s*"(.*?)"/)) == null ? void 0 : a[1], p = (g = t == null ? void 0 : t.match(/stroke\s*=\s*"(.*?)"/)) == null ? void 0 : g[1], S = ($ = t == null ? void 0 : t.match(/width\s*=\s*"(\d+)(px)?"/)) == null ? void 0 : $[1], y = (w = t == null ? void 0 : t.match(/height\s*=\s*"(\d+)(px)?"/)) == null ? void 0 : w[1], o = t == null ? void 0 : t.match(/viewBox\s*=\s*"[-+]?\d*\.?\d+(?:e[-+]?\d+)?"/), R = o == null ? void 0 : o[2], N = o == null ? void 0 : o[3];
|
|
13
|
+
let s = Number(R ?? S ?? 16);
|
|
14
|
+
s = isNaN(s) ? 16 : s;
|
|
15
|
+
let i = Number(N ?? y ?? 16);
|
|
14
16
|
i = isNaN(i) ? 16 : i;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
let l = w ? w[1] : "";
|
|
19
|
-
l = l.replace(/\s*id\s*=\s*(['"])[^'"]*\1/gi, "").replace(/\s*viewBox\s*=\s*(['"])[^'"]*\1/gi, "");
|
|
20
|
-
let y = 0, R = 0;
|
|
21
|
-
const x = e.replace(/^<svg[^>]*>/i, `<svg id="${v}" viewBox="${S}" ${l}>`).replace(/<\/svg>\s*$/, "</svg>").replace(
|
|
17
|
+
const b = `0 0 ${s} ${i}`;
|
|
18
|
+
let k = 0, x = 0;
|
|
19
|
+
const E = c ? `fill="${c}"` : "", M = p ? `stroke="${p}"` : "", C = e.replace(/^<svg[^>]*>/i, `<svg id="${u}" viewBox="${b}" ${E} ${M}>`).replace(/<\/svg>\s*$/, "</svg>").replace(
|
|
22
20
|
/\bfill\s*=\s*(['"])(.*?)\1/gi,
|
|
23
|
-
(
|
|
21
|
+
(B, n, l) => /^(none|transparent)$/i.test(l) ? `fill=${n}${l}${n}` : `fill=${n}var(--svg-fill-${k++}, ${l})${n}`
|
|
24
22
|
).replace(
|
|
25
23
|
/\bstroke\s*=\s*(['"])(.*?)\1/gi,
|
|
26
|
-
(
|
|
27
|
-
),
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
spriteId:
|
|
32
|
-
defaultWidth:
|
|
33
|
-
defaultHeight:
|
|
24
|
+
(B, n, l) => /^(none|transparent)$/i.test(l) ? `stroke=${n}${l}${n}` : `stroke=${n}var(--svg-stroke-${x++}, ${l})${n}`
|
|
25
|
+
), m = document.createElement("template");
|
|
26
|
+
m.innerHTML = C;
|
|
27
|
+
const f = m.content.firstElementChild;
|
|
28
|
+
f && h && h.appendChild(f), r.set(e, {
|
|
29
|
+
spriteId: u,
|
|
30
|
+
defaultWidth: s,
|
|
31
|
+
defaultHeight: i
|
|
34
32
|
});
|
|
35
33
|
}
|
|
36
|
-
return
|
|
34
|
+
return r.get(e);
|
|
37
35
|
}
|
|
38
36
|
export {
|
|
39
|
-
|
|
37
|
+
A as registerSvg
|
|
40
38
|
};
|
|
41
39
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sources":["../../../../../../../../../lib/ui/uikit/src/components/PlSvg/registry.ts"],"sourcesContent":["import { uniqueId } from '@milaboratories/helpers';\n\ndeclare global {\n interface Window {\n SvgRegistryRawSvgMap: Map<string, SvgMeta>;\n SvgRegistryDefsElement: SVGDefsElement;\n }\n}\n\nfunction createSpriteContainer() {\n const defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n defsElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n defsElement.style.display = 'none';\n document.body.prepend(defsElement);\n return defsElement;\n}\n\n// prevent multiple definitions of the same SVG registry in different builds\nwindow.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? new Map<string, SvgMeta>();\nwindow.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? createSpriteContainer();\n\nexport type SvgMeta = {\n spriteId: string;\n defaultWidth: number;\n defaultHeight: number;\n};\n\nconst registeredRaw = window.SvgRegistryRawSvgMap;\nconst defsElement = window.SvgRegistryDefsElement;\n\nexport function registerSvg(raw: string, name?: string): SvgMeta {\n if (!registeredRaw.has(raw)) {\n const id = `svg-${name ? `${name}-` : ''}${uniqueId(16)}`;\n\n const
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../../../../../../../../../lib/ui/uikit/src/components/PlSvg/registry.ts"],"sourcesContent":["import { uniqueId } from '@milaboratories/helpers';\n\ndeclare global {\n interface Window {\n SvgRegistryRawSvgMap: Map<string, SvgMeta>;\n SvgRegistryDefsElement: SVGDefsElement;\n }\n}\n\nfunction createSpriteContainer() {\n const defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n defsElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n defsElement.style.display = 'none';\n document.body.prepend(defsElement);\n return defsElement;\n}\n\n// prevent multiple definitions of the same SVG registry in different builds\nwindow.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? new Map<string, SvgMeta>();\nwindow.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? createSpriteContainer();\n\nexport type SvgMeta = {\n spriteId: string;\n defaultWidth: number;\n defaultHeight: number;\n};\n\nconst registeredRaw = window.SvgRegistryRawSvgMap;\nconst defsElement = window.SvgRegistryDefsElement;\n\nexport function registerSvg(raw: string, name?: string): SvgMeta {\n if (!registeredRaw.has(raw)) {\n const id = `svg-${name ? `${name}-` : ''}${uniqueId(16)}`;\n\n const openSvgTagMatch = raw.match(/^<svg[^>]*>/i)?.[0];\n const fillMatch = openSvgTagMatch?.match(/fill\\s*=\\s*\"(.*?)\"/)?.[1];\n const strokeMatch = openSvgTagMatch?.match(/stroke\\s*=\\s*\"(.*?)\"/)?.[1];\n const widthMatch = openSvgTagMatch?.match(/width\\s*=\\s*\"(\\d+)(px)?\"/)?.[1];\n const heightMatch = openSvgTagMatch?.match(/height\\s*=\\s*\"(\\d+)(px)?\"/)?.[1];\n const viewBoxParts = openSvgTagMatch?.match(/viewBox\\s*=\\s*\"[-+]?\\d*\\.?\\d+(?:e[-+]?\\d+)?\"/);\n const viewBoxWidthMatch = viewBoxParts?.[2];\n const viewBoxHeightMatch = viewBoxParts?.[3];\n let width = Number(viewBoxWidthMatch ?? widthMatch ?? 16);\n width = isNaN(width) ? 16 : width;\n let height = Number(viewBoxHeightMatch ?? heightMatch ?? 16);\n height = isNaN(height) ? 16 : height;\n const viewBox = `0 0 ${width} ${height}`;\n\n let fillIdx = 0;\n let strokeIdx = 0;\n const fillAttr = fillMatch ? `fill=\"${fillMatch}\"` : '';\n const strokeAttr = strokeMatch ? `stroke=\"${strokeMatch}\"` : '';\n\n const preparedSvg = raw\n .replace(/^<svg[^>]*>/i, `<svg id=\"${id}\" viewBox=\"${viewBox}\" ${fillAttr} ${strokeAttr}>`)\n .replace(/<\\/svg>\\s*$/, '</svg>')\n .replace(\n /\\bfill\\s*=\\s*(['\"])(.*?)\\1/gi,\n (_, q, value) =>\n /^(none|transparent)$/i.test(value)\n ? `fill=${q}${value}${q}`\n : `fill=${q}var(--svg-fill-${fillIdx++}, ${value})${q}`,\n )\n .replace(\n /\\bstroke\\s*=\\s*(['\"])(.*?)\\1/gi,\n (_, q, value) =>\n /^(none|transparent)$/i.test(value)\n ? `stroke=${q}${value}${q}`\n : `stroke=${q}var(--svg-stroke-${strokeIdx++}, ${value})${q}`,\n );\n\n const template = document.createElement('template');\n template.innerHTML = preparedSvg;\n\n const symbol = template.content.firstElementChild;\n if (symbol && defsElement) {\n defsElement.appendChild(symbol);\n }\n\n registeredRaw.set(raw, {\n spriteId: id,\n defaultWidth: width,\n defaultHeight: height,\n });\n }\n\n return registeredRaw.get(raw)!;\n}\n"],"names":["createSpriteContainer","defsElement","registeredRaw","registerSvg","raw","name","id","uniqueId","openSvgTagMatch","_a","fillMatch","_b","strokeMatch","_c","widthMatch","_d","heightMatch","_e","viewBoxParts","viewBoxWidthMatch","viewBoxHeightMatch","width","height","viewBox","fillIdx","strokeIdx","fillAttr","strokeAttr","preparedSvg","_","q","value","template","symbol"],"mappings":";AASA,SAASA,IAAwB;AAC/B,QAAMC,IAAc,SAAS,gBAAgB,8BAA8B,KAAK;AAChFA,SAAAA,EAAY,aAAa,SAAS,4BAA4B,GAC9DA,EAAY,MAAM,UAAU,QACnB,SAAA,KAAK,QAAQA,CAAW,GAC1BA;AACT;AAGA,OAAO,uBAAuB,OAAO,wBAAwB,oBAAI,IAAqB;AACtF,OAAO,yBAAyB,OAAO,0BAA0BD,EAAsB;AAQvF,MAAME,IAAgB,OAAO,sBACvBD,IAAc,OAAO;AAEX,SAAAE,EAAYC,GAAaC,GAAwB;;AAC/D,MAAI,CAACH,EAAc,IAAIE,CAAG,GAAG;AACrB,UAAAE,IAAK,OAAOD,IAAO,GAAGA,CAAI,MAAM,EAAE,GAAGE,EAAS,EAAE,CAAC,IAEjDC,KAAkBC,IAAAL,EAAI,MAAM,cAAc,MAAxB,OAAA,SAAAK,EAA4B,CAC9CC,GAAAA,KAAYC,IAAAH,KAAA,gBAAAA,EAAiB,MAAM,oBAAvB,MAAA,OAAA,SAAAG,EAA+C,CAC3DC,GAAAA,KAAcC,IAAAL,KAAA,gBAAAA,EAAiB,MAAM,sBAAvB,MAAA,OAAA,SAAAK,EAAiD,CAC/DC,GAAAA,KAAaC,IAAAP,KAAA,gBAAAA,EAAiB,MAAM,0BAAvB,MAAA,OAAA,SAAAO,EAAqD,CAClEC,GAAAA,KAAcC,IAAAT,KAAA,gBAAAA,EAAiB,MAAM,2BAAvB,MAAA,OAAA,SAAAS,EAAsD,CACpEC,GAAAA,IAAeV,KAAA,OAAA,SAAAA,EAAiB,MAAM,8CAAA,GACtCW,IAAoBD,KAAA,gBAAAA,EAAe,CAAA,GACnCE,IAAqBF,KAAA,gBAAAA,EAAe,CAAA;AAC1C,QAAIG,IAAQ,OAAOF,KAAqBL,KAAc,EAAE;AAChDO,IAAAA,IAAA,MAAMA,CAAK,IAAI,KAAKA;AAC5B,QAAIC,IAAS,OAAOF,KAAsBJ,KAAe,EAAE;AAClDM,IAAAA,IAAA,MAAMA,CAAM,IAAI,KAAKA;AAC9B,UAAMC,IAAU,OAAOF,CAAK,IAAIC,CAAM;AAElCE,QAAAA,IAAU,GACVC,IAAY;AAChB,UAAMC,IAAWhB,IAAY,SAASA,CAAS,MAAM,IAC/CiB,IAAaf,IAAc,WAAWA,CAAW,MAAM,IAEvDgB,IAAcxB,EACjB,QAAQ,gBAAgB,YAAYE,CAAE,cAAciB,CAAO,KAAKG,CAAQ,IAAIC,CAAU,GAAG,EACzF,QAAQ,eAAe,QAAQ,EAC/B;AAAA,MACC;AAAA,MACA,CAACE,GAAGC,GAAGC,MACL,wBAAwB,KAAKA,CAAK,IAC9B,QAAQD,CAAC,GAAGC,CAAK,GAAGD,CAAC,KACrB,QAAQA,CAAC,kBAAkBN,GAAS,KAAKO,CAAK,IAAID,CAAC;AAAA,IAAA,EAE1D;AAAA,MACC;AAAA,MACA,CAACD,GAAGC,GAAGC,MACL,wBAAwB,KAAKA,CAAK,IAC9B,UAAUD,CAAC,GAAGC,CAAK,GAAGD,CAAC,KACvB,UAAUA,CAAC,oBAAoBL,GAAW,KAAKM,CAAK,IAAID,CAAC;AAAA,IAG7DE,GAAAA,IAAW,SAAS,cAAc,UAAU;AAClDA,IAAAA,EAAS,YAAYJ;AAEfK,UAAAA,IAASD,EAAS,QAAQ;AAC5BC,IAAAA,KAAUhC,KACZA,EAAY,YAAYgC,CAAM,GAGhC/B,EAAc,IAAIE,GAAK;AAAA,MACrB,UAAUE;AAAAA,MACV,cAAce;AAAAA,MACd,eAAeC;AAAAA,IAAA,CAChB;AAAA,EAAA;AAGIpB,SAAAA,EAAc,IAAIE,CAAG;AAC9B;"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { isJsonEqual as
|
|
2
|
-
import { ref as
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const { get: o, set: a, deep: p } = t, e = n(o());
|
|
1
|
+
import { isJsonEqual as o, deepClone as n } from "../lib/util/helpers/dist/index.js";
|
|
2
|
+
import { ref as p, computed as r, watch as s } from "vue";
|
|
3
|
+
function d(t) {
|
|
4
|
+
let a, l;
|
|
5
|
+
typeof t == "function" ? a = t : (a = t.get, l = t.set);
|
|
6
|
+
const e = p(a());
|
|
8
7
|
return s(
|
|
9
|
-
|
|
8
|
+
a,
|
|
10
9
|
(u) => {
|
|
11
|
-
|
|
10
|
+
o(u, e.value) || (e.value = n(u));
|
|
12
11
|
},
|
|
13
|
-
{ deep:
|
|
14
|
-
),
|
|
12
|
+
{ deep: !0 }
|
|
13
|
+
), l ? r({
|
|
15
14
|
get: () => e.value,
|
|
16
15
|
set: (u) => {
|
|
17
|
-
|
|
16
|
+
o(u, e.value) || (e.value = u, l(u));
|
|
18
17
|
}
|
|
19
|
-
}) :
|
|
18
|
+
}) : r(() => e.value);
|
|
20
19
|
}
|
|
21
20
|
export {
|
|
22
|
-
|
|
21
|
+
d as computedCached
|
|
23
22
|
};
|
|
24
23
|
//# sourceMappingURL=computedCached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computedCached.js","sources":["../../../../../../../../lib/ui/uikit/src/composition/computedCached.ts"],"sourcesContent":["import { isJsonEqual } from '@milaboratories/helpers';\nimport {\n computed,\n ref,\n watch,\n type ComputedGetter,\n type ComputedSetter,\n type ComputedRef,\n type WritableComputedRef,\n} from 'vue';\n\
|
|
1
|
+
{"version":3,"file":"computedCached.js","sources":["../../../../../../../../lib/ui/uikit/src/composition/computedCached.ts"],"sourcesContent":["import { deepClone, isJsonEqual } from '@milaboratories/helpers';\nimport {\n computed,\n ref,\n watch,\n type ComputedGetter,\n type ComputedSetter,\n type ComputedRef,\n type WritableComputedRef,\n} from 'vue';\n\n/**\n * Alternative to `computed`, but triggering only on actual data changes.\n * Always `deep` as the plain `computed` is.\n */\nexport function computedCached<T>(options: {\n get: ComputedGetter<T>;\n set: ComputedSetter<T>;\n}): WritableComputedRef<T>;\nexport function computedCached<T>(getter: ComputedGetter<T>): ComputedRef<T>;\nexport function computedCached<T>(arg: ComputedGetter<T> | {\n get: ComputedGetter<T>;\n set: ComputedSetter<T>;\n}) {\n let getter: ComputedGetter<T>;\n let setter: ComputedSetter<T> | undefined = undefined;\n if (typeof arg === 'function') {\n getter = arg;\n } else {\n getter = arg.get;\n setter = arg.set;\n }\n\n const cachedValue = ref<T>(getter());\n watch(\n getter,\n (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n // `deepClone` is needed because in case some fields are patched the deep would be triggered,\n // but objects would be equal as the saved value was also patched\n cachedValue.value = deepClone(newValue);\n }\n },\n { deep: true },\n );\n\n if (setter) {\n return computed({\n get: () => cachedValue.value,\n set: (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n cachedValue.value = newValue;\n setter(newValue);\n }\n },\n });\n } else {\n return computed(() => cachedValue.value);\n }\n}\n"],"names":["computedCached","arg","getter","setter","cachedValue","ref","watch","newValue","isJsonEqual","deepClone","computed"],"mappings":";;AAoBO,SAASA,EAAkBC,GAG/B;AACG,MAAAC,GACAC;AACA,SAAOF,KAAQ,aACRC,IAAAD,KAETC,IAASD,EAAI,KACbE,IAASF,EAAI;AAGTG,QAAAA,IAAcC,EAAOH,GAAQ;AACnCI,SAAAA;AAAAA,IACEJ;AAAAA,IACA,CAACK,MAAa;AACPC,MAAAA,EAAYD,GAAUH,EAAY,KAAK,MAG9BA,EAAA,QAAQK,EAAUF,CAAQ;AAAA,IAE1C;AAAA,IACA,EAAE,MAAM,GAAK;AAAA,EAAA,GAGXJ,IACKO,EAAS;AAAA,IACd,KAAK,MAAMN,EAAY;AAAA,IACvB,KAAK,CAACG,MAAa;AACZC,MAAAA,EAAYD,GAAUH,EAAY,KAAK,MAC1CA,EAAY,QAAQG,GACpBJ,EAAOI,CAAQ;AAAA,IAAA;AAAA,EAGpB,CAAA,IAEMG,EAAS,MAAMN,EAAY,KAAK;AAE3C;"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { isJsonEqual as
|
|
2
|
-
import { ref as
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
(
|
|
7
|
-
|
|
1
|
+
import { isJsonEqual as r, deepClone as d } from "../lib/util/helpers/dist/index.js";
|
|
2
|
+
import { ref as n, watch as u } from "vue";
|
|
3
|
+
function s(i, m, a) {
|
|
4
|
+
const e = n(), o = u(
|
|
5
|
+
i,
|
|
6
|
+
(t) => {
|
|
7
|
+
r(t, e.value) || (e.value = d(t));
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
|
-
deep:
|
|
10
|
+
deep: !0,
|
|
11
11
|
immediate: !0
|
|
12
12
|
// always initialize cachedValue
|
|
13
13
|
}
|
|
14
14
|
);
|
|
15
|
-
return
|
|
16
|
-
() =>
|
|
15
|
+
return u(
|
|
16
|
+
() => e.value,
|
|
17
17
|
// `as T` is safe as we always initialize cachedValue
|
|
18
|
-
|
|
18
|
+
m,
|
|
19
19
|
// separate watch so that `onWatcherCleanup` would only be triggerred here
|
|
20
20
|
{
|
|
21
21
|
// standard vue `WatchOptions` conform to `WatchCachedOptions` interface,
|
|
22
22
|
// so construct new options to remove unsupported entries
|
|
23
|
-
deep:
|
|
24
|
-
immediate:
|
|
23
|
+
deep: !0,
|
|
24
|
+
immediate: a == null ? void 0 : a.immediate
|
|
25
25
|
}
|
|
26
|
-
),
|
|
26
|
+
), o;
|
|
27
27
|
}
|
|
28
28
|
export {
|
|
29
|
-
|
|
29
|
+
s as watchCached
|
|
30
30
|
};
|
|
31
31
|
//# sourceMappingURL=watchCached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchCached.js","sources":["../../../../../../../../lib/ui/uikit/src/composition/watchCached.ts"],"sourcesContent":["import { isJsonEqual } from '@milaboratories/helpers';\nimport {\n ref,\n watch,\n type WatchCallback,\n type WatchHandle,\n type WatchSource,\n} from 'vue';\n\ntype MaybeUndefined<T, I> = I extends true ? T | undefined : T;\nexport interface WatchCachedOptions<Immediate = boolean> {\n immediate?: Immediate;\n deep
|
|
1
|
+
{"version":3,"file":"watchCached.js","sources":["../../../../../../../../lib/ui/uikit/src/composition/watchCached.ts"],"sourcesContent":["import { deepClone, isJsonEqual } from '@milaboratories/helpers';\nimport {\n ref,\n watch,\n type WatchCallback,\n type WatchHandle,\n type WatchSource,\n} from 'vue';\n\ntype MaybeUndefined<T, I> = I extends true ? T | undefined : T;\nexport interface WatchCachedOptions<Immediate = boolean> {\n immediate?: Immediate;\n // deep: true; - caching is useless when you are using the source as a `shallowRef`\n // once: false; - caching is useless when you need a single shot, use plain watch instead\n}\n/** Alternative to `watch`, but triggering only on actual data changes */\nexport function watchCached<T, Immediate extends Readonly<boolean> = false>(\n source: WatchSource<T>,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchCachedOptions<Immediate>,\n): WatchHandle {\n const cachedValue = ref<T>();\n const handle = watch(\n source,\n (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n // `deepClone` is needed because in case some fields are patched the deep would be triggered,\n // but objects would be equal as the saved value was also patched\n cachedValue.value = deepClone(newValue);\n }\n },\n {\n deep: true,\n immediate: true, // always initialize cachedValue\n },\n );\n watch<T, Immediate>(\n () => cachedValue.value as T, // `as T` is safe as we always initialize cachedValue\n cb, // separate watch so that `onWatcherCleanup` would only be triggerred here\n {\n // standard vue `WatchOptions` conform to `WatchCachedOptions` interface,\n // so construct new options to remove unsupported entries\n deep: true,\n immediate: options?.immediate,\n },\n );\n return handle; // stopping first handle would effectively stop the second one\n}\n"],"names":["watchCached","source","cb","options","cachedValue","ref","handle","watch","newValue","isJsonEqual","deepClone"],"mappings":";;AAgBgB,SAAAA,EACdC,GACAC,GACAC,GACa;AACPC,QAAAA,IAAcC,KACdC,IAASC;AAAAA,IACbN;AAAAA,IACA,CAACO,MAAa;AACPC,MAAAA,EAAYD,GAAUJ,EAAY,KAAK,MAG9BA,EAAA,QAAQM,EAAUF,CAAQ;AAAA,IAE1C;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAAA;AAAA,EAEf;AACAD,SAAAA;AAAAA,IACE,MAAMH,EAAY;AAAA;AAAA,IAClBF;AAAAA;AAAAA,IACA;AAAA;AAAA;AAAA,MAGE,MAAM;AAAA,MACN,WAAWC,KAAA,OAAA,SAAAA,EAAS;AAAA,IAAA;AAAA,EAAA,GAGjBG;AACT;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/ui-vue",
|
|
3
|
-
"version": "1.40.
|
|
3
|
+
"version": "1.40.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/lib.js",
|
|
6
6
|
"styles": "dist/lib.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"sortablejs": "^1.15.6",
|
|
28
28
|
"d3-format": "^3.1.0",
|
|
29
29
|
"zod": "~3.23.8",
|
|
30
|
-
"@milaboratories/uikit": "2.3.11",
|
|
31
30
|
"@milaboratories/biowasm-tools": "^1.1.0",
|
|
31
|
+
"@milaboratories/uikit": "2.3.12",
|
|
32
32
|
"@platforma-sdk/model": "~1.40.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"vitest": "^2.1.9",
|
|
43
43
|
"vue-tsc": "^2.2.10",
|
|
44
44
|
"yarpm": "^1.2.0",
|
|
45
|
-
"@milaboratories/
|
|
46
|
-
"@milaboratories/build-configs": "1.0.4",
|
|
45
|
+
"@milaboratories/eslint-config": "^1.0.4",
|
|
47
46
|
"@milaboratories/helpers": "^1.6.17",
|
|
48
|
-
"@milaboratories/
|
|
47
|
+
"@milaboratories/build-configs": "1.0.4",
|
|
48
|
+
"@milaboratories/ts-configs": "1.0.4"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"test": "vitest run --passWithNoTests",
|
|
@@ -119,7 +119,6 @@ export function useTableState(
|
|
|
119
119
|
const tableStateNormalized = computedCached<PlDataTableStateV2Normalized>({
|
|
120
120
|
get: () => upgradePlDataTableStateV2(tableStateDenormalized.value),
|
|
121
121
|
set: (newState) => tableStateDenormalized.value = newState,
|
|
122
|
-
deep: true,
|
|
123
122
|
});
|
|
124
123
|
|
|
125
124
|
const tableState = computed<PlDataTableStateV2CacheEntryNullable>({
|
|
@@ -17,6 +17,7 @@ import type { PTableHidden } from './sources/common';
|
|
|
17
17
|
import type { ComputedRef, MaybeRefOrGetter } from 'vue';
|
|
18
18
|
import { computed, toValue } from 'vue';
|
|
19
19
|
import canonicalize from 'canonicalize';
|
|
20
|
+
import { deepClone } from '@milaboratories/helpers';
|
|
20
21
|
|
|
21
22
|
export type PlDataTableFilterConfig = {
|
|
22
23
|
options?: PlTableFilterType[];
|
|
@@ -109,9 +110,9 @@ export function usePlDataTableSettingsV2<T>(options: OptionsAdvanced<T> | Option
|
|
|
109
110
|
return computed(() => {
|
|
110
111
|
const modelValue = toValue(options.model);
|
|
111
112
|
if ('sourceId' in options) {
|
|
112
|
-
const sourceIdValue = toValue(options.sourceId);
|
|
113
|
+
const sourceIdValue = deepClone(toValue(options.sourceId));
|
|
113
114
|
if (options.sheets) {
|
|
114
|
-
const sheetsValue = toValue(options.sheets);
|
|
115
|
+
const sheetsValue = deepClone(toValue(options.sheets));
|
|
115
116
|
return sourceIdValue && sheetsValue
|
|
116
117
|
? {
|
|
117
118
|
sourceId: canonicalize(sourceIdValue)!,
|