@milaboratories/graph-maker 1.1.152 → 1.1.153
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/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.js +38 -36
- package/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.d.ts.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.js +15 -13
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DendroForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/DataMappingForm/DendroForm.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"DendroForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/DataMappingForm/DendroForm.vue"],"names":[],"mappings":";AAizBA,wBAMG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as j, toRef as J, computed as
|
|
1
|
+
import { defineComponent as j, toRef as J, computed as s, ref as k, watch as f, createBlock as D, openBlock as u, withCtx as E, createElementBlock as d, Fragment as h, renderList as y, createCommentVNode as C, createVNode as V, mergeProps as Q, toHandlers as Y, createElementVNode as v, unref as L } from "vue";
|
|
2
2
|
import { PlDropdown as Z } from "@platforma-sdk/ui-vue";
|
|
3
3
|
import ee from "./Layout/FormLayout.vue.js";
|
|
4
4
|
import { useStore as te } from "../../store.js";
|
|
5
|
-
import { getAllInputsOptions as oe, getFreeOptions as ae, getChipInfo as le, hasInputError as ne, getErrorForPlDropdown as re, toSimpleSingle as ue, toSimpleMulti as
|
|
5
|
+
import { getAllInputsOptions as oe, getFreeOptions as ae, getChipInfo as le, hasInputError as ne, getErrorForPlDropdown as re, toSimpleSingle as ue, toSimpleMulti as se, toFiltersMulti as ie } from "./utils.js";
|
|
6
6
|
import { DEFAULT_DOT_SHAPE as de } from "../../dataBindAes.js";
|
|
7
7
|
import { DEFAULT_BLACK as B } from "../../constantsAesthetic.js";
|
|
8
8
|
import q from "../../components/DragAndDrop/DndChip.vue.js";
|
|
@@ -20,28 +20,28 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
20
20
|
}, Le = /* @__PURE__ */ j({
|
|
21
21
|
__name: "DendroForm",
|
|
22
22
|
setup(ge) {
|
|
23
|
-
const o = te(),
|
|
23
|
+
const o = te(), S = o.value.reactive.optionsState, g = J(o.value.reactive, "optionsState"), n = s(
|
|
24
24
|
() => o.value.inputGuide.value
|
|
25
|
-
), x =
|
|
25
|
+
), x = s(() => o.value.uniqueValuesData.value);
|
|
26
26
|
function O(e) {
|
|
27
27
|
return ue(
|
|
28
|
-
|
|
28
|
+
g,
|
|
29
29
|
e,
|
|
30
30
|
o.value.controller,
|
|
31
31
|
o.value.columnsDataStore
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
34
|
function r(e) {
|
|
35
|
-
return
|
|
36
|
-
|
|
35
|
+
return se(
|
|
36
|
+
g,
|
|
37
37
|
e,
|
|
38
38
|
o.value.controller,
|
|
39
39
|
o.value.columnsDataStore
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
function A(e) {
|
|
43
|
-
return
|
|
44
|
-
|
|
43
|
+
return ie(
|
|
44
|
+
g,
|
|
45
45
|
e,
|
|
46
46
|
o.value.controller,
|
|
47
47
|
o.value.columnsDataStore,
|
|
@@ -80,14 +80,14 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
80
80
|
o.value.reactive.layersSettings.dendro.lineColor = e.length ? { type: "lineColor", value: e[0] } : B;
|
|
81
81
|
}
|
|
82
82
|
);
|
|
83
|
-
const p =
|
|
84
|
-
|
|
83
|
+
const p = s(() => oe(
|
|
84
|
+
S,
|
|
85
85
|
n
|
|
86
|
-
)),
|
|
87
|
-
() => ae(n,
|
|
88
|
-
), I =
|
|
89
|
-
() =>
|
|
90
|
-
),
|
|
86
|
+
)), _ = s(
|
|
87
|
+
() => ae(n, b)
|
|
88
|
+
), I = s(
|
|
89
|
+
() => _.value.filter((e) => e.info.kind === "axis")
|
|
90
|
+
), b = [
|
|
91
91
|
"height",
|
|
92
92
|
"tableContent",
|
|
93
93
|
"labels",
|
|
@@ -111,19 +111,21 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
111
111
|
nodeColor: "Node color",
|
|
112
112
|
nodeSize: "Node size",
|
|
113
113
|
lineColor: "Line color"
|
|
114
|
-
},
|
|
114
|
+
}, i = k(null), m = s(() => {
|
|
115
115
|
const e = /* @__PURE__ */ new Set();
|
|
116
|
-
return
|
|
116
|
+
return b.forEach((t) => {
|
|
117
117
|
p.value[t].forEach((a) => {
|
|
118
118
|
e.add(a.value);
|
|
119
|
+
}), S.components[t].selectorStates.forEach((a) => {
|
|
120
|
+
e.add(a.selectedSource);
|
|
119
121
|
});
|
|
120
|
-
}), le(n.value,
|
|
122
|
+
}), le(n.value, S.components, x.value, [...e]);
|
|
121
123
|
});
|
|
122
124
|
function G(e) {
|
|
123
125
|
l.value[e.id] = [
|
|
124
126
|
...l.value[e.id],
|
|
125
127
|
e.draggedId
|
|
126
|
-
],
|
|
128
|
+
], i.value = null;
|
|
127
129
|
}
|
|
128
130
|
function H(e, t) {
|
|
129
131
|
l.value[t] = e;
|
|
@@ -135,7 +137,7 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
135
137
|
return n.value.components[e].stateConsistency;
|
|
136
138
|
}
|
|
137
139
|
function U(e) {
|
|
138
|
-
return !n.value.readyData || p.value[e].length === 0 ||
|
|
140
|
+
return !n.value.readyData || p.value[e].length === 0 || i.value !== null && !m.value[i.value].availableBasketIds.has(e);
|
|
139
141
|
}
|
|
140
142
|
async function z(e, t) {
|
|
141
143
|
return o.value.columnsDataStore ? (await o.value.controller.getUniqueSourceValuesWithLabels(o.value.columnsDataStore, n.value, e, w, t)).values : Promise.resolve([]);
|
|
@@ -149,8 +151,8 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
149
151
|
const t = await o.value.controller.getUniqueSourceValuesWithLabels(o.value.columnsDataStore, n.value, e, w);
|
|
150
152
|
return t.overflow ? null : t.values;
|
|
151
153
|
}
|
|
152
|
-
const K =
|
|
153
|
-
() =>
|
|
154
|
+
const K = s(
|
|
155
|
+
() => b.map((e) => {
|
|
154
156
|
var c;
|
|
155
157
|
const t = n.value.components[e];
|
|
156
158
|
return {
|
|
@@ -163,7 +165,7 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
163
165
|
disabled: U(e),
|
|
164
166
|
readonly: ((c = o.value.readonlyInputs) == null ? void 0 : c.includes(e)) ?? !1,
|
|
165
167
|
consistency: P(e),
|
|
166
|
-
draggedId:
|
|
168
|
+
draggedId: i.value,
|
|
167
169
|
droppedIds: l.value[e],
|
|
168
170
|
info: m.value,
|
|
169
171
|
searchFn: z,
|
|
@@ -181,7 +183,7 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
181
183
|
return e === "heatmapAxis" || e === "heatmapGroup" ? l.value.heatmapAnnotation !== null : !0;
|
|
182
184
|
}
|
|
183
185
|
function F() {
|
|
184
|
-
|
|
186
|
+
i.value = null;
|
|
185
187
|
}
|
|
186
188
|
["value"].forEach((e) => {
|
|
187
189
|
f(
|
|
@@ -197,11 +199,11 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
197
199
|
{ immediate: !0 }
|
|
198
200
|
);
|
|
199
201
|
});
|
|
200
|
-
const $ =
|
|
202
|
+
const $ = s(() => {
|
|
201
203
|
var e;
|
|
202
204
|
return ((e = o.value.readonlyInputs) == null ? void 0 : e.includes("value")) ?? !1;
|
|
203
205
|
});
|
|
204
|
-
return (e, t) => (u(),
|
|
206
|
+
return (e, t) => (u(), D(ee, null, {
|
|
205
207
|
dataInputs: E(() => [
|
|
206
208
|
v("div", ve, [
|
|
207
209
|
V(L(Z), {
|
|
@@ -216,33 +218,33 @@ const ve = { class: "data-form-input-item" }, pe = {
|
|
|
216
218
|
I.value.length > 0 ? (u(), d("div", pe, [
|
|
217
219
|
t[3] || (t[3] = v("div", { class: "title" }, "Drag to build the chart", -1)),
|
|
218
220
|
v("div", me, [
|
|
219
|
-
(u(!0), d(h, null,
|
|
221
|
+
(u(!0), d(h, null, y(I.value, ({ id: a }) => (u(), D(q, {
|
|
220
222
|
key: a,
|
|
221
223
|
info: m.value[a],
|
|
222
|
-
onDragstart: t[1] || (t[1] = (c) =>
|
|
224
|
+
onDragstart: t[1] || (t[1] = (c) => i.value = c),
|
|
223
225
|
onDragend: F
|
|
224
226
|
}, null, 8, ["info"]))), 128))
|
|
225
227
|
])
|
|
226
|
-
])) :
|
|
227
|
-
|
|
228
|
+
])) : C("", !0),
|
|
229
|
+
_.value.length > 0 ? (u(), d("div", fe, [
|
|
228
230
|
t[4] || (t[4] = v("div", { class: "title" }, "Metadata", -1)),
|
|
229
231
|
v("div", he, [
|
|
230
|
-
(u(!0), d(h, null,
|
|
232
|
+
(u(!0), d(h, null, y(_.value, ({ id: a }) => (u(), D(q, {
|
|
231
233
|
key: a,
|
|
232
234
|
info: m.value[a],
|
|
233
|
-
onDragstart: t[2] || (t[2] = (c) =>
|
|
235
|
+
onDragstart: t[2] || (t[2] = (c) => i.value = c),
|
|
234
236
|
onDragend: F
|
|
235
237
|
}, null, 8, ["info"]))), 128))
|
|
236
238
|
])
|
|
237
|
-
])) :
|
|
239
|
+
])) : C("", !0)
|
|
238
240
|
]),
|
|
239
241
|
chartVar: E(() => [
|
|
240
|
-
(u(!0), d(h, null,
|
|
242
|
+
(u(!0), d(h, null, y(K.value, (a) => (u(), d(h, {
|
|
241
243
|
key: a.id
|
|
242
244
|
}, [
|
|
243
245
|
W(a.id) ? (u(), d("div", Se, [
|
|
244
246
|
V(ce, Q({ ref_for: !0 }, a, Y(a.listeners)), null, 16)
|
|
245
|
-
])) :
|
|
247
|
+
])) : C("", !0)
|
|
246
248
|
], 64))), 128))
|
|
247
249
|
]),
|
|
248
250
|
_: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DendroForm.vue.js","sources":["../../../../src/GraphMaker/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport {\n DendroUIState,\n InputGuide,\n InputState\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport { computed, watch, Ref, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n//const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n )\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n }\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS)\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis')\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData ||\n options.value[basketId].length === 0 ||\n (draggedId.value !== null &&\n !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId:string, searchStr:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId:string, selectedValue:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId:string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n return response.overflow ? null : response.values;\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n reorder: (data: ChipInfo['id'][]) => commonReorder(data, name)\n },\n };\n return basketProps;\n })\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined' ||\n hasInputError('value', inputGuide.value)) &&\n vOptions[inputName] &&\n vOptions[inputName].length\n ) {store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore!,\n store.value.reactive.optionsState,\n [{selectedSource: vOptions[inputName][0].value}]\n\n );\n }\n },\n { immediate: true }\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"Data source:\"\n v-model=\"inputStateValues.value\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div class=\"metadata-block\" v-if=\"freeMandatoryOptions.length > 0\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div class=\"metadata-block\" v-if=\"freeOptions.length > 0\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template v-slot:chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div class=\"data-form-input-item\" v-if=\"showBasket(basketProp.id)\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </form-layout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","response","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DendroForm.vue.js","sources":["../../../../src/GraphMaker/forms/DataMappingForm/DendroForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport {\n DendroUIState,\n InputGuide,\n InputState\n} from '@milaboratories/pf-plots';\nimport FormLayout from './Layout/FormLayout.vue';\nimport { computed, watch, Ref, toRef, ref } from 'vue';\nimport { useStore } from '../../store';\nimport {\n getAllInputsOptions,\n toFiltersMulti,\n getErrorForPlDropdown,\n toSimpleMulti,\n getChipInfo,\n toSimpleSingle,\n getFreeOptions,\n hasInputError,\n} from './utils';\nimport { DEFAULT_DOT_SHAPE } from '../../dataBindAes';\nimport { DEFAULT_BLACK } from '../../constantsAesthetic';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport DndChip from '../../components/DragAndDrop/DndChip.vue';\nimport DndBasket from '../../components/DragAndDrop/DndBasket.vue';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\n\ntype BasketIds = Exclude<\n keyof (typeof inputStateValues)['value'] & keyof DendroUIState['components'],\n 'value' | 'filters' | 'tabBy'\n>;\n\nconst store = useStore();\nconst state = store.value.reactive.optionsState as DendroUIState;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(\n () => store.value.inputGuide.value\n) as unknown as Ref<InputGuide<DendroUIState>>;\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\n//const nodeSize = toRef(state.data.nodeSize.selectorState, \"selectedSource\");\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n )\n}\n\nconst inputStateValues = ref({\n value: getSimpleSingle('value'),\n tableContent: getSimpleMulti('tableContent'),\n heatmapAnnotation: getSimpleMulti('heatmapAnnotation'),\n heatmapForSequence: getSimpleMulti('heatmapForSequence'),\n filters: getFiltersMulti('filters'),\n tabBy: getFiltersMulti('tabBy'),\n height: getSimpleMulti('height'),\n labels: getSimpleMulti('labels'),\n nodeShape: getSimpleMulti('nodeShape'),\n nodeColor: getSimpleMulti('nodeColor'),\n nodeSize: getSimpleMulti('nodeSize'),\n lineColor: getSimpleMulti('lineColor'),\n heatmapAxis: getSimpleMulti('heatmapAxis'),\n heatmapGroup: getSimpleMulti('heatmapGroup'),\n});\nwatch(\n () => inputStateValues.value.nodeShape,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotShape = value.length\n ? { type: 'nodeShape', value: value[0] }\n : DEFAULT_DOT_SHAPE;\n }\n);\nwatch(\n () => inputStateValues.value.nodeColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.dotFill = value.length\n ? { type: 'nodeColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\nwatch(\n () => inputStateValues.value.lineColor,\n (value) => {\n store.value.reactive.layersSettings.dendro.lineColor = value.length\n ? { type: 'lineColor', value: value[0] }\n : DEFAULT_BLACK;\n }\n);\n\nconst options = computed(() => {\n return getAllInputsOptions(\n state,\n inputGuide as Ref<InputGuide<DendroUIState>>\n );\n});\n\nconst freeOptions = computed(() =>\n getFreeOptions(inputGuide as Ref<InputGuide<InputState>>, BASKETS)\n);\nconst freeMandatoryOptions = computed(() =>\n freeOptions.value.filter((item) => item.info.kind === 'axis')\n);\nconst BASKETS: BasketIds[] = [\n 'height',\n 'tableContent',\n 'labels',\n 'heatmapAnnotation',\n 'heatmapAxis',\n 'heatmapGroup',\n 'heatmapForSequence',\n 'nodeShape',\n 'nodeColor',\n 'nodeSize',\n 'lineColor',\n];\n\nconst BASKET_LABELS: Record<BasketIds, string> = {\n height: 'Connections length',\n tableContent: 'Table/tooltip content',\n labels: 'Labels',\n heatmapAnnotation: 'Heatmap annotation',\n heatmapAxis: 'Heatmap axis',\n heatmapGroup: 'Heatmap group',\n heatmapForSequence: 'Alignment data',\n nodeShape: 'Node shape',\n nodeColor: 'Node color',\n nodeSize: 'Node size',\n lineColor: 'Line color',\n};\n\nconst draggedId = ref<string | null>(null);\n\nconst chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, labelsInfo.value, [...freeAndSelectedIds]);\n});\n\nfunction commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId,\n ];\n draggedId.value = null;\n}\n\nfunction commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n}\n\nfunction commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] = inputStateValues.value[\n event.basketId\n ].filter((op) => op !== event.chipId);\n}\n\nfunction getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n}\n\nfunction getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData ||\n options.value[basketId].length === 0 ||\n (draggedId.value !== null &&\n !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n}\n\nasync function searchFilterOptions(sourceId:string, searchStr:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr)).values;\n}\nasync function searchSelectedFilterValueOptions(sourceId:string, selectedValue:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n}\nasync function loadOptions(sourceId:string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n return response.overflow ? null : response.values;\n}\n\nconst basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter: false,\n sortable: name === 'tableContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n reorder: (data: ChipInfo['id'][]) => commonReorder(data, name)\n },\n };\n return basketProps;\n })\n);\n\nfunction showBasket(basketId: BasketProps['id']) {\n if (basketId === 'heatmapAxis' || basketId === 'heatmapGroup') {\n return inputStateValues.value.heatmapAnnotation !== null;\n }\n return true;\n}\n\nfunction cleanDraggedId() {\n draggedId.value = null;\n}\n\nconst autoFillInputs: (keyof typeof inputStateValues.value)[] = ['value'];\n\nautoFillInputs.forEach((inputName) => {\n watch(\n [() => inputStateValues.value[inputName], () => options.value],\n ([v, vOptions]) => {\n if (\n (typeof v === 'undefined' ||\n hasInputError('value', inputGuide.value)) &&\n vOptions[inputName] &&\n vOptions[inputName].length\n ) {store.value.controller.changeSelected(\n inputName,\n store.value.columnsDataStore!,\n store.value.reactive.optionsState,\n [{selectedSource: vOptions[inputName][0].value}]\n\n );\n }\n },\n { immediate: true }\n );\n});\n\nconst readonlyValue = computed(() => store.value.readonlyInputs?.includes('value') ?? false);\n\n</script>\n\n<template>\n <form-layout>\n <template v-slot:dataInputs>\n <div class=\"data-form-input-item\">\n <pl-dropdown\n label=\"Data source:\"\n v-model=\"inputStateValues.value\"\n :options=\"options.value\"\n :disabled=\"readonlyValue\"\n :error=\"getErrorForPlDropdown('value', inputGuide)\"\n />\n </div>\n <div class=\"metadata-block\" v-if=\"freeMandatoryOptions.length > 0\">\n <div class=\"title\">Drag to build the chart</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeMandatoryOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n <div class=\"metadata-block\" v-if=\"freeOptions.length > 0\">\n <div class=\"title\">Metadata</div>\n <div class=\"metadata-block__items\">\n <DndChip\n v-for=\"{ id } in freeOptions\"\n :key=\"id\"\n :info=\"chipInfo[id]\"\n @dragstart=\"draggedId = $event\"\n @dragend=\"cleanDraggedId\"\n />\n </div>\n </div>\n </template>\n\n <template v-slot:chartVar>\n <template v-for=\"basketProp in basketsData\" :key=\"basketProp.id\">\n <div class=\"data-form-input-item\" v-if=\"showBasket(basketProp.id)\">\n <DndBasket v-bind=\"basketProp\" v-on=\"basketProp.listeners\" />\n </div>\n </template>\n </template>\n </form-layout>\n</template>\n"],"names":["store","useStore","state","stateRef","toRef","inputGuide","computed","labelsInfo","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","inputStateValues","ref","watch","value","DEFAULT_DOT_SHAPE","DEFAULT_BLACK","options","getAllInputsOptions","freeOptions","getFreeOptions","BASKETS","freeMandatoryOptions","item","BASKET_LABELS","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","commonDropItemHandler","event","commonReorder","data","commonRemoveItem","op","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","response","basketsData","guide","_a","showBasket","cleanDraggedId","v","vOptions","hasInputError","readonlyValue"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaskets.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/DataMappingForm/useBaskets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,qBAAqB,EACrB,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiB,GAAG,EAAS,MAAM,KAAK,CAAC;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EAGT,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,wBAAgB,UAAU,CACxB,CAAC,SAAS,UAAU,EACpB,SAAS,SAAS,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAC1E,OAAO,SAAS,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAExE,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,gBAAgB,EAAE,SAAS,EAAE,EAC7B,gBAAgB,EAAE,SAAS,EAAE,EAC7B,OAAO,EAAE,SAAS,EAAE,EACpB,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useBaskets.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/DataMappingForm/useBaskets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,qBAAqB,EACrB,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiB,GAAG,EAAS,MAAM,KAAK,CAAC;AAChD,OAAO,EACL,WAAW,EACX,QAAQ,EAGT,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,wBAAgB,UAAU,CACxB,CAAC,SAAS,UAAU,EACpB,SAAS,SAAS,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAC1E,OAAO,SAAS,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAExE,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,gBAAgB,EAAE,SAAS,EAAE,EAC7B,gBAAgB,EAAE,SAAS,EAAE,EAC7B,OAAO,EAAE,SAAS,EAAE,EACpB,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;EAyNzC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { toRef as
|
|
1
|
+
import { toRef as N, computed as c, ref as m } from "vue";
|
|
2
2
|
import { MAX_SEARCH_OPTIONS_LIST_LENGTH as F } from "../../constantsCommon.js";
|
|
3
|
-
import { getAllInputsOptions as
|
|
3
|
+
import { getAllInputsOptions as A, getFreeMetaOptions as X, getFreeMandatoryOptions as j, getChipInfo as z, toSimpleSingle as J, toSimpleMulti as Q, toFiltersMulti as T } from "./utils.js";
|
|
4
4
|
function B(l, h, I, D, v, O) {
|
|
5
|
-
const o = l.value.reactive.optionsState, p =
|
|
5
|
+
const o = l.value.reactive.optionsState, p = N(l.value.reactive, "optionsState"), u = c(() => l.value.inputGuide.value);
|
|
6
6
|
function y(e) {
|
|
7
7
|
return J(
|
|
8
8
|
p,
|
|
@@ -33,15 +33,17 @@ function B(l, h, I, D, v, O) {
|
|
|
33
33
|
}), r = m({
|
|
34
34
|
...I.reduce((e, t) => (e[t] = V(t), e), {}),
|
|
35
35
|
...D.reduce((e, t) => (e[t] = R(t), e), {})
|
|
36
|
-
}), g =
|
|
36
|
+
}), g = c(() => A(o, u)), M = c(
|
|
37
37
|
() => X(u, v)
|
|
38
|
-
), q =
|
|
38
|
+
), q = c(
|
|
39
39
|
() => j(u, v)
|
|
40
|
-
), s = m(null), f =
|
|
40
|
+
), s = m(null), f = c(() => {
|
|
41
41
|
const e = /* @__PURE__ */ new Set();
|
|
42
42
|
return v.forEach((t) => {
|
|
43
43
|
g.value[t].forEach((n) => {
|
|
44
44
|
e.add(n.value);
|
|
45
|
+
}), o.components[t].selectorStates.forEach((n) => {
|
|
46
|
+
e.add(n.selectedSource);
|
|
45
47
|
});
|
|
46
48
|
}), z(u.value, o.components, l.value.uniqueValuesData.value, [...e]);
|
|
47
49
|
});
|
|
@@ -87,10 +89,10 @@ function B(l, h, I, D, v, O) {
|
|
|
87
89
|
const t = await l.value.controller.getUniqueSourceValuesWithLabels(l.value.columnsDataStore, u.value, e, F);
|
|
88
90
|
return t.overflow ? null : t.values;
|
|
89
91
|
}
|
|
90
|
-
const k =
|
|
92
|
+
const k = c(
|
|
91
93
|
() => v.map((e) => {
|
|
92
94
|
var S;
|
|
93
|
-
const t = u.value.components[e], n = e === "filters" || e === "highlight",
|
|
95
|
+
const t = u.value.components[e], n = e === "filters" || e === "highlight", i = {
|
|
94
96
|
id: e,
|
|
95
97
|
title: O[e],
|
|
96
98
|
isFilter: n,
|
|
@@ -112,21 +114,21 @@ function B(l, h, I, D, v, O) {
|
|
|
112
114
|
reorder: (a) => x(a, e)
|
|
113
115
|
}
|
|
114
116
|
};
|
|
115
|
-
return n && (
|
|
117
|
+
return n && (i.selectedFilters = w(e), i.selectedRanges = C(e), i.listeners["select-filter-value"] = (a) => {
|
|
116
118
|
const d = o.components[e].selectorStates[a.idx];
|
|
117
119
|
d.type = "equals", d.selectedFilterValues = a.v;
|
|
118
|
-
},
|
|
120
|
+
}, i.listeners["select-filter-range"] = (a) => {
|
|
119
121
|
const d = o.components[e].selectorStates[a.idx];
|
|
120
122
|
d.type = "range", d.selectedFilterRange = a.v;
|
|
121
|
-
}),
|
|
123
|
+
}), i;
|
|
122
124
|
})
|
|
123
125
|
);
|
|
124
|
-
function
|
|
126
|
+
function E() {
|
|
125
127
|
s.value = null;
|
|
126
128
|
}
|
|
127
129
|
return {
|
|
128
130
|
draggedId: s,
|
|
129
|
-
cleanDraggedId:
|
|
131
|
+
cleanDraggedId: E,
|
|
130
132
|
basketsData: k,
|
|
131
133
|
freeMetaOptions: M,
|
|
132
134
|
freeMandatoryOptions: q,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaskets.js","sources":["../../../../src/GraphMaker/forms/DataMappingForm/useBaskets.ts"],"sourcesContent":["import {\n ChartType,\n ComponentStateFilter,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PValue,\n SelectorStateFilter,\n} from '@milaboratories/pf-plots';\nimport { computed, ref, Ref, toRef } from 'vue';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\nimport { ComputedStore } from '../../store';\nimport {\n getAllInputsOptions, getChipInfo, getFreeMandatoryOptions, getFreeMetaOptions,\n toFiltersMulti,\n toSimpleMulti,\n toSimpleSingle\n} from './utils';\n\nexport function useBaskets<\n T extends InputState,\n BasketIds extends keyof T['components'] & InputNamesByChartType[ChartType],\n DataIds extends keyof T['components'] & InputNamesByChartType[ChartType]\n>(\n store: ComputedStore,\n dataKeys: DataIds[],\n filterBasketKeys: BasketIds[],\n simpleBasketKeys: BasketIds[],\n BASKETS: BasketIds[],\n BASKET_LABELS: Record<BasketIds, string>\n) {\nconst state = store.value.reactive.optionsState as T;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(() => store.value.inputGuide.value) as Ref<InputGuide<T>>;\n\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\n\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\n\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\n\nconst dataStateValues = ref({\n ...dataKeys.reduce((res:Record<DataIds, Ref<string|undefined>>, key:DataIds) => {\n res[key] = getSimpleSingle(key as keyof InputState['components']);\n return res;\n }, {} as Record<DataIds, Ref<string|undefined>>),\n})\n\ntype InputStateValues = Record<BasketIds, Ref<string[]>>;\n\nconst inputStateValues = ref<InputStateValues>({\n ...filterBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getFiltersMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues),\n ...simpleBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getSimpleMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues)\n });\n\n const options = computed(() => {\n return getAllInputsOptions(state, inputGuide as Ref<InputGuide<InputState>>);\n });\n\n const freeMetaOptions = computed(() =>\n getFreeMetaOptions(inputGuide, BASKETS)\n );\n const freeMandatoryOptions = computed(() =>\n getFreeMandatoryOptions(inputGuide, BASKETS)\n );\n\n const draggedId = ref<string | null>(null);\n const chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n });\n return getChipInfo(inputGuide.value, state.components, store.value.uniqueValuesData.value, [...freeAndSelectedIds]);\n });\n\n function getFiltersValues(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, string[]>, filterState) => {\n if (filterState.type !== 'range') {\n res[filterState.selectedSource] = filterState.selectedFilterValues ?? [];\n }\n return res;\n },\n {}\n );\n }\n\n function getFiltersRanges(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, [number, number]>, filterState) => {\n res[filterState.selectedSource] = filterState.selectedFilterRange ?\n [filterState.selectedFilterRange.min, filterState.selectedFilterRange.max] : [0, 0];\n return res;\n },\n {}\n );\n }\n\n function commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId\n ];\n draggedId.value = null;\n }\n\n function commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] =\n inputStateValues.value[event.basketId].filter((op:string) => op !== event.chipId);\n }\n\n function commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n }\n\n function getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n }\n\n function getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData ||\n options.value[basketId].length === 0 ||\n (draggedId.value !== null &&\n !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n }\n\n async function searchFilterOptions(sourceId:string, searchStr:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr || undefined)).values;\n }\n\n async function searchSelectedFilterValueOptions(sourceId:string, selectedValue:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n }\n\n async function loadOptions(sourceId:string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n return response.overflow ? null : response.values;\n }\n\n const basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n const isFilter = name === 'filters' || name === 'highlight';\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter,\n sortable: name === 'tooltipContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n 'reorder': (data: ChipInfo['id'][]) => commonReorder(data, name)\n }\n };\n if (isFilter) {\n basketProps.selectedFilters = getFiltersValues(name);\n basketProps.selectedRanges = getFiltersRanges(name);\n basketProps.listeners['select-filter-value'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'equals';\n selectorState.selectedFilterValues = data.v;\n };\n basketProps.listeners['select-filter-range'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'range';\n selectorState.selectedFilterRange = data.v;\n };\n }\n return basketProps;\n })\n );\n\n function cleanDraggedId() {\n draggedId.value = null;\n }\n \n return {\n draggedId,\n cleanDraggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions: options\n }\n}"],"names":["useBaskets","store","dataKeys","filterBasketKeys","simpleBasketKeys","BASKETS","BASKET_LABELS","state","stateRef","toRef","inputGuide","computed","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","dataStateValues","ref","res","key","inputStateValues","options","getAllInputsOptions","freeMetaOptions","getFreeMetaOptions","freeMandatoryOptions","getFreeMandatoryOptions","draggedId","chipInfo","freeAndSelectedIds","name","option","getChipInfo","getFiltersValues","filterState","getFiltersRanges","commonDropItemHandler","event","commonRemoveItem","op","commonReorder","data","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","response","basketsData","guide","isFilter","basketProps","_a","selectorState","cleanDraggedId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBaskets.js","sources":["../../../../src/GraphMaker/forms/DataMappingForm/useBaskets.ts"],"sourcesContent":["import {\n ChartType,\n ComponentStateFilter,\n InputGuide,\n InputNamesByChartType,\n InputState,\n PValue,\n SelectorStateFilter,\n} from '@milaboratories/pf-plots';\nimport { computed, ref, Ref, toRef } from 'vue';\nimport {\n BasketProps,\n ChipInfo,\n DropItemEvent,\n RemoveItemEvent\n} from '../../components/DragAndDrop/types';\nimport { MAX_SEARCH_OPTIONS_LIST_LENGTH } from '../../constantsCommon';\nimport { ComputedStore } from '../../store';\nimport {\n getAllInputsOptions, getChipInfo, getFreeMandatoryOptions, getFreeMetaOptions,\n toFiltersMulti,\n toSimpleMulti,\n toSimpleSingle\n} from './utils';\n\nexport function useBaskets<\n T extends InputState,\n BasketIds extends keyof T['components'] & InputNamesByChartType[ChartType],\n DataIds extends keyof T['components'] & InputNamesByChartType[ChartType]\n>(\n store: ComputedStore,\n dataKeys: DataIds[],\n filterBasketKeys: BasketIds[],\n simpleBasketKeys: BasketIds[],\n BASKETS: BasketIds[],\n BASKET_LABELS: Record<BasketIds, string>\n) {\nconst state = store.value.reactive.optionsState as T;\nconst stateRef = toRef(store.value.reactive, 'optionsState');\n\nconst inputGuide = computed(() => store.value.inputGuide.value) as Ref<InputGuide<T>>;\n\nfunction getSimpleSingle(inputName: keyof InputState['components']) {\n return toSimpleSingle(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore\n );\n}\n\nfunction getSimpleMulti(inputName: keyof InputState['components']) {\n return toSimpleMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\n\nfunction getFiltersMulti(inputName: keyof InputState['components']) {\n return toFiltersMulti(\n stateRef,\n inputName,\n store.value.controller,\n store.value.columnsDataStore,\n inputGuide\n );\n}\n\nconst dataStateValues = ref({\n ...dataKeys.reduce((res:Record<DataIds, Ref<string|undefined>>, key:DataIds) => {\n res[key] = getSimpleSingle(key as keyof InputState['components']);\n return res;\n }, {} as Record<DataIds, Ref<string|undefined>>),\n})\n\ntype InputStateValues = Record<BasketIds, Ref<string[]>>;\n\nconst inputStateValues = ref<InputStateValues>({\n ...filterBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getFiltersMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues),\n ...simpleBasketKeys.reduce((res:InputStateValues, key) => {\n res[key] = getSimpleMulti(key as keyof InputState['components']);\n return res;\n }, {} as InputStateValues)\n });\n\n const options = computed(() => {\n return getAllInputsOptions(state, inputGuide as Ref<InputGuide<InputState>>);\n });\n\n const freeMetaOptions = computed(() =>\n getFreeMetaOptions(inputGuide, BASKETS)\n );\n const freeMandatoryOptions = computed(() =>\n getFreeMandatoryOptions(inputGuide, BASKETS)\n );\n\n const draggedId = ref<string | null>(null);\n const chipInfo = computed<Record<string, ChipInfo>>(() => {\n const freeAndSelectedIds = new Set<string>();\n BASKETS.forEach((name) => {\n options.value[name].forEach((option) => {\n freeAndSelectedIds.add(option.value);\n });\n state.components[name].selectorStates.forEach((selectorState) => {\n freeAndSelectedIds.add(selectorState.selectedSource);\n });\n });\n return getChipInfo(inputGuide.value, state.components, store.value.uniqueValuesData.value, [...freeAndSelectedIds]);\n });\n\n function getFiltersValues(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, string[]>, filterState) => {\n if (filterState.type !== 'range') {\n res[filterState.selectedSource] = filterState.selectedFilterValues ?? [];\n }\n return res;\n },\n {}\n );\n }\n\n function getFiltersRanges(name: BasketIds) {\n return (state.components[name] as ComponentStateFilter).selectorStates.reduce(\n (res: Record<string, [number, number]>, filterState) => {\n res[filterState.selectedSource] = filterState.selectedFilterRange ?\n [filterState.selectedFilterRange.min, filterState.selectedFilterRange.max] : [0, 0];\n return res;\n },\n {}\n );\n }\n\n function commonDropItemHandler(event: DropItemEvent<BasketIds>) {\n inputStateValues.value[event.id] = [\n ...inputStateValues.value[event.id],\n event.draggedId\n ];\n draggedId.value = null;\n }\n\n function commonRemoveItem(event: RemoveItemEvent<BasketIds>) {\n inputStateValues.value[event.basketId] =\n inputStateValues.value[event.basketId].filter((op:string) => op !== event.chipId);\n }\n\n function commonReorder(data: ChipInfo['id'][], name: BasketIds) {\n inputStateValues.value[name] = data;\n }\n\n function getConsistency(basketId: BasketIds) {\n return inputGuide.value.components[basketId].stateConsistency;\n }\n\n function getDisabled(basketId: BasketIds) {\n return (\n !inputGuide.value.readyData ||\n options.value[basketId].length === 0 ||\n (draggedId.value !== null &&\n !chipInfo.value[draggedId.value].availableBasketIds.has(basketId))\n );\n }\n\n async function searchFilterOptions(sourceId:string, searchStr:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH, searchStr || undefined)).values;\n }\n\n async function searchSelectedFilterValueOptions(sourceId:string, selectedValue:string):Promise<{value:string, label:string}[]> {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n return (await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, 1, undefined, selectedValue)).values;\n }\n\n async function loadOptions(sourceId:string) {\n if (!store.value.columnsDataStore) {\n return Promise.resolve([]);\n }\n const response = await store.value.controller.getUniqueSourceValuesWithLabels(store.value.columnsDataStore, inputGuide.value, sourceId, MAX_SEARCH_OPTIONS_LIST_LENGTH);\n return response.overflow ? null : response.values;\n }\n\n const basketsData = computed<BasketProps[]>(() =>\n BASKETS.map((name) => {\n const guide = inputGuide.value.components[name];\n const isFilter = name === 'filters' || name === 'highlight';\n\n const basketProps: BasketProps = {\n id: name,\n title: BASKET_LABELS[name],\n isFilter,\n sortable: name === 'tooltipContent',\n multiple: guide.multipleSelectors,\n required: guide.required,\n disabled: getDisabled(name),\n readonly: store.value.readonlyInputs?.includes(name) ?? false,\n consistency: getConsistency(name),\n draggedId: draggedId.value,\n droppedIds: inputStateValues.value[name],\n info: chipInfo.value,\n\n searchFn: searchFilterOptions,\n searchSelectedValueFn: searchSelectedFilterValueOptions,\n loadOptionsFn: loadOptions,\n\n listeners: {\n 'drop-item': commonDropItemHandler,\n 'remove-item': commonRemoveItem,\n 'reorder': (data: ChipInfo['id'][]) => commonReorder(data, name)\n }\n };\n if (isFilter) {\n basketProps.selectedFilters = getFiltersValues(name);\n basketProps.selectedRanges = getFiltersRanges(name);\n basketProps.listeners['select-filter-value'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'equals';\n selectorState.selectedFilterValues = data.v;\n };\n basketProps.listeners['select-filter-range'] = (data) => {\n const selectorState = state.components[name].selectorStates[data.idx] as SelectorStateFilter;\n selectorState.type = 'range';\n selectorState.selectedFilterRange = data.v;\n };\n }\n return basketProps;\n })\n );\n\n function cleanDraggedId() {\n draggedId.value = null;\n }\n \n return {\n draggedId,\n cleanDraggedId,\n basketsData,\n freeMetaOptions,\n freeMandatoryOptions,\n chipInfo,\n dataStateValues,\n dataOptions: options\n }\n}"],"names":["useBaskets","store","dataKeys","filterBasketKeys","simpleBasketKeys","BASKETS","BASKET_LABELS","state","stateRef","toRef","inputGuide","computed","getSimpleSingle","inputName","toSimpleSingle","getSimpleMulti","toSimpleMulti","getFiltersMulti","toFiltersMulti","dataStateValues","ref","res","key","inputStateValues","options","getAllInputsOptions","freeMetaOptions","getFreeMetaOptions","freeMandatoryOptions","getFreeMandatoryOptions","draggedId","chipInfo","freeAndSelectedIds","name","option","selectorState","getChipInfo","getFiltersValues","filterState","getFiltersRanges","commonDropItemHandler","event","commonRemoveItem","op","commonReorder","data","getConsistency","basketId","getDisabled","searchFilterOptions","sourceId","searchStr","MAX_SEARCH_OPTIONS_LIST_LENGTH","searchSelectedFilterValueOptions","selectedValue","loadOptions","response","basketsData","guide","isFilter","basketProps","_a","cleanDraggedId"],"mappings":"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"}
|