@platforma-sdk/ui-vue 1.37.2 → 1.37.7
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 +11 -10
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/components/PlAgDataTable/types.d.ts +21 -1
- package/dist/components/PlAgDataTable/types.d.ts.map +1 -1
- package/dist/components/PlAgDataTable/types.js +55 -0
- package/dist/components/PlAgDataTable/types.js.map +1 -0
- package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.d.ts +0 -6
- package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.d.ts.map +1 -1
- package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js +12 -14
- package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js.map +1 -1
- package/dist/components/PlMultiSequenceAlignment/data.d.ts +0 -1
- package/dist/components/PlMultiSequenceAlignment/data.d.ts.map +1 -1
- package/dist/components/PlMultiSequenceAlignment/data.js +115 -116
- package/dist/components/PlMultiSequenceAlignment/data.js.map +1 -1
- package/dist/lib/model/common/dist/index.js.map +1 -1
- package/dist/lib.js +264 -262
- package/dist/lib.js.map +1 -1
- package/dist/sdk/model/dist/index.js +39 -32
- package/dist/sdk/model/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/PlAgDataTable/types.ts +86 -17
- package/src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue +0 -7
- package/src/components/PlMultiSequenceAlignment/data.ts +2 -6
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.37.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.37.7 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 5093ms.
|
|
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[36m_virtual/lodash2.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.10 kB[22m[2m │ map: 0.09 kB[22m
|
|
@@ -40,8 +40,8 @@ computing gzip size...
|
|
|
40
40
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFilters.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
41
41
|
[2mdist/[22m[36mcomponents/PlAgCsvExporter/PlAgCsvExporter.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
42
42
|
[2mdist/[22m[36mlib/ui/uikit/dist/helpers/math.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.36 kB[22m
|
|
43
|
-
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
44
43
|
[2mdist/[22m[36mcomponents/PlAgCellProgress/PlAgCellProgress.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
44
|
+
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
45
45
|
[2mdist/[22m[36mcomponents/PlAgRowNumHeader.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
46
46
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableAddFilter.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
47
47
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/constant.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.40 kB[22m
|
|
@@ -146,8 +146,8 @@ computing gzip size...
|
|
|
146
146
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlChartHistogram/logspace.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 0.88 kB[22m
|
|
147
147
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSvg/PlSvg.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
148
148
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_windows-expand.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.51 kB[22m
|
|
149
|
-
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/residue-counts.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 4.45 kB[22m
|
|
150
149
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.59 kB[22m
|
|
150
|
+
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/residue-counts.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.20 kB[22m[2m │ map: 4.45 kB[22m
|
|
151
151
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_arrow-left.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.47 kB[22m
|
|
152
152
|
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/Legend.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
153
153
|
[2mdist/[22m[36mlib/ui/uikit/dist/assets/icons/icon-assets-min/24_arrow-right.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.47 kB[22m
|
|
@@ -689,6 +689,7 @@ computing gzip size...
|
|
|
689
689
|
[2mdist/[22m[36mdefineApp.js [39m[1m[2m 1.36 kB[22m[1m[22m[2m │ gzip: 0.72 kB[22m[2m │ map: 4.74 kB[22m
|
|
690
690
|
[2mdist/[22m[36mcreateModel.js [39m[1m[2m 1.38 kB[22m[1m[22m[2m │ gzip: 0.65 kB[22m[2m │ map: 3.91 kB[22m
|
|
691
691
|
[2mdist/[22m[36mlib/ui/uikit/dist/composition/useScroll.js [39m[1m[2m 1.40 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 3.78 kB[22m
|
|
692
|
+
[2mdist/[22m[36mcomponents/PlAgDataTable/types.js [39m[1m[2m 1.41 kB[22m[1m[22m[2m │ gzip: 0.58 kB[22m[2m │ map: 8.14 kB[22m
|
|
692
693
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlRadio/PlRadioGroup.vue2.js [39m[1m[2m 1.41 kB[22m[1m[22m[2m │ gzip: 0.72 kB[22m[2m │ map: 2.55 kB[22m
|
|
693
694
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlErrorAlert/PlErrorAlert.vue3.js [39m[1m[2m 1.42 kB[22m[1m[22m[2m │ gzip: 0.73 kB[22m[2m │ map: 0.12 kB[22m
|
|
694
695
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlChartStackedBar/StackedRow.vue3.js [39m[1m[2m 1.43 kB[22m[1m[22m[2m │ gzip: 0.69 kB[22m[2m │ map: 0.12 kB[22m
|
|
@@ -791,7 +792,6 @@ computing gzip size...
|
|
|
791
792
|
[2mdist/[22m[36mlib/ui/uikit/dist/layout/PlBlockPage/PlBlockPage.vue.js [39m[1m[2m 3.28 kB[22m[1m[22m[2m │ gzip: 1.34 kB[22m[2m │ map: 2.13 kB[22m
|
|
792
793
|
[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
|
|
793
794
|
[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
|
|
794
|
-
[2mdist/[22m[36msdk/model/dist/index.js [39m[1m[2m 3.35 kB[22m[1m[22m[2m │ gzip: 1.38 kB[22m[2m │ map: 39.87 kB[22m
|
|
795
795
|
[2mdist/[22m[36mcomponents/PlElementList/PlElementListItem.vue3.js [39m[1m[2m 3.36 kB[22m[1m[22m[2m │ gzip: 1.24 kB[22m[2m │ map: 0.12 kB[22m
|
|
796
796
|
[2mdist/[22m[36mlib/ui/uikit/dist/generated/icons-24.js [39m[1m[2m 3.37 kB[22m[1m[22m[2m │ gzip: 1.08 kB[22m[2m │ map: 5.77 kB[22m
|
|
797
797
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlBtnDanger/PlBtnDanger.vue.js [39m[1m[2m 3.47 kB[22m[1m[22m[2m │ gzip: 1.34 kB[22m[2m │ map: 1.23 kB[22m
|
|
@@ -803,6 +803,7 @@ computing gzip size...
|
|
|
803
803
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlFileDialog/PlFileDialog.vue.js [39m[1m[2m 3.51 kB[22m[1m[22m[2m │ gzip: 1.39 kB[22m[2m │ map: 4.61 kB[22m
|
|
804
804
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js [39m[1m[2m 3.54 kB[22m[1m[22m[2m │ gzip: 1.34 kB[22m[2m │ map: 1.25 kB[22m
|
|
805
805
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js [39m[1m[2m 3.56 kB[22m[1m[22m[2m │ gzip: 1.33 kB[22m[2m │ map: 1.24 kB[22m
|
|
806
|
+
[2mdist/[22m[36msdk/model/dist/index.js [39m[1m[2m 3.56 kB[22m[1m[22m[2m │ gzip: 1.45 kB[22m[2m │ map: 51.35 kB[22m
|
|
806
807
|
[2mdist/[22m[36mcomponents/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js [39m[1m[2m 3.59 kB[22m[1m[22m[2m │ gzip: 1.43 kB[22m[2m │ map: 2.78 kB[22m
|
|
807
808
|
[2mdist/[22m[36mcomponents/PlElementList/PlElementListItem.vue2.js [39m[1m[2m 3.64 kB[22m[1m[22m[2m │ gzip: 1.13 kB[22m[2m │ map: 5.88 kB[22m
|
|
808
809
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js [39m[1m[2m 3.67 kB[22m[1m[22m[2m │ gzip: 1.01 kB[22m[2m │ map: 5.45 kB[22m
|
|
@@ -819,7 +820,7 @@ computing gzip size...
|
|
|
819
820
|
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/Toolbar.vue2.js [39m[1m[2m 4.48 kB[22m[1m[22m[2m │ gzip: 1.09 kB[22m[2m │ map: 3.14 kB[22m
|
|
820
821
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlAlert/PlAlert.vue.js [39m[1m[2m 4.48 kB[22m[1m[22m[2m │ gzip: 1.69 kB[22m[2m │ map: 2.91 kB[22m
|
|
821
822
|
[2mdist/[22m[36mcomponents/BlockLayout.vue.js [39m[1m[2m 4.89 kB[22m[1m[22m[2m │ gzip: 1.80 kB[22m[2m │ map: 2.83 kB[22m
|
|
822
|
-
[2mdist/[22m[36mlib/model/common/dist/index.js [39m[1m[2m 4.90 kB[22m[1m[22m[2m │ gzip: 2.00 kB[22m[2m │ map: 38.
|
|
823
|
+
[2mdist/[22m[36mlib/model/common/dist/index.js [39m[1m[2m 4.90 kB[22m[1m[22m[2m │ gzip: 2.00 kB[22m[2m │ map: 38.02 kB[22m
|
|
823
824
|
[2mdist/[22m[36mplugins/Monetization/MonetizationSidebar.vue.js [39m[1m[2m 5.12 kB[22m[1m[22m[2m │ gzip: 1.79 kB[22m[2m │ map: 5.01 kB[22m
|
|
824
825
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlBtnGroup/PlBtnGroup.vue.js [39m[1m[2m 5.18 kB[22m[1m[22m[2m │ gzip: 1.94 kB[22m[2m │ map: 3.19 kB[22m
|
|
825
826
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlTooltip/PlTooltip.vue.js [39m[1m[2m 5.23 kB[22m[1m[22m[2m │ gzip: 1.93 kB[22m[2m │ map: 5.49 kB[22m
|
|
@@ -828,8 +829,8 @@ computing gzip size...
|
|
|
828
829
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlDialogModal/PlDialogModal.vue.js [39m[1m[2m 5.82 kB[22m[1m[22m[2m │ gzip: 2.02 kB[22m[2m │ map: 5.25 kB[22m
|
|
829
830
|
[2mdist/[22m[36mnode_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.5.4_/node_modules/@vueuse/core/index.js [39m[1m[2m 6.00 kB[22m[1m[22m[2m │ gzip: 2.30 kB[22m[2m │ map: 253.66 kB[22m
|
|
830
831
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue.js [39m[1m[2m 6.19 kB[22m[1m[22m[2m │ gzip: 2.18 kB[22m[2m │ map: 4.91 kB[22m
|
|
832
|
+
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js [39m[1m[2m 6.38 kB[22m[1m[22m[2m │ gzip: 2.02 kB[22m[2m │ map: 9.82 kB[22m
|
|
831
833
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFilterEntry.vue.js [39m[1m[2m 6.41 kB[22m[1m[22m[2m │ gzip: 1.44 kB[22m[2m │ map: 5.04 kB[22m
|
|
832
|
-
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js [39m[1m[2m 6.49 kB[22m[1m[22m[2m │ gzip: 2.04 kB[22m[2m │ map: 10.17 kB[22m
|
|
833
834
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlLogView/PlLogView.vue.js [39m[1m[2m 6.50 kB[22m[1m[22m[2m │ gzip: 2.32 kB[22m[2m │ map: 5.68 kB[22m
|
|
834
835
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js [39m[1m[2m 6.70 kB[22m[1m[22m[2m │ gzip: 1.86 kB[22m[2m │ map: 15.20 kB[22m
|
|
835
836
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlTextArea/PlTextArea.vue.js [39m[1m[2m 6.71 kB[22m[1m[22m[2m │ gzip: 2.37 kB[22m[2m │ map: 5.76 kB[22m
|
|
@@ -840,8 +841,8 @@ computing gzip size...
|
|
|
840
841
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlBtnSplit/PlBtnSplit.vue.js [39m[1m[2m 7.12 kB[22m[1m[22m[2m │ gzip: 2.57 kB[22m[2m │ map: 8.61 kB[22m
|
|
841
842
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-source-v2.js [39m[1m[2m 7.17 kB[22m[1m[22m[2m │ gzip: 2.62 kB[22m[2m │ map: 20.17 kB[22m
|
|
842
843
|
[2mdist/[22m[36mnode_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js [39m[1m[2m 7.70 kB[22m[1m[22m[2m │ gzip: 2.49 kB[22m[2m │ map: 25.67 kB[22m
|
|
844
|
+
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/data.js [39m[1m[2m 8.21 kB[22m[1m[22m[2m │ gzip: 2.59 kB[22m[2m │ map: 22.37 kB[22m
|
|
843
845
|
[2mdist/[22m[36mcomponents/PlElementList/PlElementList.vue2.js [39m[1m[2m 8.22 kB[22m[1m[22m[2m │ gzip: 2.35 kB[22m[2m │ map: 14.85 kB[22m
|
|
844
|
-
[2mdist/[22m[36mcomponents/PlMultiSequenceAlignment/data.js [39m[1m[2m 8.23 kB[22m[1m[22m[2m │ gzip: 2.60 kB[22m[2m │ map: 22.57 kB[22m
|
|
845
846
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/SliderRangeTriple.vue.js [39m[1m[2m 8.52 kB[22m[1m[22m[2m │ gzip: 2.46 kB[22m[2m │ map: 15.56 kB[22m
|
|
846
847
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlTextField/PlTextField.vue.js [39m[1m[2m 8.71 kB[22m[1m[22m[2m │ gzip: 2.89 kB[22m[2m │ map: 8.77 kB[22m
|
|
847
848
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlFileDialog/Remote.vue.js [39m[1m[2m 8.72 kB[22m[1m[22m[2m │ gzip: 2.80 kB[22m[2m │ map: 14.28 kB[22m
|
|
@@ -868,11 +869,11 @@ computing gzip size...
|
|
|
868
869
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTable.vue2.js [39m[1m[2m 49.26 kB[22m[1m[22m[2m │ gzip: 30.80 kB[22m[2m │ map: 28.50 kB[22m
|
|
869
870
|
[2mdist/[22m[36mnode_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.js [39m[1m[2m 50.22 kB[22m[1m[22m[2m │ gzip: 14.80 kB[22m[2m │ map: 181.40 kB[22m
|
|
870
871
|
[2mdist/[22m[36mAgGridVue/useAgGridOptions.js [39m[1m[2m 53.53 kB[22m[1m[22m[2m │ gzip: 30.97 kB[22m[2m │ map: 16.36 kB[22m
|
|
871
|
-
[2mdist/[22m[36mlib.js [39m[1m[2m 54.
|
|
872
|
+
[2mdist/[22m[36mlib.js [39m[1m[2m 54.70 kB[22m[1m[22m[2m │ gzip: 31.26 kB[22m[2m │ map: 0.22 kB[22m
|
|
872
873
|
[2mdist/[22m[36mlib/ui/uikit/dist/node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.js [39m[1m[2m 83.80 kB[22m[1m[22m[2m │ gzip: 17.23 kB[22m[2m │ map: 240.83 kB[22m
|
|
873
874
|
[2mdist/[22m[36mnode_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.js [39m[1m[2m 83.81 kB[22m[1m[22m[2m │ gzip: 17.26 kB[22m[2m │ map: 241.15 kB[22m
|
|
874
875
|
[2mdist/[22m[36mnode_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js [39m[1m[2m128.45 kB[22m[1m[22m[2m │ gzip: 31.07 kB[22m[2m │ map: 723.83 kB[22m
|
|
875
876
|
[2mdist/[22m[36mlib/ui/uikit/dist/index.js [39m[1m[2m497.32 kB[22m[1m[22m[2m │ gzip: 191.64 kB[22m[2m │ map: 0.18 kB[22m
|
|
876
877
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/PlSlideModal/PlSlideModal.vue.js [39m[1m[33m601.36 kB[39m[22m[2m │ gzip: 204.40 kB[22m[2m │ map: 0.23 kB[22m
|
|
877
878
|
[2mdist/[22m[36mlib/ui/uikit/dist/components/DataTable/TableComponent.vue.js [39m[1m[33m602.69 kB[39m[22m[2m │ gzip: 204.99 kB[22m[2m │ map: 0.27 kB[22m
|
|
878
|
-
[32m✓ built in
|
|
879
|
+
[32m✓ built in 9.01s[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.37.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.37.7 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,17 @@
|
|
|
1
1
|
# @platforma-sdk/ui-vue
|
|
2
2
|
|
|
3
|
+
## 1.37.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 30d7dc8: MSA: find linker columns automatically
|
|
8
|
+
|
|
9
|
+
## 1.37.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- ab005b5: PlDataTableSettingsV2 creation helpers
|
|
14
|
+
|
|
3
15
|
## 1.37.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AxisId, CanonicalizedJson, ListOptionBase, LocalBlobHandleAndSize, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlTableFilter, PlTableFilterType, PTableColumnId, PTableColumnSpec, PTableHandle, PTableKey, PTableRowKey, PTableValue, RemoteBlobHandleAndSize } from '@platforma-sdk/model';
|
|
1
|
+
import { JsonCompatible, AxisId, CanonicalizedJson, ListOptionBase, LocalBlobHandleAndSize, PlDataTableModel, PlDataTableSheet, PlDataTableSheetState, PlTableFilter, PlTableFilterType, PTableColumnId, PTableColumnSpec, PTableHandle, PTableKey, PTableRowKey, PTableValue, RemoteBlobHandleAndSize } from '@platforma-sdk/model';
|
|
2
2
|
import { PTableHidden } from './sources/common';
|
|
3
|
+
import { ComputedRef, MaybeRefOrGetter } from 'vue';
|
|
3
4
|
export type PlDataTableSettingsPTable = {
|
|
4
5
|
/** The type of the source to feed the data into the table */
|
|
5
6
|
sourceType: 'ptable';
|
|
@@ -26,6 +27,25 @@ export type PlDataTableSettingsV2 = {
|
|
|
26
27
|
/** Result of `createPlDataTableV2` */
|
|
27
28
|
model: PlDataTableModel | undefined;
|
|
28
29
|
};
|
|
30
|
+
export declare function usePlDataTableSettingsV2<T = string>({
|
|
31
|
+
/**
|
|
32
|
+
* Block property (such as inputAnchor) used to produce the data source.
|
|
33
|
+
* Mandatory for cases when the table can change without block run.
|
|
34
|
+
* Skip when the table is changed only after block run.
|
|
35
|
+
* Ask developers for help if you don't know what to set here.
|
|
36
|
+
*/
|
|
37
|
+
sourceId,
|
|
38
|
+
/** Block output created by `createPlDataTableV2` */
|
|
39
|
+
model,
|
|
40
|
+
/**
|
|
41
|
+
* Sheets for partitioned data sources.
|
|
42
|
+
* Do not set if data source is never partitioned.
|
|
43
|
+
*/
|
|
44
|
+
sheets, }: {
|
|
45
|
+
sourceId?: MaybeRefOrGetter<JsonCompatible<T> | undefined>;
|
|
46
|
+
model: MaybeRefOrGetter<PlDataTableModel | undefined>;
|
|
47
|
+
sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;
|
|
48
|
+
}): ComputedRef<PlDataTableSettingsV2>;
|
|
29
49
|
/** PlTableFilters restriction entry */
|
|
30
50
|
export type PlTableFiltersRestriction = {
|
|
31
51
|
/** Spec of the column for which filter types should be restricted */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAGzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,6DAA6D;IAC7D,UAAU,EAAE,QAAQ,CAAC;IACrB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,6DAA6D;IAC7D,UAAU,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,CAAC;CAC5D,CAAC;AAEF,0BAA0B;AAC1B,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,yBAAyB,GACzB,sBAAsB,CAAC;AAE3B,6BAA6B;AAC7B,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IACA,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,sCAAsC;IACtC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACrC,CAAC;AAEJ,wBAAgB,wBAAwB,CAAC,CAAC,GAAG,MAAM,EAAE;AACnD;;;;;GAKG;AACH,QAAQ;AACR,oDAAoD;AACpD,KAAK;AACL;;;GAGG;AACH,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3D,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC;CAC3D,GAAG,WAAW,CAAC,qBAAqB,CAAC,CA4CrC;AAED,uCAAuC;AACvC,MAAM,MAAM,yBAAyB,GAAG;IACtC,qEAAqE;IACrE,MAAM,EAAE,cAAc,CAAC;IACvB,oDAAoD;IACpD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,uDAAuD;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,mBAAmB;IACnB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAE/D,wBAAwB;AACxB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qDAAqD;IACrD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,+EAA+E;IAC/E,EAAE,EAAE,gBAAgB,GAAG,GAAG,MAAM,EAAE,CAAC;IACnC,qEAAqE;IACrE,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,WAAW,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAEzD,0BAA0B;AAC1B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qDAAqD;IACrD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,+EAA+E;IAC/E,EAAE,EAAE,aAAa,CAAC;IAClB,qEAAqE;IACrE,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,GAAG,YAAY,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,4CAA4C;IAC5C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,OAAO,EAAE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3C,+BAA+B;IAC/B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,EAAE,CAAC;CACb,GAAG;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "../../sdk/model/dist/index.js";
|
|
2
|
+
import { computed as c, toValue as t } from "vue";
|
|
3
|
+
import { canonicalizeJson as u } from "../../lib/model/common/dist/index.js";
|
|
4
|
+
function m({
|
|
5
|
+
/**
|
|
6
|
+
* Block property (such as inputAnchor) used to produce the data source.
|
|
7
|
+
* Mandatory for cases when the table can change without block run.
|
|
8
|
+
* Skip when the table is changed only after block run.
|
|
9
|
+
* Ask developers for help if you don't know what to set here.
|
|
10
|
+
*/
|
|
11
|
+
sourceId: l,
|
|
12
|
+
/** Block output created by `createPlDataTableV2` */
|
|
13
|
+
model: n,
|
|
14
|
+
/**
|
|
15
|
+
* Sheets for partitioned data sources.
|
|
16
|
+
* Do not set if data source is never partitioned.
|
|
17
|
+
*/
|
|
18
|
+
sheets: s
|
|
19
|
+
}) {
|
|
20
|
+
return c(() => {
|
|
21
|
+
const o = t(n);
|
|
22
|
+
if (l) {
|
|
23
|
+
const e = t(l);
|
|
24
|
+
if (s) {
|
|
25
|
+
const r = t(s);
|
|
26
|
+
return e && r ? {
|
|
27
|
+
sourceId: u(e),
|
|
28
|
+
sheets: r,
|
|
29
|
+
model: o
|
|
30
|
+
} : { sourceId: null };
|
|
31
|
+
} else
|
|
32
|
+
return e ? {
|
|
33
|
+
sourceId: u(e),
|
|
34
|
+
sheets: [],
|
|
35
|
+
model: o
|
|
36
|
+
} : { sourceId: null };
|
|
37
|
+
} else if (s) {
|
|
38
|
+
const e = t(s);
|
|
39
|
+
return e ? {
|
|
40
|
+
sourceId: u("static"),
|
|
41
|
+
sheets: e,
|
|
42
|
+
model: o
|
|
43
|
+
} : { sourceId: null };
|
|
44
|
+
} else
|
|
45
|
+
return o ? {
|
|
46
|
+
sourceId: u("static"),
|
|
47
|
+
sheets: [],
|
|
48
|
+
model: o
|
|
49
|
+
} : { sourceId: null };
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
m as usePlDataTableSettingsV2
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/PlAgDataTable/types.ts"],"sourcesContent":["import {\n canonicalizeJson,\n type JsonCompatible,\n type AxisId,\n type CanonicalizedJson,\n type ListOptionBase,\n type LocalBlobHandleAndSize,\n type PlDataTableModel,\n type PlDataTableSheet,\n type PlDataTableSheetState,\n type PlTableFilter,\n type PlTableFilterType,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableHandle,\n type PTableKey,\n type PTableRowKey,\n type PTableValue,\n type RemoteBlobHandleAndSize,\n} from '@platforma-sdk/model';\nimport type { PTableHidden } from './sources/common';\nimport type { ComputedRef, MaybeRefOrGetter } from 'vue';\nimport { computed, toValue } from 'vue';\n\nexport type PlDataTableSettingsPTable = {\n /** The type of the source to feed the data into the table */\n sourceType: 'ptable';\n /** PTable handle output */\n pTable?: PTableHandle;\n /** Sheets that we want to show in our table */\n sheets?: PlDataTableSheet[];\n};\n\nexport type PlDataTableSettingsXsv = {\n /** The type of the source to feed the data into the table */\n sourceType: 'xsv';\n xsvFile?: LocalBlobHandleAndSize | RemoteBlobHandleAndSize;\n};\n\n/** Data table settings */\nexport type PlDataTableSettings =\n | undefined\n | PlDataTableSettingsPTable\n | PlDataTableSettingsXsv;\n\n/** Data table V2 settings */\nexport type PlDataTableSettingsV2 =\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\nexport function usePlDataTableSettingsV2<T = string>({\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,\n /** Block output created by `createPlDataTableV2` */\n model,\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets,\n}: {\n sourceId?: MaybeRefOrGetter<JsonCompatible<T> | undefined>;\n model: MaybeRefOrGetter<PlDataTableModel | undefined>;\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n}): ComputedRef<PlDataTableSettingsV2> {\n return computed(() => {\n const modelValue = toValue(model);\n if (sourceId) {\n const sourceIdValue = toValue(sourceId);\n if (sheets) {\n const sheetsValue = toValue(sheets);\n return sourceIdValue && sheetsValue\n ? {\n sourceId: canonicalizeJson(sourceIdValue),\n sheets: sheetsValue,\n model: modelValue,\n }\n : { sourceId: null };\n } else {\n return sourceIdValue\n ? {\n sourceId: canonicalizeJson(sourceIdValue),\n sheets: [],\n model: modelValue,\n }\n : { sourceId: null };\n }\n } else {\n if (sheets) {\n const sheetsValue = toValue(sheets);\n return sheetsValue\n ? {\n sourceId: canonicalizeJson<string>('static'),\n sheets: sheetsValue,\n model: modelValue,\n }\n : { sourceId: null };\n } else {\n return modelValue\n ? {\n sourceId: canonicalizeJson<string>('static'),\n sheets: [],\n model: modelValue,\n }\n : { sourceId: null };\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 PlAgDataTableController = {\n /**\n * Scroll table to make row with provided key visible\n * Warning: works reliably only in client side mode.\n */\n focusRow: (rowKey: PTableRowKey) => Promise<void>;\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\n/**\n * Canonicalized PTableValue array JSON string\n * @deprecated Migrate to PlAgDataTableV2\n */\nexport type PTableRowKeyJson = CanonicalizedJson<PTableRowKey>;\n\n/** PlAgDataTable row */\nexport type PlAgDataTableRow = {\n /** Axis key is not present for heterogeneous axes */\n key?: PTableRowKey;\n /** Unique row identifier, created as canonicalize(key)! when key is present */\n id: PTableRowKeyJson | `${number}`;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}` | `hC${number}`]: PTableValue;\n};\n\nexport type PTableKeyJson = CanonicalizedJson<PTableKey>;\n\n/** PlAgDataTableV2 row */\nexport type PlAgDataTableV2Row = {\n /** Axis key is not present for heterogeneous axes */\n key?: PTableKey;\n /** Unique row identifier, created as canonicalize(key)! when key is present */\n id: PTableKeyJson;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}`]: PTableValue | PTableHidden;\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\nexport type PlDataTableColumnsInfo = {\n sourceId: null;\n columns: [];\n} | {\n sourceId: string;\n columns: PTableColumnSpec[];\n};\n"],"names":["usePlDataTableSettingsV2","sourceId","model","sheets","computed","modelValue","toValue","sourceIdValue","sheetsValue","canonicalizeJson"],"mappings":";;;AAyDO,SAASA,EAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnD,UAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAAC;AACF,GAIuC;AACrC,SAAOC,EAAS,MAAM;AACd,UAAAC,IAAaC,EAAQJ,CAAK;AAChC,QAAID,GAAU;AACN,YAAAM,IAAgBD,EAAQL,CAAQ;AACtC,UAAIE,GAAQ;AACJ,cAAAK,IAAcF,EAAQH,CAAM;AAClC,eAAOI,KAAiBC,IACpB;AAAA,UACE,UAAUC,EAAiBF,CAAa;AAAA,UACxC,QAAQC;AAAA,UACR,OAAOH;AAAA,QAAA,IAET,EAAE,UAAU,KAAK;AAAA,MAAA;AAErB,eAAOE,IACH;AAAA,UACE,UAAUE,EAAiBF,CAAa;AAAA,UACxC,QAAQ,CAAC;AAAA,UACT,OAAOF;AAAA,QAAA,IAET,EAAE,UAAU,KAAK;AAAA,IACvB,WAEIF,GAAQ;AACJ,YAAAK,IAAcF,EAAQH,CAAM;AAClC,aAAOK,IACH;AAAA,QACE,UAAUC,EAAyB,QAAQ;AAAA,QAC3C,QAAQD;AAAA,QACR,OAAOH;AAAA,MAAA,IAET,EAAE,UAAU,KAAK;AAAA,IAAA;AAErB,aAAOA,IACH;AAAA,QACE,UAAUI,EAAyB,QAAQ;AAAA,QAC3C,QAAQ,CAAC;AAAA,QACT,OAAOJ;AAAA,MAAA,IAET,EAAE,UAAU,KAAK;AAAA,EAEzB,CACD;AACH;"}
|
|
@@ -10,12 +10,6 @@ type __VLS_Props = {
|
|
|
10
10
|
* By default, all sequence columns are selected.
|
|
11
11
|
*/
|
|
12
12
|
readonly sequenceColumnPredicate: PColumnPredicate;
|
|
13
|
-
/**
|
|
14
|
-
* Sometimes sequence column and label column have disjoint axes.
|
|
15
|
-
* In this case you have to define `linkerColumnPredicate` to select columns
|
|
16
|
-
* connecting axes of sequence and label columns.
|
|
17
|
-
*/
|
|
18
|
-
readonly linkerColumnPredicate?: PColumnPredicate;
|
|
19
13
|
/**
|
|
20
14
|
* Row selection model (from `PlAgDataTableV2` or `GraphMaker`).
|
|
21
15
|
* If not provided or empty, all rows will be considered selected.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlMultiSequenceAlignment.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlMultiSequenceAlignment.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"names":[],"mappings":"AA4OA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAwB9B,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC;AAsHF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC1C,GAAG,WAAW,CAAC;;;;;;AAqLhB,wBAOG"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as A, mergeModels as B, useModel as x, onBeforeMount as E, ref as U, reactive as i, computed as c, watchEffect as z, createElementBlock as
|
|
1
|
+
import { defineComponent as A, mergeModels as B, useModel as x, onBeforeMount as E, ref as U, reactive as i, computed as c, watchEffect as z, createElementBlock as k, openBlock as s, Fragment as b, createVNode as h, createBlock as p, unref as n, withCtx as d, createTextVNode as S, toDisplayString as v, createCommentVNode as w, normalizeClass as D } from "vue";
|
|
2
2
|
import "../../lib/ui/uikit/dist/index.js";
|
|
3
3
|
import { chemicalPropertiesColorMap as j } from "./chemical-properties.js";
|
|
4
|
-
import { useSequenceColumnsOptions as T, useLabelColumnsOptions as $, useMarkupColumnsOptions as G, useMultipleAlignmentData as H, sequenceLimit as
|
|
4
|
+
import { useSequenceColumnsOptions as T, useLabelColumnsOptions as $, useMarkupColumnsOptions as G, useMultipleAlignmentData as H, sequenceLimit as O } from "./data.js";
|
|
5
5
|
import J from "./Legend.vue.js";
|
|
6
|
-
import { markupColors as
|
|
6
|
+
import { markupColors as P } from "./markup.js";
|
|
7
7
|
import { runMigrations as K } from "./migrations.js";
|
|
8
8
|
import Q from "./MultiSequenceAlignmentView.vue.js";
|
|
9
9
|
import { defaultSettings as R } from "./settings.js";
|
|
@@ -15,7 +15,6 @@ const me = /* @__PURE__ */ A({
|
|
|
15
15
|
props: /* @__PURE__ */ B({
|
|
16
16
|
pFrame: {},
|
|
17
17
|
sequenceColumnPredicate: { type: Function },
|
|
18
|
-
linkerColumnPredicate: { type: Function },
|
|
19
18
|
selection: {}
|
|
20
19
|
}, {
|
|
21
20
|
modelValue: { default: {} },
|
|
@@ -51,9 +50,8 @@ const me = /* @__PURE__ */ A({
|
|
|
51
50
|
sequenceColumnIds: m.value,
|
|
52
51
|
labelColumnIds: q.value,
|
|
53
52
|
markupColumnId: o.value.colorScheme.type === "markup" ? o.value.colorScheme.columnId : void 0,
|
|
54
|
-
linkerColumnPredicate: r.linkerColumnPredicate,
|
|
55
53
|
selection: r.selection
|
|
56
|
-
}))),
|
|
54
|
+
}))), y = new Intl.NumberFormat("en").format, L = c(
|
|
57
55
|
() => [
|
|
58
56
|
{
|
|
59
57
|
label: "Chemical Properties",
|
|
@@ -92,7 +90,7 @@ const me = /* @__PURE__ */ A({
|
|
|
92
90
|
((l = t.data.markup) == null ? void 0 : l.labels) ?? {}
|
|
93
91
|
).map(([e, a], N) => [
|
|
94
92
|
e,
|
|
95
|
-
{ label: a, color:
|
|
93
|
+
{ label: a, color: P[N % P.length] }
|
|
96
94
|
])
|
|
97
95
|
)
|
|
98
96
|
};
|
|
@@ -104,10 +102,10 @@ const me = /* @__PURE__ */ A({
|
|
|
104
102
|
const l = o.value.colorScheme.type === "markup" ? o.value.colorScheme.columnId : void 0;
|
|
105
103
|
l && g.data.every(({ value: e }) => e !== l) && (o.value.colorScheme = { type: "no-color" });
|
|
106
104
|
});
|
|
107
|
-
const
|
|
105
|
+
const V = c(
|
|
108
106
|
() => f.error ?? C.error ?? g.error ?? t.error
|
|
109
107
|
);
|
|
110
|
-
return (l, e) => (s(),
|
|
108
|
+
return (l, e) => (s(), k(b, null, [
|
|
111
109
|
h(W, {
|
|
112
110
|
"sequence-columns": m.value,
|
|
113
111
|
"onUpdate:sequenceColumns": e[0] || (e[0] = (a) => m.value = a),
|
|
@@ -119,12 +117,12 @@ const me = /* @__PURE__ */ A({
|
|
|
119
117
|
"label-column-options": C.data.options,
|
|
120
118
|
"color-scheme-options": L.value
|
|
121
119
|
}, null, 8, ["sequence-columns", "label-columns", "settings", "sequence-column-options", "label-column-options", "color-scheme-options"]),
|
|
122
|
-
|
|
120
|
+
V.value ? (s(), p(n(I), {
|
|
123
121
|
key: 0,
|
|
124
122
|
type: "error"
|
|
125
123
|
}, {
|
|
126
124
|
default: d(() => [
|
|
127
|
-
S(v(
|
|
125
|
+
S(v(V.value), 1)
|
|
128
126
|
]),
|
|
129
127
|
_: 1
|
|
130
128
|
})) : !t.loading && t.data.sequences.length < 2 ? (s(), p(n(I), {
|
|
@@ -136,7 +134,7 @@ const me = /* @__PURE__ */ A({
|
|
|
136
134
|
S(" Please select at least one sequence column and two or more rows to run alignment ")
|
|
137
135
|
])),
|
|
138
136
|
_: 1
|
|
139
|
-
})) : (s(),
|
|
137
|
+
})) : (s(), k(b, { key: 2 }, [
|
|
140
138
|
t.data.exceedsLimit ? (s(), p(n(I), {
|
|
141
139
|
key: 0,
|
|
142
140
|
type: "warn",
|
|
@@ -144,7 +142,7 @@ const me = /* @__PURE__ */ A({
|
|
|
144
142
|
label: "Visualization is limited"
|
|
145
143
|
}, {
|
|
146
144
|
default: d(() => [
|
|
147
|
-
S(" MSA visualization supports " + v(n(
|
|
145
|
+
S(" MSA visualization supports " + v(n(y)(2)) + " to " + v(n(y)(n(O))) + " sequences. Only the first " + v(n(y)(n(O))) + " will be displayed. ", 1)
|
|
148
146
|
]),
|
|
149
147
|
_: 1
|
|
150
148
|
})) : w("", !0),
|
|
@@ -154,7 +152,7 @@ const me = /* @__PURE__ */ A({
|
|
|
154
152
|
loading: t.loading
|
|
155
153
|
}, {
|
|
156
154
|
default: d(() => [
|
|
157
|
-
t.data.sequences.length ? (s(),
|
|
155
|
+
t.data.sequences.length ? (s(), k(b, { key: 0 }, [
|
|
158
156
|
h(Q, {
|
|
159
157
|
"sequence-rows": t.data.sequences,
|
|
160
158
|
"label-rows": t.data.labels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlMultiSequenceAlignment.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ListOptionNormalized } from '@milaboratories/uikit';\nimport { PlAlert, PlSplash } from '@milaboratories/uikit';\nimport type {\n PColumnPredicate,\n PFrameHandle,\n PlMultiSequenceAlignmentModel,\n PlSelectionModel,\n} from '@platforma-sdk/model';\nimport { computed, onBeforeMount, reactive, ref, watchEffect } from 'vue';\nimport { chemicalPropertiesColorMap } from './chemical-properties';\nimport {\n sequenceLimit,\n useLabelColumnsOptions,\n useMarkupColumnsOptions,\n useMultipleAlignmentData,\n useSequenceColumnsOptions,\n} from './data';\nimport Legend from './Legend.vue';\nimport { markupColors } from './markup';\nimport { runMigrations } from './migrations';\nimport MultiSequenceAlignmentView from './MultiSequenceAlignmentView.vue';\nimport { defaultSettings } from './settings';\nimport Toolbar from './Toolbar.vue';\nimport type { ColorScheme, ColorSchemeOption } from './types';\n\nconst model = defineModel<PlMultiSequenceAlignmentModel>({ default: {} });\n\nonBeforeMount(() => {\n runMigrations(model);\n});\n\nconst props = defineProps<{\n /**\n * Handle to PFrame created using `createPFrameForGraphs`.\n * Should contain all desired sequence and label columns.\n */\n readonly pFrame: PFrameHandle | undefined;\n /**\n * Return true if column should be shown in sequence columns dropdown.\n * By default, all sequence columns are selected.\n */\n readonly sequenceColumnPredicate: PColumnPredicate;\n /**\n * Sometimes sequence column and label column have disjoint axes.\n * In this case you have to define `linkerColumnPredicate` to select columns\n * connecting axes of sequence and label columns.\n */\n readonly linkerColumnPredicate?: PColumnPredicate;\n /**\n * Row selection model (from `PlAgDataTableV2` or `GraphMaker`).\n * If not provided or empty, all rows will be considered selected.\n * Warning: should be forwarded as a field of `reactive` object\n */\n readonly selection?: PlSelectionModel;\n}>();\n\nconst settings = ref(defaultSettings);\n\nconst sequenceColumns = reactive(useSequenceColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnPredicate: props.sequenceColumnPredicate,\n})));\n\nconst selectedSequenceColumnIds = computed({\n get: () => model.value.sequenceColumnIds ?? sequenceColumns.data.defaults,\n set: (value) => {\n model.value.sequenceColumnIds = value;\n },\n});\n\nconst labelColumns = reactive(useLabelColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n})));\n\nconst selectedLabelColumnIds = computed({\n get: () => model.value.labelColumnIds ?? labelColumns.data.defaults,\n set: (value) => {\n model.value.labelColumnIds = value;\n },\n});\n\nconst markupColumns = reactive(useMarkupColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n})));\n\nconst multipleAlignmentData = reactive(useMultipleAlignmentData(() => ({\n pframe: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n labelColumnIds: selectedLabelColumnIds.value,\n markupColumnId: settings.value.colorScheme.type === 'markup'\n ? settings.value.colorScheme.columnId\n : undefined,\n linkerColumnPredicate: props.linkerColumnPredicate,\n selection: props.selection,\n})));\n\nconst formatNumber = new Intl.NumberFormat('en').format;\n\nconst colorSchemeOptions = computed<ListOptionNormalized<ColorSchemeOption>[]>(\n () => [\n {\n label: 'Chemical Properties',\n value: { type: 'chemical-properties' },\n },\n {\n label: 'No Color',\n value: { type: 'no-color' },\n },\n ...markupColumns.data.map(({ label, value }) => ({\n label,\n value: {\n type: 'markup' as const,\n columnId: value,\n },\n })),\n ],\n);\n\nconst colorScheme = computed<ColorScheme>(() => {\n switch (settings.value.colorScheme.type) {\n case 'no-color':\n return {\n type: 'no-color',\n colors: {},\n };\n case 'chemical-properties':\n return {\n type: 'chemical-properties',\n colors: chemicalPropertiesColorMap,\n };\n case 'markup':\n return {\n type: 'markup',\n colors: Object.fromEntries(\n Object.entries(\n multipleAlignmentData.data.markup?.labels ?? {},\n ).map(([id, label], index) => [\n id,\n { label, color: markupColors[index % markupColors.length] },\n ]),\n ),\n };\n default:\n throw new Error(`Unknown color scheme ${settings.value.colorScheme}`);\n }\n});\n\nwatchEffect(() => {\n const markupColumnId = settings.value.colorScheme.type === 'markup'\n ? settings.value.colorScheme.columnId\n : undefined;\n if (\n markupColumnId\n && markupColumns.data.every(({ value }) => value !== markupColumnId)\n ) {\n settings.value.colorScheme = { type: 'no-color' };\n }\n});\n\nconst error = computed(() =>\n sequenceColumns.error\n ?? labelColumns.error\n ?? markupColumns.error\n ?? multipleAlignmentData.error,\n);\n</script>\n\n<template>\n <Toolbar\n v-model:sequence-columns=\"selectedSequenceColumnIds\"\n v-model:label-columns=\"selectedLabelColumnIds\"\n v-model:settings=\"settings\"\n :sequence-column-options=\"sequenceColumns.data.options\"\n :label-column-options=\"labelColumns.data.options\"\n :color-scheme-options=\"colorSchemeOptions\"\n />\n <PlAlert v-if=\"error\" type=\"error\">\n {{ error }}\n </PlAlert>\n <PlAlert\n v-else-if=\"\n !multipleAlignmentData.loading\n && multipleAlignmentData.data.sequences.length < 2\n \"\n type=\"warn\"\n icon\n >\n Please select at least one sequence column and two or more rows to run\n alignment\n </PlAlert>\n <template v-else>\n <PlAlert\n v-if=\"multipleAlignmentData.data.exceedsLimit\"\n type=\"warn\"\n icon\n label=\"Visualization is limited\"\n >\n MSA visualization supports {{ formatNumber(2) }} to\n {{ formatNumber(sequenceLimit) }} sequences. Only the first\n {{ formatNumber(sequenceLimit) }} will be displayed.\n </PlAlert>\n <PlSplash\n type=\"transparent\"\n :class=\"$style.splash\"\n :loading=\"multipleAlignmentData.loading\"\n >\n <template v-if=\"multipleAlignmentData.data.sequences.length\">\n <MultiSequenceAlignmentView\n :sequence-rows=\"multipleAlignmentData.data.sequences\"\n :label-rows=\"multipleAlignmentData.data.labels\"\n :markup=\"multipleAlignmentData.data.markup\"\n :colorScheme\n :consensus=\"settings.consensus\"\n :seq-logo=\"settings.seqLogo\"\n />\n <Legend\n v-if=\"\n settings.legend\n && settings.colorScheme.type !== 'no-color'\n \"\n :colors=\"colorScheme.colors\"\n />\n </template>\n </PlSplash>\n </template>\n</template>\n\n<style module>\n.splash {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 12px;\n overflow: hidden;\n}\n</style>\n"],"names":["model","_useModel","__props","onBeforeMount","runMigrations","props","settings","ref","defaultSettings","sequenceColumns","reactive","useSequenceColumnsOptions","selectedSequenceColumnIds","computed","value","labelColumns","useLabelColumnsOptions","selectedLabelColumnIds","markupColumns","useMarkupColumnsOptions","multipleAlignmentData","useMultipleAlignmentData","formatNumber","colorSchemeOptions","label","colorScheme","chemicalPropertiesColorMap","_a","id","index","markupColors","watchEffect","markupColumnId","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlMultiSequenceAlignment.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ListOptionNormalized } from '@milaboratories/uikit';\nimport { PlAlert, PlSplash } from '@milaboratories/uikit';\nimport type {\n PColumnPredicate,\n PFrameHandle,\n PlMultiSequenceAlignmentModel,\n PlSelectionModel,\n} from '@platforma-sdk/model';\nimport { computed, onBeforeMount, reactive, ref, watchEffect } from 'vue';\nimport { chemicalPropertiesColorMap } from './chemical-properties';\nimport {\n sequenceLimit,\n useLabelColumnsOptions,\n useMarkupColumnsOptions,\n useMultipleAlignmentData,\n useSequenceColumnsOptions,\n} from './data';\nimport Legend from './Legend.vue';\nimport { markupColors } from './markup';\nimport { runMigrations } from './migrations';\nimport MultiSequenceAlignmentView from './MultiSequenceAlignmentView.vue';\nimport { defaultSettings } from './settings';\nimport Toolbar from './Toolbar.vue';\nimport type { ColorScheme, ColorSchemeOption } from './types';\n\nconst model = defineModel<PlMultiSequenceAlignmentModel>({ default: {} });\n\nonBeforeMount(() => {\n runMigrations(model);\n});\n\nconst props = defineProps<{\n /**\n * Handle to PFrame created using `createPFrameForGraphs`.\n * Should contain all desired sequence and label columns.\n */\n readonly pFrame: PFrameHandle | undefined;\n /**\n * Return true if column should be shown in sequence columns dropdown.\n * By default, all sequence columns are selected.\n */\n readonly sequenceColumnPredicate: PColumnPredicate;\n /**\n * Row selection model (from `PlAgDataTableV2` or `GraphMaker`).\n * If not provided or empty, all rows will be considered selected.\n * Warning: should be forwarded as a field of `reactive` object\n */\n readonly selection?: PlSelectionModel;\n}>();\n\nconst settings = ref(defaultSettings);\n\nconst sequenceColumns = reactive(useSequenceColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnPredicate: props.sequenceColumnPredicate,\n})));\n\nconst selectedSequenceColumnIds = computed({\n get: () => model.value.sequenceColumnIds ?? sequenceColumns.data.defaults,\n set: (value) => {\n model.value.sequenceColumnIds = value;\n },\n});\n\nconst labelColumns = reactive(useLabelColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n})));\n\nconst selectedLabelColumnIds = computed({\n get: () => model.value.labelColumnIds ?? labelColumns.data.defaults,\n set: (value) => {\n model.value.labelColumnIds = value;\n },\n});\n\nconst markupColumns = reactive(useMarkupColumnsOptions(() => ({\n pFrame: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n})));\n\nconst multipleAlignmentData = reactive(useMultipleAlignmentData(() => ({\n pframe: props.pFrame,\n sequenceColumnIds: selectedSequenceColumnIds.value,\n labelColumnIds: selectedLabelColumnIds.value,\n markupColumnId: settings.value.colorScheme.type === 'markup'\n ? settings.value.colorScheme.columnId\n : undefined,\n selection: props.selection,\n})));\n\nconst formatNumber = new Intl.NumberFormat('en').format;\n\nconst colorSchemeOptions = computed<ListOptionNormalized<ColorSchemeOption>[]>(\n () => [\n {\n label: 'Chemical Properties',\n value: { type: 'chemical-properties' },\n },\n {\n label: 'No Color',\n value: { type: 'no-color' },\n },\n ...markupColumns.data.map(({ label, value }) => ({\n label,\n value: {\n type: 'markup' as const,\n columnId: value,\n },\n })),\n ],\n);\n\nconst colorScheme = computed<ColorScheme>(() => {\n switch (settings.value.colorScheme.type) {\n case 'no-color':\n return {\n type: 'no-color',\n colors: {},\n };\n case 'chemical-properties':\n return {\n type: 'chemical-properties',\n colors: chemicalPropertiesColorMap,\n };\n case 'markup':\n return {\n type: 'markup',\n colors: Object.fromEntries(\n Object.entries(\n multipleAlignmentData.data.markup?.labels ?? {},\n ).map(([id, label], index) => [\n id,\n { label, color: markupColors[index % markupColors.length] },\n ]),\n ),\n };\n default:\n throw new Error(`Unknown color scheme ${settings.value.colorScheme}`);\n }\n});\n\nwatchEffect(() => {\n const markupColumnId = settings.value.colorScheme.type === 'markup'\n ? settings.value.colorScheme.columnId\n : undefined;\n if (\n markupColumnId\n && markupColumns.data.every(({ value }) => value !== markupColumnId)\n ) {\n settings.value.colorScheme = { type: 'no-color' };\n }\n});\n\nconst error = computed(() =>\n sequenceColumns.error\n ?? labelColumns.error\n ?? markupColumns.error\n ?? multipleAlignmentData.error,\n);\n</script>\n\n<template>\n <Toolbar\n v-model:sequence-columns=\"selectedSequenceColumnIds\"\n v-model:label-columns=\"selectedLabelColumnIds\"\n v-model:settings=\"settings\"\n :sequence-column-options=\"sequenceColumns.data.options\"\n :label-column-options=\"labelColumns.data.options\"\n :color-scheme-options=\"colorSchemeOptions\"\n />\n <PlAlert v-if=\"error\" type=\"error\">\n {{ error }}\n </PlAlert>\n <PlAlert\n v-else-if=\"\n !multipleAlignmentData.loading\n && multipleAlignmentData.data.sequences.length < 2\n \"\n type=\"warn\"\n icon\n >\n Please select at least one sequence column and two or more rows to run\n alignment\n </PlAlert>\n <template v-else>\n <PlAlert\n v-if=\"multipleAlignmentData.data.exceedsLimit\"\n type=\"warn\"\n icon\n label=\"Visualization is limited\"\n >\n MSA visualization supports {{ formatNumber(2) }} to\n {{ formatNumber(sequenceLimit) }} sequences. Only the first\n {{ formatNumber(sequenceLimit) }} will be displayed.\n </PlAlert>\n <PlSplash\n type=\"transparent\"\n :class=\"$style.splash\"\n :loading=\"multipleAlignmentData.loading\"\n >\n <template v-if=\"multipleAlignmentData.data.sequences.length\">\n <MultiSequenceAlignmentView\n :sequence-rows=\"multipleAlignmentData.data.sequences\"\n :label-rows=\"multipleAlignmentData.data.labels\"\n :markup=\"multipleAlignmentData.data.markup\"\n :colorScheme\n :consensus=\"settings.consensus\"\n :seq-logo=\"settings.seqLogo\"\n />\n <Legend\n v-if=\"\n settings.legend\n && settings.colorScheme.type !== 'no-color'\n \"\n :colors=\"colorScheme.colors\"\n />\n </template>\n </PlSplash>\n </template>\n</template>\n\n<style module>\n.splash {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 12px;\n overflow: hidden;\n}\n</style>\n"],"names":["model","_useModel","__props","onBeforeMount","runMigrations","props","settings","ref","defaultSettings","sequenceColumns","reactive","useSequenceColumnsOptions","selectedSequenceColumnIds","computed","value","labelColumns","useLabelColumnsOptions","selectedLabelColumnIds","markupColumns","useMarkupColumnsOptions","multipleAlignmentData","useMultipleAlignmentData","formatNumber","colorSchemeOptions","label","colorScheme","chemicalPropertiesColorMap","_a","id","index","markupColors","watchEffect","markupColumnId","error"],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ export declare function useMultipleAlignmentData(params: MaybeRefOrGetter<{
|
|
|
29
29
|
sequenceColumnIds: PObjectId[];
|
|
30
30
|
labelColumnIds: PTableColumnId[];
|
|
31
31
|
markupColumnId: PObjectId | undefined;
|
|
32
|
-
linkerColumnPredicate: PColumnPredicate | undefined;
|
|
33
32
|
selection: PlSelectionModel | undefined;
|
|
34
33
|
}>): {
|
|
35
34
|
data: import('vue').ComputedRef<MultipleAlignmentData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAcL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,KAAK,CAAC;AACtE,OAAO,EAAE,KAAK,MAAM,EAAsC,MAAM,UAAU,CAAC;AAK3E,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,uBAAuB,EAAE,gBAAgB,CAAC;CAC3C,CAAC;;;EAgBH;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,SAAS,EAAE,CAAC;CAChC,CAAC;;;EAiBH;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,SAAS,EAAE,CAAC;CAChC,CAAC;;;EAiBH;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,cAAc,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACzC,CAAC;;;;EAmBH;AAqTD,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,EAAE,CAAC;CACf,CAAC"}
|