@platforma-sdk/ui-vue 1.44.15 → 1.45.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.turbo/turbo-build.log +29 -18
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +22 -0
  4. package/dist/AgGridVue/useAgGridOptions.js +3 -2
  5. package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
  6. package/dist/components/PlAgCsvExporter/export-csv.js +10 -9
  7. package/dist/components/PlAgCsvExporter/export-csv.js.map +1 -1
  8. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +8 -7
  9. package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +1 -1
  10. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +10 -9
  11. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +1 -1
  12. package/dist/components/PlAgRowNumHeader.vue.js +3 -2
  13. package/dist/components/PlAgRowNumHeader.vue.js.map +1 -1
  14. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts +4 -4
  15. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  16. package/dist/components/PlAnnotations/components/DynamicForm.vue.d.ts +5 -4
  17. package/dist/components/PlAnnotations/components/DynamicForm.vue2.js +64 -61
  18. package/dist/components/PlAnnotations/components/DynamicForm.vue2.js.map +1 -1
  19. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +13 -12
  20. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +49 -48
  21. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  22. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts +19 -0
  23. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js +10 -0
  24. package/dist/components/PlAnnotations/components/PlAnnotations.vue.js.map +1 -0
  25. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +66 -0
  26. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -0
  27. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js +13 -0
  28. package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js.map +1 -0
  29. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts +6 -13
  30. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +35 -78
  31. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
  32. package/dist/components/PlAnnotations/index.d.ts +1 -0
  33. package/dist/components/PlAnnotations/types.d.ts +12 -6
  34. package/dist/components/PlAnnotations/utils.d.ts +4 -4
  35. package/dist/components/PlAnnotations/utils.js +2 -11
  36. package/dist/components/PlAnnotations/utils.js.map +1 -1
  37. package/dist/components/PlBtnExportArchive/Item.vue.d.ts +6 -0
  38. package/dist/components/PlBtnExportArchive/Item.vue.js +10 -0
  39. package/dist/components/PlBtnExportArchive/Item.vue.js.map +1 -0
  40. package/dist/components/PlBtnExportArchive/Item.vue2.js +43 -0
  41. package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -0
  42. package/dist/components/PlBtnExportArchive/Item.vue3.js +15 -0
  43. package/dist/components/PlBtnExportArchive/Item.vue3.js.map +1 -0
  44. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts +34 -0
  45. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js +10 -0
  46. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js.map +1 -0
  47. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js +154 -0
  48. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -0
  49. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js +13 -0
  50. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js.map +1 -0
  51. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts +10 -0
  52. package/dist/components/PlBtnExportArchive/Summary.vue.js +10 -0
  53. package/dist/components/PlBtnExportArchive/Summary.vue.js.map +1 -0
  54. package/dist/components/PlBtnExportArchive/Summary.vue2.js +42 -0
  55. package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -0
  56. package/dist/components/PlBtnExportArchive/Summary.vue3.js +13 -0
  57. package/dist/components/PlBtnExportArchive/Summary.vue3.js.map +1 -0
  58. package/dist/components/PlBtnExportArchive/index.d.ts +2 -0
  59. package/dist/components/PlBtnExportArchive/types.d.ts +14 -0
  60. package/dist/index.js +44 -40
  61. package/dist/index.js.map +1 -1
  62. package/dist/lib/util/helpers/dist/prettyBytes.js +68 -0
  63. package/dist/lib/util/helpers/dist/prettyBytes.js.map +1 -0
  64. package/dist/lib.d.ts +1 -0
  65. package/package.json +6 -4
  66. package/src/components/PlAgCsvExporter/export-csv.ts +8 -2
  67. package/src/components/PlAnnotations/components/AnnotationsSidebar.vue +2 -2
  68. package/src/components/PlAnnotations/components/DynamicForm.vue +16 -9
  69. package/src/components/PlAnnotations/components/FilterSidebar.vue +23 -13
  70. package/src/components/PlAnnotations/components/PlAnnotations.vue +92 -0
  71. package/src/components/PlAnnotations/components/PlAnnotationsModal.vue +19 -77
  72. package/src/components/PlAnnotations/index.ts +1 -0
  73. package/src/components/PlAnnotations/types.ts +7 -6
  74. package/src/components/PlAnnotations/utils.ts +5 -13
  75. package/src/components/PlBtnExportArchive/Item.vue +66 -0
  76. package/src/components/PlBtnExportArchive/PlBtnExportArchive.vue +235 -0
  77. package/src/components/PlBtnExportArchive/Summary.vue +56 -0
  78. package/src/components/PlBtnExportArchive/index.ts +2 -0
  79. package/src/components/PlBtnExportArchive/types.ts +17 -0
  80. package/src/lib.ts +2 -0
  81. package/dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue.d.ts +0 -18
  82. package/dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue.js +0 -73
  83. package/dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue.js.map +0 -1
  84. package/dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue2.js +0 -5
  85. package/dist/components/PlAnnotations/components/PlAnnotationCreateDialog.vue2.js.map +0 -1
  86. package/src/components/PlAnnotations/components/PlAnnotationCreateDialog.vue +0 -64
@@ -0,0 +1,66 @@
1
+ import { defineComponent as f, mergeModels as v, useModel as C, shallowRef as h, computed as y, effect as b, createBlock as c, openBlock as d, unref as I, normalizeClass as u, withCtx as m, createCommentVNode as g, createVNode as F } from "vue";
2
+ import { isNil as r } from "../../../lib/util/helpers/dist/utils.js";
3
+ import { useConfirm as V, PlSidebarGroup as D } from "@milaboratories/uikit";
4
+ import w from "./AnnotationsSidebar.vue.js";
5
+ import N from "./FilterSidebar.vue.js";
6
+ const U = /* @__PURE__ */ f({
7
+ __name: "PlAnnotations",
8
+ props: /* @__PURE__ */ v({
9
+ columns: {},
10
+ hasSelectedColumns: { type: Boolean },
11
+ getValuesForSelectedColumns: { type: Function },
12
+ onDeleteSchema: { type: Function }
13
+ }, {
14
+ annotation: { required: !0 },
15
+ annotationModifiers: {}
16
+ }),
17
+ emits: ["update:annotation"],
18
+ setup(i) {
19
+ const n = C(i, "annotation"), o = i, t = h(void 0), a = y(() => r(t.value) || r(n.value) ? void 0 : n.value.steps.find((e) => e.id === t.value));
20
+ b(function() {
21
+ t.value === void 0 && n.value.steps.length > 0 && (t.value = n.value.steps[0].id);
22
+ });
23
+ const p = V({
24
+ title: "Reset Schema",
25
+ message: "Are you sure you want to reset the schema? This action cannot be undone.",
26
+ confirmLabel: "Yes, reset",
27
+ cancelLabel: "No, cancel"
28
+ });
29
+ async function S() {
30
+ var e;
31
+ await p() && (t.value = void 0, (e = o.onDeleteSchema) == null || e.call(o));
32
+ }
33
+ return (e, l) => (d(), c(I(D), {
34
+ class: u(e.$style.sidebarGroup)
35
+ }, {
36
+ "item-0": m(() => [
37
+ F(w, {
38
+ annotation: n.value,
39
+ "onUpdate:annotation": l[0] || (l[0] = (s) => n.value = s),
40
+ selectedStepId: t.value,
41
+ "onUpdate:selectedStepId": l[1] || (l[1] = (s) => t.value = s),
42
+ class: u(e.$style.sidebarItem),
43
+ columns: o.columns,
44
+ onDeleteSchema: S
45
+ }, null, 8, ["annotation", "selectedStepId", "class", "columns"])
46
+ ]),
47
+ "item-1": m(() => [
48
+ a.value ? (d(), c(N, {
49
+ key: 0,
50
+ step: a.value,
51
+ "onUpdate:step": l[2] || (l[2] = (s) => a.value = s),
52
+ class: u(e.$style.sidebarItem),
53
+ columns: o.columns,
54
+ selectedStepId: t.value,
55
+ hasSelectedColumns: o.hasSelectedColumns,
56
+ getValuesForSelectedColumns: o.getValuesForSelectedColumns
57
+ }, null, 8, ["step", "class", "columns", "selectedStepId", "hasSelectedColumns", "getValuesForSelectedColumns"])) : g("", !0)
58
+ ]),
59
+ _: 1
60
+ }, 8, ["class"]));
61
+ }
62
+ });
63
+ export {
64
+ U as default
65
+ };
66
+ //# sourceMappingURL=PlAnnotations.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlAnnotations.vue2.js","sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from './FilterSidebar.vue';\nexport type Props = BaseProps & {\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from 'vue';\n\nimport { isNil } from '@milaboratories/helpers';\nimport { PlSidebarGroup, useConfirm } from '@milaboratories/uikit';\n\nimport type { Annotation } from '../types';\nimport AnnotationsSidebar from './AnnotationsSidebar.vue';\nimport FilterSidebar from './FilterSidebar.vue';\n\n// Models\nconst annotation = defineModel<Annotation>('annotation', { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\n\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: 'Reset Schema',\n message: 'Are you sure you want to reset the schema? This action cannot be undone.',\n confirmLabel: 'Yes, reset',\n cancelLabel: 'No, cancel',\n});\n// Actions\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n\n</script>\n\n<template>\n <PlSidebarGroup :class=\"$style.sidebarGroup\">\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style lang=\"scss\" module>\n.modal {\n display: flex;\n}\n\n.sidebarGroup {\n width: 100%;\n height: 100%;\n}\n\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["annotation","_useModel","props","__props","selectedStepId","shallowRef","selectedStep","computed","isNil","step","effect","confirmResetSchema","useConfirm","handleDeleteSchema","_a"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAaC,KAAwB,YAAgC,GAErEC,IAAQC,GAERC,IAAiBC,EAA+B,MAAS,GACzDC,IAAeC,EAAS,MACrBC,EAAMJ,EAAe,KAAK,KAAKI,EAAMR,EAAW,KAAK,IACxD,SACAA,EAAW,MAAM,MAAM,KAAK,CAACS,MAASA,EAAK,OAAOL,EAAe,KAAK,CAC3E;AAGD,IAAAM,EAAO,WAA4B;AACjC,MAAIN,EAAe,UAAU,UAAaJ,EAAW,MAAM,MAAM,SAAS,MACxEI,EAAe,QAAQJ,EAAW,MAAM,MAAM,CAAC,EAAE;AAAA,IAErD,CAAC;AAED,UAAMW,IAAqBC,EAAW;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,aAAa;AAAA,IAAA,CACd;AAED,mBAAeC,IAAqB;;AAClC,MAAI,MAAMF,QACRP,EAAe,QAAQ,SACvBU,IAAAZ,EAAM,mBAAN,QAAAY,EAAA,KAAAZ;AAAA,IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._modal_1634u_1{display:flex}._sidebarGroup_1634u_5,._sidebarItem_1634u_10{width:100%;height:100%}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})();
2
+ const e = "_modal_1634u_1", s = "_sidebarGroup_1634u_5", a = "_sidebarItem_1634u_10", o = {
3
+ modal: e,
4
+ sidebarGroup: s,
5
+ sidebarItem: a
6
+ };
7
+ export {
8
+ o as default,
9
+ e as modal,
10
+ s as sidebarGroup,
11
+ a as sidebarItem
12
+ };
13
+ //# sourceMappingURL=PlAnnotations.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlAnnotations.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,22 +1,15 @@
1
- import { AnnotationScriptUi, PObjectId } from '@platforma-sdk/model';
2
- import { SimplifiedUniversalPColumnEntry } from '../types';
3
- type __VLS_Props = {
4
- columns: SimplifiedUniversalPColumnEntry[];
5
- hasSelectedColumns: boolean;
6
- getValuesForSelectedColumns: () => Promise<undefined | {
7
- columnId: PObjectId;
8
- values: string[];
9
- }>;
10
- };
1
+ import { Annotation } from '../types';
2
+ import { Props } from './PlAnnotations.vue';
3
+ type __VLS_Props = Props;
11
4
  type __VLS_PublicProps = {
12
- 'annotation': AnnotationScriptUi;
5
+ 'annotation': Annotation;
13
6
  'opened': boolean;
14
7
  } & __VLS_Props;
15
8
  declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
- "update:annotation": (value: AnnotationScriptUi) => any;
9
+ "update:annotation": (value: Annotation) => any;
17
10
  "update:opened": (value: boolean) => any;
18
11
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
- "onUpdate:annotation"?: ((value: AnnotationScriptUi) => any) | undefined;
12
+ "onUpdate:annotation"?: ((value: Annotation) => any) | undefined;
20
13
  "onUpdate:opened"?: ((value: boolean) => any) | undefined;
21
14
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
15
  export default _default;
@@ -1,94 +1,51 @@
1
- import { defineComponent as I, mergeModels as F, useModel as S, shallowRef as M, computed as u, effect as A, createElementBlock as w, openBlock as C, Fragment as B, createVNode as d, unref as y, normalizeClass as i, withCtx as c, createBlock as D, createCommentVNode as U } from "vue";
2
- import { isNil as g } from "../../../lib/util/helpers/dist/utils.js";
3
- import { useConfirm as $, PlPureSlideModal as k, PlSidebarGroup as N } from "@milaboratories/uikit";
4
- import { getDefaultAnnotationScript as P } from "../utils.js";
5
- import R from "./AnnotationsSidebar.vue.js";
6
- import q from "./FilterSidebar.vue.js";
7
- import G from "./PlAnnotationCreateDialog.vue.js";
8
- const H = /* @__PURE__ */ I({
1
+ import { defineComponent as c, mergeModels as r, useModel as d, shallowRef as p, effect as f, createBlock as S, openBlock as v, unref as h, normalizeClass as i, withCtx as C, createVNode as V } from "vue";
2
+ import { PlPureSlideModal as y } from "@milaboratories/uikit";
3
+ import g from "./PlAnnotations.vue.js";
4
+ const B = /* @__PURE__ */ c({
9
5
  __name: "PlAnnotationsModal",
10
- props: /* @__PURE__ */ F({
6
+ props: /* @__PURE__ */ r({
11
7
  columns: {},
12
8
  hasSelectedColumns: { type: Boolean },
13
- getValuesForSelectedColumns: { type: Function }
9
+ getValuesForSelectedColumns: { type: Function },
10
+ onDeleteSchema: { type: Function }
14
11
  }, {
15
- annotation: { required: !0, default: P },
12
+ annotation: { required: !0 },
16
13
  annotationModifiers: {},
17
14
  opened: { type: Boolean, required: !0 },
18
15
  openedModifiers: {}
19
16
  }),
20
17
  emits: ["update:annotation", "update:opened"],
21
- setup(m) {
22
- const e = S(m, "annotation"), n = S(m, "opened"), s = m, a = M(void 0), r = u(() => g(a.value) || g(e.value) ? void 0 : e.value.steps.find((t) => t.id === a.value)), p = u(() => e.value.isCreated === !0), v = u({
23
- get: () => !p.value && n.value,
24
- set: (t) => n.value = t
25
- }), f = u({
26
- get: () => p.value && n.value,
27
- set: (t) => n.value = t
18
+ setup(l) {
19
+ const t = d(l, "annotation"), a = d(l, "opened"), e = l, u = p(void 0);
20
+ f(function() {
21
+ u.value === void 0 && t.value.steps.length > 0 && (u.value = t.value.steps[0].id);
28
22
  });
29
- A(function() {
30
- a.value === void 0 && e.value.steps.length > 0 && (a.value = e.value.steps[0].id);
31
- });
32
- const V = $({
33
- title: "Reset Schema",
34
- message: "Are you sure you want to reset the schema? This action cannot be undone.",
35
- confirmLabel: "Yes, reset",
36
- cancelLabel: "No, cancel"
37
- });
38
- function b(t) {
39
- e.value.isCreated = !0, e.value.mode = t.type, e.value.title = t.name, e.value.steps = [];
40
- }
41
- async function h() {
42
- await V() && (e.value.isCreated = !1, e.value.title = "", e.value.mode = "byClonotype", e.value.steps = [], n.value = !1, a.value = void 0);
23
+ async function m() {
24
+ var o;
25
+ a.value = !1, (o = e.onDeleteSchema) == null || o.call(e);
43
26
  }
44
- return (t, l) => (C(), w(B, null, [
45
- d(G, {
46
- modelValue: v.value,
47
- "onUpdate:modelValue": l[0] || (l[0] = (o) => v.value = o),
48
- onSubmit: b
49
- }, null, 8, ["modelValue"]),
50
- d(y(k), {
51
- modelValue: f.value,
52
- "onUpdate:modelValue": l[4] || (l[4] = (o) => f.value = o),
53
- class: i(t.$style.modal),
54
- width: "768px"
55
- }, {
56
- default: c(() => [
57
- d(y(N), {
58
- class: i(t.$style.sidebarGroup)
59
- }, {
60
- "item-0": c(() => [
61
- d(R, {
62
- annotation: e.value,
63
- "onUpdate:annotation": l[1] || (l[1] = (o) => e.value = o),
64
- selectedStepId: a.value,
65
- "onUpdate:selectedStepId": l[2] || (l[2] = (o) => a.value = o),
66
- class: i(t.$style.sidebarItem),
67
- columns: s.columns,
68
- onDeleteSchema: h
69
- }, null, 8, ["annotation", "selectedStepId", "class", "columns"])
70
- ]),
71
- "item-1": c(() => [
72
- r.value ? (C(), D(q, {
73
- key: 0,
74
- step: r.value,
75
- "onUpdate:step": l[3] || (l[3] = (o) => r.value = o),
76
- class: i(t.$style.sidebarItem),
77
- columns: s.columns,
78
- selectedStepId: a.value,
79
- hasSelectedColumns: s.hasSelectedColumns,
80
- getValuesForSelectedColumns: s.getValuesForSelectedColumns
81
- }, null, 8, ["step", "class", "columns", "selectedStepId", "hasSelectedColumns", "getValuesForSelectedColumns"])) : U("", !0)
82
- ]),
83
- _: 1
84
- }, 8, ["class"])
85
- ]),
86
- _: 1
87
- }, 8, ["modelValue", "class"])
88
- ], 64));
27
+ return (o, n) => (v(), S(h(y), {
28
+ modelValue: a.value,
29
+ "onUpdate:modelValue": n[1] || (n[1] = (s) => a.value = s),
30
+ class: i(o.$style.modal),
31
+ width: "768px"
32
+ }, {
33
+ default: C(() => [
34
+ V(g, {
35
+ annotation: t.value,
36
+ "onUpdate:annotation": n[0] || (n[0] = (s) => t.value = s),
37
+ class: i(o.$style.sidebarItem),
38
+ columns: e.columns,
39
+ "has-selected-columns": e.hasSelectedColumns,
40
+ getValuesForSelectedColumns: e.getValuesForSelectedColumns,
41
+ onDeleteSchema: m
42
+ }, null, 8, ["annotation", "class", "columns", "has-selected-columns", "getValuesForSelectedColumns"])
43
+ ]),
44
+ _: 1
45
+ }, 8, ["modelValue", "class"]));
89
46
  }
90
47
  });
91
48
  export {
92
- H as default
49
+ B as default
93
50
  };
94
51
  //# sourceMappingURL=PlAnnotationsModal.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAnnotationsModal.vue2.js","sources":["../../../../src/components/PlAnnotations/components/PlAnnotationsModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { isNil } from '@milaboratories/helpers';\nimport { PlPureSlideModal, PlSidebarGroup, useConfirm } from '@milaboratories/uikit';\nimport type { AnnotationScriptUi, PObjectId } from '@platforma-sdk/model';\nimport { computed, effect, shallowRef } from 'vue';\nimport type { SimplifiedUniversalPColumnEntry } from '../types';\nimport { getDefaultAnnotationScript } from '../utils';\nimport AnnotationsSidebar from './AnnotationsSidebar.vue';\nimport FilterSidebar from './FilterSidebar.vue';\nimport PlAnnotationCreateDialog from './PlAnnotationCreateDialog.vue';\n\n// Models\nconst annotation = defineModel<AnnotationScriptUi>('annotation', { required: true, default: getDefaultAnnotationScript });\nconst opened = defineModel<boolean>('opened', { required: true });\n// Props\nconst props = defineProps<{\n columns: SimplifiedUniversalPColumnEntry[];\n hasSelectedColumns: boolean;\n getValuesForSelectedColumns: () => Promise<undefined | { columnId: PObjectId; values: string[] }>;\n}>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\nconst hasAnnotation = computed(() => annotation.value.isCreated === true);\n\nconst openedDialog = computed({\n get: () => !hasAnnotation.value && opened.value,\n set: (value: boolean) => (opened.value = value),\n});\nconst openedModal = computed({\n get: () => hasAnnotation.value && opened.value,\n set: (value: boolean) => (opened.value = value),\n});\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: 'Reset Schema',\n message: 'Are you sure you want to reset the schema? This action cannot be undone.',\n confirmLabel: 'Yes, reset',\n cancelLabel: 'No, cancel',\n});\n// Actions\nfunction handleCreateAnnotation(props: { type: 'byClonotype' | 'bySampleAndClonotype'; name: string }) {\n annotation.value.isCreated = true;\n annotation.value.mode = props.type;\n annotation.value.title = props.name;\n annotation.value.steps = [];\n}\n\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n annotation.value.isCreated = false;\n annotation.value.title = '';\n annotation.value.mode = 'byClonotype';\n annotation.value.steps = [];\n opened.value = false;\n selectedStepId.value = undefined;\n }\n}\n\n</script>\n\n<template>\n <PlAnnotationCreateDialog v-model=\"openedDialog\" @submit=\"handleCreateAnnotation\"/>\n <PlPureSlideModal v-model=\"openedModal\" :class=\"$style.modal\" width=\"768px\">\n <PlSidebarGroup :class=\"$style.sidebarGroup\">\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n </PlPureSlideModal>\n</template>\n\n<style lang=\"scss\" module>\n.modal {\n display: flex;\n}\n\n.sidebarGroup {\n width: 100%;\n height: 100%;\n}\n\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["annotation","_useModel","__props","opened","props","selectedStepId","shallowRef","selectedStep","computed","isNil","step","hasAnnotation","openedDialog","value","openedModal","effect","confirmResetSchema","useConfirm","handleCreateAnnotation","handleDeleteSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,UAAMA,IAAaC,EAA+BC,GAAC,YAAqE,GAClHC,IAASF,EAAoBC,GAAC,QAA4B,GAE1DE,IAAQF,GAMRG,IAAiBC,EAA+B,MAAS,GACzDC,IAAeC,EAAS,MACrBC,EAAMJ,EAAe,KAAK,KAAKI,EAAMT,EAAW,KAAK,IACxD,SACAA,EAAW,MAAM,MAAM,KAAK,CAACU,MAASA,EAAK,OAAOL,EAAe,KAAK,CAC3E,GACKM,IAAgBH,EAAS,MAAMR,EAAW,MAAM,cAAc,EAAI,GAElEY,IAAeJ,EAAS;AAAA,MAC5B,KAAK,MAAM,CAACG,EAAc,SAASR,EAAO;AAAA,MAC1C,KAAK,CAACU,MAAoBV,EAAO,QAAQU;AAAA,IAAA,CAC1C,GACKC,IAAcN,EAAS;AAAA,MAC3B,KAAK,MAAMG,EAAc,SAASR,EAAO;AAAA,MACzC,KAAK,CAACU,MAAoBV,EAAO,QAAQU;AAAA,IAAA,CAC1C;AAED,IAAAE,EAAO,WAA4B;AACjC,MAAIV,EAAe,UAAU,UAAaL,EAAW,MAAM,MAAM,SAAS,MACxEK,EAAe,QAAQL,EAAW,MAAM,MAAM,CAAC,EAAE;AAAA,IAErD,CAAC;AAED,UAAMgB,IAAqBC,EAAW;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,aAAa;AAAA,IAAA,CACd;AAED,aAASC,EAAuBd,GAAuE;AACrG,MAAAJ,EAAW,MAAM,YAAY,IAC7BA,EAAW,MAAM,OAAOI,EAAM,MAC9BJ,EAAW,MAAM,QAAQI,EAAM,MAC/BJ,EAAW,MAAM,QAAQ,CAAA;AAAA,IAC3B;AAEA,mBAAemB,IAAqB;AAClC,MAAI,MAAMH,QACRhB,EAAW,MAAM,YAAY,IAC7BA,EAAW,MAAM,QAAQ,IACzBA,EAAW,MAAM,OAAO,eACxBA,EAAW,MAAM,QAAQ,CAAA,GACzBG,EAAO,QAAQ,IACfE,EAAe,QAAQ;AAAA,IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlAnnotationsModal.vue2.js","sources":["../../../../src/components/PlAnnotations/components/PlAnnotationsModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlPureSlideModal } from '@milaboratories/uikit';\nimport { effect, shallowRef } from 'vue';\n\nimport type { Annotation } from '../types';\nimport type { Props } from './PlAnnotations.vue';\nimport PlAnnotations from './PlAnnotations.vue';\n\n// Models\nconst annotation = defineModel<Annotation>('annotation', { required: true });\nconst opened = defineModel<boolean>('opened', { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Actions\nasync function handleDeleteSchema() {\n opened.value = false;\n props.onDeleteSchema?.();\n}\n</script>\n\n<template>\n <PlPureSlideModal v-model=\"opened\" :class=\"$style.modal\" width=\"768px\">\n <PlAnnotations\n v-model:annotation=\"annotation\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :has-selected-columns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </PlPureSlideModal>\n</template>\n\n<style lang=\"scss\" module>\n.modal {\n display: flex;\n}\n\n.sidebarGroup {\n width: 100%;\n height: 100%;\n}\n\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["annotation","_useModel","opened","__props","props","selectedStepId","shallowRef","effect","handleDeleteSchema","_a"],"mappings":";;;;;;;;;;;;;;;;;;AASA,UAAMA,IAAaC,KAAwB,YAAgC,GACrEC,IAASD,EAAoBE,GAAC,QAA4B,GAE1DC,IAAQD,GAERE,IAAiBC,EAA+B,MAAS;AAE/D,IAAAC,EAAO,WAA4B;AACjC,MAAIF,EAAe,UAAU,UAAaL,EAAW,MAAM,MAAM,SAAS,MACxEK,EAAe,QAAQL,EAAW,MAAM,MAAM,CAAC,EAAE;AAAA,IAErD,CAAC;AAED,mBAAeQ,IAAqB;;AAClC,MAAAN,EAAO,QAAQ,KACfO,IAAAL,EAAM,mBAAN,QAAAK,EAAA,KAAAL;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1,2 @@
1
+ export { default as PlAnnotations } from './components/PlAnnotations.vue';
1
2
  export { default as PlAnnotationsModal } from './components/PlAnnotationsModal.vue';
@@ -1,7 +1,13 @@
1
- import { PColumnSpec, SUniversalPColumnId } from '@platforma-sdk/model';
2
- export type SimplifiedPColumnSpec = Pick<PColumnSpec, 'valueType' | 'annotations'>;
3
- export type SimplifiedUniversalPColumnEntry = {
4
- id: SUniversalPColumnId;
5
- label: string;
6
- obj: SimplifiedPColumnSpec;
1
+ import { FilterSpec as _FilterSpec, AnnotationSpecUi, FilterSpecLeaf, FilterSpecUi } from '@platforma-sdk/model';
2
+ export type { FilterSpecType } from '@platforma-sdk/model';
3
+ export type FilterSpec = _FilterSpec<FilterSpecLeaf, {
4
+ id?: number;
5
+ name?: string;
6
+ isExpanded?: boolean;
7
+ }>;
8
+ export type Filter = FilterSpecUi<Extract<FilterSpec, {
9
+ type: 'and' | 'or';
10
+ }>> & {
11
+ id: number;
7
12
  };
13
+ export type Annotation = AnnotationSpecUi<Filter>;
@@ -1,5 +1,5 @@
1
- import { AnnotationScriptUi, FilterUi, TypeFieldRecord } from '@platforma-sdk/model';
2
- export declare function getDefaultAnnotationScript(): AnnotationScriptUi;
3
- export declare function createDefaultFilterMetadata<T extends Extract<FilterUi, {
1
+ import { FilterSpecTypeFieldRecord } from '@milaboratories/uikit';
2
+ import { FilterSpec } from './types';
3
+ export declare function createDefaultFilterMetadata<T extends Extract<FilterSpec, {
4
4
  column: unknown;
5
- }>>(): TypeFieldRecord<T>;
5
+ }>>(): FilterSpecTypeFieldRecord<T>;
@@ -1,12 +1,4 @@
1
1
  function e() {
2
- return {
3
- isCreated: !1,
4
- title: "My Annotation",
5
- mode: "byClonotype",
6
- steps: []
7
- };
8
- }
9
- function t() {
10
2
  return {
11
3
  column: {
12
4
  label: "Column",
@@ -16,14 +8,13 @@ function t() {
16
8
  },
17
9
  type: {
18
10
  label: "Predicate",
19
- fieldType: "FilterUiType",
11
+ fieldType: "FilterType",
20
12
  defaultValue: () => {
21
13
  }
22
14
  }
23
15
  };
24
16
  }
25
17
  export {
26
- t as createDefaultFilterMetadata,
27
- e as getDefaultAnnotationScript
18
+ e as createDefaultFilterMetadata
28
19
  };
29
20
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/PlAnnotations/utils.ts"],"sourcesContent":["import type { AnnotationScriptUi, FilterUi, TypeFieldRecord } from '@platforma-sdk/model';\n\nexport function getDefaultAnnotationScript(): AnnotationScriptUi {\n return {\n isCreated: false,\n title: 'My Annotation',\n mode: 'byClonotype',\n steps: [],\n };\n}\n\nexport function createDefaultFilterMetadata<T extends Extract<FilterUi, { column: unknown }>>(): TypeFieldRecord<T> {\n return {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterUiType',\n defaultValue: () => undefined,\n },\n } as TypeFieldRecord<T>;\n};\n"],"names":["getDefaultAnnotationScript","createDefaultFilterMetadata"],"mappings":"AAEO,SAASA,IAAiD;AAC/D,SAAO;AAAA,IACL,WAAW;AAAA,IACX,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO,CAAA;AAAA,EAAC;AAEZ;AAEO,SAASC,IAAoG;AAClH,SAAO;AAAA,IACL,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc,MAAA;AAAA;AAAA,IAAM;AAAA,IAEtB,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc,MAAA;AAAA;AAAA,IAAM;AAAA,EACtB;AAEJ;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/PlAnnotations/utils.ts"],"sourcesContent":["import type { FilterSpecTypeFieldRecord } from '@milaboratories/uikit';\nimport type { FilterSpec } from './types';\n\nexport function createDefaultFilterMetadata<T extends Extract<FilterSpec, { column: unknown }>>(): FilterSpecTypeFieldRecord<T> {\n return {\n column: {\n label: 'Column',\n fieldType: 'SUniversalPColumnId',\n defaultValue: () => undefined,\n },\n type: {\n label: 'Predicate',\n fieldType: 'FilterType',\n defaultValue: () => undefined,\n },\n } as FilterSpecTypeFieldRecord<T>;\n};\n"],"names":["createDefaultFilterMetadata"],"mappings":"AAGO,SAASA,IAAgH;AAC9H,SAAO;AAAA,IACL,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc,MAAA;AAAA;AAAA,IAAM;AAAA,IAEtB,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc,MAAA;AAAA;AAAA,IAAM;AAAA,EACtB;AAEJ;"}
@@ -0,0 +1,6 @@
1
+ import { ExportItem } from './types';
2
+ type __VLS_Props = {
3
+ item: ExportItem;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import s from "./Item.vue2.js";
2
+ import o from "./Item.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = {
5
+ $style: o
6
+ }, f = /* @__PURE__ */ t(s, [["__cssModules", e]]);
7
+ export {
8
+ f as default
9
+ };
10
+ //# sourceMappingURL=Item.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,43 @@
1
+ import { defineComponent as o, createElementBlock as t, openBlock as i, normalizeClass as s, createElementVNode as l, toDisplayString as r, unref as a, createTextVNode as p } from "vue";
2
+ import { prettyBytes as m } from "../../lib/util/helpers/dist/prettyBytes.js";
3
+ const f = /* @__PURE__ */ o({
4
+ __name: "Item",
5
+ props: {
6
+ item: {}
7
+ },
8
+ setup(d) {
9
+ return (e, n) => (i(), t("div", {
10
+ class: s(e.$style.item)
11
+ }, [
12
+ l("div", {
13
+ class: s(e.$style.name)
14
+ }, r(e.item.fileName), 3),
15
+ e.item.status === "in-progress" ? (i(), t("div", {
16
+ key: 0,
17
+ class: s(e.$style.details)
18
+ }, [
19
+ l("span", null, r(a(m)(e.item.current, {})), 1),
20
+ n[0] || (n[0] = l("span", null, "/", -1)),
21
+ l("span", null, r(a(m)(e.item.size, {})), 1)
22
+ ], 2)) : e.item.status === "completed" ? (i(), t("div", {
23
+ key: 1,
24
+ class: s(e.$style.details)
25
+ }, [
26
+ n[1] || (n[1] = p(" Done ")),
27
+ l("span", null, r(a(m)(e.item.size, {})), 1)
28
+ ], 2)) : e.item.status === "error" ? (i(), t("div", {
29
+ key: 2,
30
+ class: s(e.$style.error)
31
+ }, [
32
+ l("span", null, r(e.item.error), 1)
33
+ ], 2)) : (i(), t("div", {
34
+ key: 3,
35
+ class: s(e.$style.details)
36
+ }, " Pending ", 2))
37
+ ], 2));
38
+ }
39
+ });
40
+ export {
41
+ f as default
42
+ };
43
+ //# sourceMappingURL=Item.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._item_1m4gx_2{display:flex;flex-direction:column;margin-bottom:8px;overflow:hidden;--name-font-size: 12px;--details-font-size: 10px}._name_1m4gx_10{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--name-font-size);font-weight:600}._details_1m4gx_18{font-size:var(--details-font-size);font-weight:400;color:#fff9}._error_1m4gx_24{font-size:var(--details-font-size);font-weight:400;color:var(--txt-error)}._error_1m4gx_24 span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ const e = "_item_1m4gx_2", t = "_name_1m4gx_10", _ = "_details_1m4gx_18", m = "_error_1m4gx_24", r = {
3
+ item: e,
4
+ name: t,
5
+ details: _,
6
+ error: m
7
+ };
8
+ export {
9
+ r as default,
10
+ _ as details,
11
+ m as error,
12
+ e as item,
13
+ t as name
14
+ };
15
+ //# sourceMappingURL=Item.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,34 @@
1
+ import { FileExportEntry } from './types';
2
+ type FilePickerAcceptType = {
3
+ description?: string;
4
+ accept?: Record<string, string[]>;
5
+ };
6
+ type __VLS_Props = {
7
+ fileExports?: FileExportEntry[];
8
+ suggestedFileName?: string;
9
+ disabled?: boolean;
10
+ filePickerTypes?: FilePickerAcceptType[];
11
+ strategy?: 'parallel';
12
+ debugFn?: (fileName: string) => Promise<void>;
13
+ };
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ default?(_: {}): any;
18
+ };
19
+ refs: {
20
+ progressesRef: HTMLDivElement;
21
+ };
22
+ rootEl: any;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
26
+ progressesRef: HTMLDivElement;
27
+ }, any>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,10 @@
1
+ import o from "./PlBtnExportArchive.vue2.js";
2
+ import s from "./PlBtnExportArchive.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const r = {
5
+ $style: s
6
+ }, f = /* @__PURE__ */ t(o, [["__cssModules", r]]);
7
+ export {
8
+ f as default
9
+ };
10
+ //# sourceMappingURL=PlBtnExportArchive.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlBtnExportArchive.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}