@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.
@@ -1 +1 @@
1
- {"version":3,"file":"DendroForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/forms/DataMappingForm/DendroForm.vue"],"names":[],"mappings":";AA2yBA,wBAMG"}
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 i, ref as k, watch as f, createBlock as b, openBlock as u, withCtx as E, createElementBlock as d, Fragment as h, renderList as D, createCommentVNode as y, createVNode as V, mergeProps as Q, toHandlers as Y, createElementVNode as v, unref as L } from "vue";
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 ie, toFiltersMulti as se } from "./utils.js";
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(), C = o.value.reactive.optionsState, S = J(o.value.reactive, "optionsState"), n = i(
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 = i(() => o.value.uniqueValuesData.value);
25
+ ), x = s(() => o.value.uniqueValuesData.value);
26
26
  function O(e) {
27
27
  return ue(
28
- S,
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 ie(
36
- S,
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 se(
44
- S,
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 = i(() => oe(
84
- C,
83
+ const p = s(() => oe(
84
+ S,
85
85
  n
86
- )), g = i(
87
- () => ae(n, _)
88
- ), I = i(
89
- () => g.value.filter((e) => e.info.kind === "axis")
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
- }, s = k(null), m = i(() => {
114
+ }, i = k(null), m = s(() => {
115
115
  const e = /* @__PURE__ */ new Set();
116
- return _.forEach((t) => {
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, C.components, x.value, [...e]);
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
- ], s.value = null;
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 || s.value !== null && !m.value[s.value].availableBasketIds.has(e);
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 = i(
153
- () => _.map((e) => {
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: s.value,
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
- s.value = null;
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 $ = i(() => {
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(), b(ee, null, {
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, D(I.value, ({ id: a }) => (u(), b(q, {
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) => s.value = c),
224
+ onDragstart: t[1] || (t[1] = (c) => i.value = c),
223
225
  onDragend: F
224
226
  }, null, 8, ["info"]))), 128))
225
227
  ])
226
- ])) : y("", !0),
227
- g.value.length > 0 ? (u(), d("div", fe, [
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, D(g.value, ({ id: a }) => (u(), b(q, {
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) => s.value = c),
235
+ onDragstart: t[2] || (t[2] = (c) => i.value = c),
234
236
  onDragend: F
235
237
  }, null, 8, ["info"]))), 128))
236
238
  ])
237
- ])) : y("", !0)
239
+ ])) : C("", !0)
238
240
  ]),
239
241
  chartVar: E(() => [
240
- (u(!0), d(h, null, D(K.value, (a) => (u(), d(h, {
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
- ])) : y("", !0)
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;;;;;;;;;;;;;;;EAsNzC"}
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 A, computed as i, ref as m } from "vue";
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 E, getFreeMetaOptions as X, getFreeMandatoryOptions as j, getChipInfo as z, toSimpleSingle as J, toSimpleMulti as Q, toFiltersMulti as T } from "./utils.js";
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 = A(l.value.reactive, "optionsState"), u = i(() => l.value.inputGuide.value);
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 = i(() => E(o, u)), M = i(
36
+ }), g = c(() => A(o, u)), M = c(
37
37
  () => X(u, v)
38
- ), q = i(
38
+ ), q = c(
39
39
  () => j(u, v)
40
- ), s = m(null), f = i(() => {
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 = i(
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", c = {
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 && (c.selectedFilters = w(e), c.selectedRanges = C(e), c.listeners["select-filter-value"] = (a) => {
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
- }, c.listeners["select-filter-range"] = (a) => {
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
- }), c;
123
+ }), i;
122
124
  })
123
125
  );
124
- function N() {
126
+ function E() {
125
127
  s.value = null;
126
128
  }
127
129
  return {
128
130
  draggedId: s,
129
- cleanDraggedId: N,
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/graph-maker",
3
- "version": "1.1.152",
3
+ "version": "1.1.153",
4
4
  "type": "module",
5
5
  "main": "dist/lib.js",
6
6
  "types": "dist/lib.d.ts",