@milaboratories/graph-maker 1.1.140 → 1.1.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/GraphMaker/index.vue.js +24 -23
  2. package/dist/GraphMaker/index.vue.js.map +1 -1
  3. package/dist/GraphMaker/store.js +9 -9
  4. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  5. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +54 -52
  6. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  7. package/dist/GraphMaker/utils/loadDefaultSources.js +4 -3
  8. package/dist/GraphMaker/utils/loadDefaultSources.js.map +1 -1
  9. package/dist/_virtual/_commonjsHelpers.js +3 -5
  10. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  11. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/_commonjsHelpers.js +9 -0
  12. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/_commonjsHelpers.js.map +1 -0
  13. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/canonicalize.js +8 -0
  14. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/canonicalize.js.map +1 -0
  15. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/lodash.js +8 -0
  16. package/dist/{_virtual → node_modules/@milaboratories/pf-plots/dist/_virtual}/lodash.js.map +1 -1
  17. package/dist/{_virtual/lodash.js → node_modules/@milaboratories/pf-plots/dist/_virtual/lodash2.js} +1 -1
  18. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/lodash2.js.map +1 -0
  19. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/stringify.js +3 -0
  20. package/dist/{_virtual → node_modules/@milaboratories/pf-plots/dist/_virtual}/stringify.js.map +1 -1
  21. package/dist/{_virtual/stringify.js → node_modules/@milaboratories/pf-plots/dist/_virtual/stringify2.js} +1 -1
  22. package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/stringify2.js.map +1 -0
  23. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +15 -0
  24. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -0
  25. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +198 -0
  26. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js.map +1 -0
  27. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js +342 -0
  28. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js.map +1 -0
  29. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +278 -0
  30. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js.map +1 -0
  31. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js +453 -0
  32. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js.map +1 -0
  33. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js +203 -0
  34. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js.map +1 -0
  35. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +432 -0
  36. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js.map +1 -0
  37. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js +170 -0
  38. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js.map +1 -0
  39. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +315 -0
  40. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -0
  41. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +323 -0
  42. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -0
  43. package/dist/node_modules/@milaboratories/pf-plots/dist/demoStore.js +11 -0
  44. package/dist/node_modules/@milaboratories/pf-plots/dist/demoStore.js.map +1 -0
  45. package/dist/node_modules/@milaboratories/pf-plots/dist/index.js +36 -3426
  46. package/dist/node_modules/@milaboratories/pf-plots/dist/index.js.map +1 -1
  47. package/dist/node_modules/@milaboratories/{pl-error-like → pf-plots/dist/node_modules/@milaboratories/pl-error-like}/dist/index.js +1 -1
  48. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-error-like/dist/index.js.map +1 -0
  49. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/index.js +979 -0
  50. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/index.js.map +1 -0
  51. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/index.js +1599 -0
  52. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/index.js.map +1 -0
  53. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/canonicalize/lib/canonicalize.js +19 -0
  54. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/canonicalize/lib/canonicalize.js.map +1 -0
  55. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/json-stringify-safe/stringify.js +26 -0
  56. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/json-stringify-safe/stringify.js.map +1 -0
  57. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/lodash/lodash.js +3678 -0
  58. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/lodash/lodash.js.map +1 -0
  59. package/dist/node_modules/{zod → @milaboratories/pf-plots/dist/node_modules/zod}/lib/index.js +1141 -1141
  60. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/zod/lib/index.js.map +1 -0
  61. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +247 -0
  62. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -0
  63. package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js +62 -0
  64. package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js.map +1 -0
  65. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +286 -0
  66. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -0
  67. package/package.json +2 -2
  68. package/dist/node_modules/@milaboratories/pl-error-like/dist/index.js.map +0 -1
  69. package/dist/node_modules/@milaboratories/pl-model-common/dist/index.js +0 -584
  70. package/dist/node_modules/@milaboratories/pl-model-common/dist/index.js.map +0 -1
  71. package/dist/node_modules/@platforma-sdk/model/dist/index.js +0 -1559
  72. package/dist/node_modules/@platforma-sdk/model/dist/index.js.map +0 -1
  73. package/dist/node_modules/json-stringify-safe/stringify.js +0 -20
  74. package/dist/node_modules/json-stringify-safe/stringify.js.map +0 -1
  75. package/dist/node_modules/lodash/lodash.js +0 -3678
  76. package/dist/node_modules/lodash/lodash.js.map +0 -1
  77. package/dist/node_modules/zod/lib/index.js.map +0 -1
@@ -2,23 +2,24 @@
2
2
  .slide-panel-enter-active{transition:transform .3s ease-out}.slide-panel-leave-active{transition:transform .3s ease-in-out}.slide-panel-enter-from{transform:translate(200%);opacity:0}.slide-panel-leave-to{transform:translate(200%);opacity:1}`)),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
3
3
  import { defineComponent as le, mergeModels as _, useModel as j, ref as f, watch as s, toRaw as n, computed as g, shallowRef as E, onMounted as ie, onUnmounted as oe, useSlots as ne, createElementBlock as re, openBlock as h, createElementVNode as ue, createVNode as U, createBlock as D, createCommentVNode as S, withCtx as T, renderSlot as B, unref as u, resolveDynamicComponent as se } from "vue";
4
4
  import { MiPlots as ce } from "../node_modules/@milaboratories/miplots4/dist/MiPlots.js";
5
- import { DemoDataStore as de, getInitialStateByType as ve } from "../node_modules/@milaboratories/pf-plots/dist/index.js";
6
- import pe from "../node_modules/canonicalize/lib/canonicalize.js";
5
+ import { getInitialStateByType as de } from "../node_modules/@milaboratories/pf-plots/dist/index.js";
6
+ import ve from "../node_modules/canonicalize/lib/canonicalize.js";
7
7
 
8
- import me from "./components/Chart.vue.js";
9
- import fe from "./components/Loading.vue.js";
10
- import ge from "./components/PanelModal.vue.js";
11
- import he from "./components/SettingsTabs/index.vue.js";
12
- import Se from "./components/TransitionSlidePanel.vue.js";
8
+ import pe from "./components/Chart.vue.js";
9
+ import me from "./components/Loading.vue.js";
10
+ import fe from "./components/PanelModal.vue.js";
11
+ import ge from "./components/SettingsTabs/index.vue.js";
12
+ import he from "./components/TransitionSlidePanel.vue.js";
13
13
 
14
- import { useSettingsForm as ye } from "./forms/index.js";
15
- import { provideStore as be, createReactiveState as V } from "./store.js";
14
+ import { useSettingsForm as Se } from "./forms/index.js";
15
+ import { provideStore as ye, createReactiveState as V } from "./store.js";
16
16
  import "./constantsAesthetic.js";
17
17
  import { composeChartSettings as A } from "./utils/createChartSettingsForRender/composeChartSettings.js";
18
- import { saveToFile as De } from "./utils/saveToFile.js";
18
+ import { saveToFile as be } from "./utils/saveToFile.js";
19
19
  import { copyJSON as d } from "./utils/copyJSON.js";
20
+ import { DemoDataStore as De } from "../node_modules/@milaboratories/pf-plots/dist/demoStore.js";
20
21
  import { debouncedWatch as v } from "../node_modules/@vueuse/shared/index.js";
21
- const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, Ve = /* @__PURE__ */ le({
22
+ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, Ae = /* @__PURE__ */ le({
22
23
  __name: "index",
23
24
  props: /* @__PURE__ */ _({
24
25
  pFrame: {},
@@ -62,7 +63,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
62
63
  const a = "platforma" in window ? (i = window.platforma) == null ? void 0 : i.pFrameDriver : o.driver;
63
64
  if (!a)
64
65
  throw new Error("PFrame driver is missing");
65
- k.value = new de(
66
+ k.value = new De(
66
67
  e,
67
68
  a,
68
69
  o.labelsModifier
@@ -72,7 +73,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
72
73
  s(() => o.fixedOptions, (e, a) => {
73
74
  (e && a && JSON.stringify(e) !== JSON.stringify(a) || e && !a || a && !e) && (I.value = e);
74
75
  }, { deep: !0 });
75
- const y = f(o.defaultOptions), t = be(
76
+ const y = f(o.defaultOptions), t = ye(
76
77
  n(l.value),
77
78
  k,
78
79
  o.chartType,
@@ -104,9 +105,9 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
104
105
  }), y.value = o.defaultOptions ? [...o.defaultOptions] : [];
105
106
  }
106
107
  const x = g(() => t.value.reactive.dataStateKey);
107
- s(() => pe(o.dataStateKey), (e) => {
108
+ s(() => ve(o.dataStateKey), (e) => {
108
109
  if ((e !== void 0 || x.value !== void 0) && x.value !== e) {
109
- l.value.optionsState = d(ve(o.chartType));
110
+ l.value.optionsState = d(de(o.chartType));
110
111
  const a = V(n(l.value), o.chartType);
111
112
  Object.assign(t.value.reactive, a), Object.assign(t.value.loading, {
112
113
  initialInputGuide: !0,
@@ -118,7 +119,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
118
119
  }
119
120
  t.value.reactive.dataStateKey = e;
120
121
  }, { deep: !0, immediate: !0 });
121
- const z = g(() => ye(t.value.reactive.currentTab)), r = E(null), N = f(null), L = f(!1), $ = g(() => {
122
+ const z = g(() => Se(t.value.reactive.currentTab)), r = E(null), N = f(null), L = f(!1), $ = g(() => {
122
123
  var i;
123
124
  const e = t.value.inputGuide.value, a = t.value.chartData.value;
124
125
  return e.consistent ? e.ready ? a && ((i = Object.values(a.data.byColumns.values)[0]) == null ? void 0 : i.length) === 0 ? "empty" : L.value ? "error" : "ready" : "notReady" : "inconsistent";
@@ -264,7 +265,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
264
265
  });
265
266
  function X() {
266
267
  var e;
267
- De(
268
+ be(
268
269
  new Blob([
269
270
  ((e = r.value) == null ? void 0 : e.export()) ?? ""
270
271
  ]),
@@ -284,7 +285,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
284
285
  const K = ne(), ee = g(() => !!K.settingsSlot), te = g(() => !!K.logSlot);
285
286
  return (e, a) => (h(), re("div", Te, [
286
287
  ue("div", Ce, [
287
- U(me, {
288
+ U(pe, {
288
289
  "graph-status": $.value,
289
290
  graphTitle: l.value.title,
290
291
  chartData: N.value,
@@ -299,19 +300,19 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
299
300
  ]),
300
301
  _: 3
301
302
  }, 8, ["graph-status", "graphTitle", "chartData", "chart-ref", "dendroTooltipButton"]),
302
- u(t).loading.initialInputGuide ? (h(), D(fe, {
303
+ u(t).loading.initialInputGuide ? (h(), D(me, {
303
304
  key: 0,
304
305
  top: 67,
305
306
  left: 12,
306
307
  right: 12,
307
308
  bottom: 12
308
309
  })) : S("", !0),
309
- u(t).loading.initialInputGuide ? S("", !0) : (h(), D(Se, {
310
+ u(t).loading.initialInputGuide ? S("", !0) : (h(), D(he, {
310
311
  key: 1,
311
312
  id: "graph-settings-modal"
312
313
  }, {
313
314
  default: T(() => [
314
- u(t).reactive.currentTab ? (h(), D(ge, {
315
+ u(t).reactive.currentTab ? (h(), D(fe, {
315
316
  key: 0,
316
317
  onClose: a[1] || (a[1] = (i) => u(t).reactive.currentTab = null)
317
318
  }, {
@@ -330,7 +331,7 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
330
331
  _: 3
331
332
  }))
332
333
  ]),
333
- U(he, {
334
+ U(ge, {
334
335
  "chart-type": u(t).reactive.chartType,
335
336
  "graph-status": $.value,
336
337
  allowDeleting: e.allowChartDeleting,
@@ -346,6 +347,6 @@ const Te = { class: "graph-maker" }, Ce = { class: "graph-maker__main-pane" }, V
346
347
  }
347
348
  });
348
349
  export {
349
- Ve as default
350
+ Ae as default
350
351
  };
351
352
  //# sourceMappingURL=index.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../src/GraphMaker/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n ChartInterface,\n DataByColumns,\n LassoControlsState,\n MiPlots,\n Settings\n} from '@milaboratories/miplots4';\nimport {\n ChartType,\n DemoDataStore, getInitialStateByType,\n PlotDataAndSettings\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, AxisValue, PFrameDriver, PlSelectionModel } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport Loading from './components/Loading.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport { useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { GraphMakerState, GraphStatus } from './types';\nimport { DendroNodeInfo, GraphMakerProps } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\n\nconsole.log('error!!!')\nconst emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframeValue) => {\n if (!pframeValue) {\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframeValue,\n driver,\n props.labelsModifier\n );\n}, { immediate: true });\n\n\n//fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue) ||\n value && !oldValue ||\n oldValue && !value\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\n\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.readonlyInputs\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, {deep: true, immediate: true});\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\n\nconst graphStatus = computed<GraphStatus>(() => {\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return 'error';\n }\n return 'ready';\n});\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v:boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes:number[], polygons:{points:[number, number][], closed: boolean}[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = {axesSpec: [], selectedKeys: []};\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map(axisKey => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx] as AxisValue))\n };\n}\n\nfunction onLassoStateChange (v:LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nconst graphEventHandlers:Record<ChartType, unknown> = {\n dendro: [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange\n },\n discrete: [onTooltipHintSwitch],\n scatterplot: {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange\n },\n histogram: [onTooltipHintSwitch],\n heatmap: [onTooltipHintSwitch],\n bubble: [onTooltipHintSwitch]\n}\nfunction updateChart(value: {data: PlotDataAndSettings['data']['byColumns'], settings: PlotDataAndSettings['settings']} | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData(toRaw(value.data), toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n}\n\nconst chartDataForRender = shallowRef<{settings:Settings, data:DataByColumns} | null>(null);\nwatch([\n () => state.value.chartData.value\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive)\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n );\n}, {deep: true});\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab\n }\n}, { debounce: 1000});\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey\n }\n}, {immediate: true});\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? ''\n ]),\n 'chart.svg'\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <chart\n :graph-status=\"graphStatus\"\n :graphTitle=\"graphMakerState.title\"\n :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\"\n :dendroTooltipButton=\"tooltipButton\"\n @graph-title-update=\"updateGraphTitle\"\n @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id:string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\"></slot>\n </chart>\n <loading v-if=\"state.loading.initialInputGuide\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" />\n <TransitionSlidePanel id=\"graph-settings-modal\" v-if=\"!state.loading.initialInputGuide\">\n <panel-modal v-if=\"state.reactive.currentTab\" @close=\"state.reactive.currentTab = null\">\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\"></slot> \n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\"></slot> \n </component>\n </panel-modal>\n </TransitionSlidePanel>\n </div>\n <v-tabs\n :chart-type=\"state.reactive.chartType\"\n :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\"\n :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\"\n :initialLoading=\"state.loading.initialInputGuide\"\n v-model=\"state.reactive.currentTab\"\n @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframeValue","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","copyJSON","getInitialStateByType","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","graphStatus","inputGuide","chartData","onTreeNodeClick","d","onTooltipHintSwitch","v","onLassoPolygonUpdate","dotIndexes","polygons","axesData","_b","axisKeys","axisKey","idx","onLassoStateChange","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasSettingsSlot","hasLogSlot"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../src/GraphMaker/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n ChartInterface,\n DataByColumns,\n LassoControlsState,\n MiPlots,\n Settings\n} from '@milaboratories/miplots4';\nimport {\n ChartType,\n DemoDataStore, getInitialStateByType,\n PlotDataAndSettings\n} from '@milaboratories/pf-plots';\nimport type { AxisSpec, AxisValue, PFrameDriver, PlSelectionModel } from '@platforma-sdk/model';\nimport { watchDebounced } from '@vueuse/core';\nimport canonicalize from 'canonicalize';\nimport { computed, onMounted, onUnmounted, ref, shallowRef, toRaw, useSlots, watch } from 'vue';\nimport './assets/ui.scss';\nimport Chart from './components/Chart.vue';\nimport Loading from './components/Loading.vue';\nimport PanelModal from './components/PanelModal.vue';\nimport VTabs from './components/SettingsTabs/index.vue';\nimport TransitionSlidePanel from './components/TransitionSlidePanel.vue';\nimport { useSettingsForm } from './forms';\nimport { createReactiveState, provideStore } from './store';\nimport type { GraphMakerState, GraphStatus } from './types';\nimport { DendroNodeInfo, GraphMakerProps } from './types';\nimport { composeChartSettings, saveToFile } from './utils';\nimport { copyJSON } from './utils/copyJSON';\n\nconsole.log('error!!!')\nconst emit = defineEmits(['delete-this-graph', 'tooltip-btn-click']);\n\nconst graphMakerState = defineModel<GraphMakerState>({ required: true });\nconst selectionState = defineModel<PlSelectionModel>('selection');\n\nconst props = defineProps<GraphMakerProps>();\n\ndefineExpose({\n /**\n reset() will update data-mapping, axis-settings, layers-settings with the state that is in v-model at the moment.\n In other cases editing of v-model fields doesn't make any impact to graphs and interface.\n Besides, after reset default-options will be applied again. You can use reset to apply new default-options.\n */\n reset,\n /**\n Apply new defaults without resetting all the state\n */\n resetDefaults\n});\n\nconst dataStore = ref<DemoDataStore | null>(null);\n\nwatch(() => props.pFrame, (pframeValue) => {\n if (!pframeValue) {\n return;\n }\n const driver = ('platforma' in window) ? window.platforma?.pFrameDriver as PFrameDriver : props.driver;\n if (!driver) {\n throw new Error('PFrame driver is missing');\n }\n dataStore.value = new DemoDataStore(\n pframeValue,\n driver,\n props.labelsModifier\n );\n}, { immediate: true });\n\n\n//fixed options can be updated outside, other settings only inside from chart settings interface, so we don't watching other settings\nconst fixedOptions = ref<typeof props.fixedOptions>(props.fixedOptions ?? []);\nwatch(() => props.fixedOptions, (value, oldValue) => {\n if (\n value && oldValue && JSON.stringify(value) !== JSON.stringify(oldValue) ||\n value && !oldValue ||\n oldValue && !value\n ) {\n fixedOptions.value = value;\n }\n}, { deep: true });\nconst defaultOptions = ref<typeof props.defaultOptions>(props.defaultOptions);\n\nconst state = provideStore(\n toRaw(graphMakerState.value),\n dataStore,\n props.chartType,\n defaultOptions,\n fixedOptions,\n props.dataColumnPredicate,\n props.readonlyInputs\n);\n\nfunction reset() {\n const nextReactiveState = createReactiveState(\n toRaw(graphMakerState.value),\n props.chartType\n );\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions;\n}\n\nfunction resetDefaults() {\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : [];\n}\n\nconst prevDataKey = computed(() => state.value.reactive.dataStateKey);\nwatch(() => canonicalize(props.dataStateKey), (keyValue) => {\n if ((keyValue !== undefined || prevDataKey.value !== undefined) && prevDataKey.value !== keyValue) {\n graphMakerState.value.optionsState = copyJSON(getInitialStateByType(props.chartType));\n const nextReactiveState = createReactiveState(toRaw(graphMakerState.value), props.chartType);\n Object.assign(state.value.reactive, nextReactiveState);\n Object.assign(state.value.loading, {\n initialInputGuide: true,\n initialCharts: true,\n initialDefaults: true,\n inputGuide: false,\n chartData: false,\n });\n defaultOptions.value = props.defaultOptions ? [...props.defaultOptions] as typeof props.defaultOptions : []; // to trigger watch on defaults\n }\n state.value.reactive.dataStateKey = keyValue;\n}, {deep: true, immediate: true});\n\nconst currentForm = computed(() => useSettingsForm(state.value.reactive.currentTab));\n\nconst chartRef = shallowRef<ChartInterface | null>(null);\nconst chartCalculatedDataRef = ref<Record<string, unknown> | null>(null);\nconst chartError = ref(false);\n\nconst graphStatus = computed<GraphStatus>(() => {\n const inputGuide = state.value.inputGuide.value;\n const chartData = state.value.chartData.value;\n if (!inputGuide.consistent) {\n return 'inconsistent';\n }\n if (!inputGuide.ready) {\n return 'notReady';\n }\n if (chartData && Object.values(chartData.data.byColumns.values)[0]?.length === 0) {\n return 'empty';\n }\n if (chartError.value) {\n return 'error';\n }\n return 'ready';\n});\nfunction onTreeNodeClick(d: DendroNodeInfo) {\n state.value.reactive.dendroSelectedNodeId = d?.info[0]?.id as number;\n state.value.reactive.dendroInfoByClick = d;\n}\n\nfunction onTooltipHintSwitch(v:boolean) {\n state.value.reactive.showTooltipHint = v;\n}\n\nfunction onLassoPolygonUpdate(dotIndexes:number[], polygons:{points:[number, number][], closed: boolean}[]) {\n graphMakerState.value = {\n ...graphMakerState.value,\n selectedPolygons: polygons\n };\n\n const axesData = state.value.chartData.value?.data?.axesData;\n if (dotIndexes.length === 0 || !axesData) {\n selectionState.value = {axesSpec: [], selectedKeys: []};\n return;\n }\n\n const axisKeys = Object.keys(axesData);\n const inputGuide = state.value.inputGuide.value;\n selectionState.value = {\n axesSpec: axisKeys.map(axisKey => inputGuide.getSourceInfo(axisKey).spec as AxisSpec),\n selectedKeys: dotIndexes.map((idx) => axisKeys.map((axisKey) => axesData[axisKey][idx] as AxisValue))\n };\n}\n\nfunction onLassoStateChange (v:LassoControlsState) {\n state.value.reactive.lassoControlsState = v;\n}\nconst graphEventHandlers:Record<ChartType, unknown> = {\n dendro: [onTreeNodeClick],\n 'scatterplot-umap': {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange\n },\n discrete: [onTooltipHintSwitch],\n scatterplot: {\n onPolygonUpdate: onLassoPolygonUpdate,\n onTooltipHintSwitch,\n onLassoControlsStateUpdate: onLassoStateChange\n },\n histogram: [onTooltipHintSwitch],\n heatmap: [onTooltipHintSwitch],\n bubble: [onTooltipHintSwitch]\n}\nfunction updateChart(value: {data: PlotDataAndSettings['data']['byColumns'], settings: PlotDataAndSettings['settings']} | null) {\n // if dataByColumns exists but columns has no data - show empty chart\n if (value && Object.values(value.data.values)[0]?.length > 0) {\n // console.log('value.dataByColumns', toRaw(value.data));\n // console.log('value.settings', toRaw(value.settings));\n if (chartRef.value) {\n chartRef.value.updateSettingsAndData(toRaw(value.data), toRaw(value.settings) as Settings);\n } else {\n const htmlNode = document.getElementById('chartSvgContainer');\n if (htmlNode) {\n chartRef.value = MiPlots.newPlot(toRaw(value.data), toRaw(value.settings) as Settings, graphEventHandlers[value.settings.type as ChartType]);\n if (value.settings.type === 'scatterplot-umap') {\n // set default polygons (from props)\n chartRef.value.updateChartState('polygon', graphMakerState.value.selectedPolygons ?? []);\n }\n chartRef.value.mount(htmlNode);\n }\n }\n // calculated by chart renderer data, tree hierarchy for example\n chartCalculatedDataRef.value = chartRef.value?.calculatedData ? { ...chartRef.value.calculatedData } : null;\n chartError.value = chartRef.value?.hasError ?? false;\n } else {\n chartRef.value?.unmount();\n chartRef.value = null;\n }\n}\n\nconst chartDataForRender = shallowRef<{settings:Settings, data:DataByColumns} | null>(null);\nwatch([\n () => state.value.chartData.value\n], ([chartData]) => {\n chartDataForRender.value = composeChartSettings(\n toRaw(chartData),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive)\n );\n});\nwatch([\n () => state.value.reactive.template,\n () => state.value.reactive.layersSettings,\n () => state.value.reactive.axesSettings,\n () => state.value.reactive.statisticsSettings,\n () => state.value.reactive.dataBindAes,\n () => state.value.reactive.chartScale,\n], () => {\n chartDataForRender.value = composeChartSettings(\n toRaw(state.value.chartData.value),\n toRaw(state.value.inputGuide.value),\n toRaw(state.value.uniqueValuesData.value),\n toRaw(state.value.filterLabelsInfo.value),\n toRaw(state.value.reactive),\n );\n}, {deep: true});\n\nwatch(() => chartDataForRender.value, (chartData) => {\n updateChart(chartData);\n});\nonMounted(() => {\n updateChart(null);\n});\nonUnmounted(() => {\n chartRef.value?.unmount();\n});\n\nwatchDebounced(() => state.value.reactive.optionsState, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n optionsState: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.statisticsSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n statisticsSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.axesSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n axesSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.layersSettings, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n layersSettings: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\nwatchDebounced(() => state.value.reactive.dataBindAes, (v) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataBindAes: copyJSON(v)\n }\n}, {deep: true, debounce: 1000});\n\nwatchDebounced([\n () => state.value.reactive.chartScale,\n () => state.value.reactive.template,\n () => state.value.reactive.currentTab\n], ([zoomState, template, currentTab]) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n zoomState,\n template,\n currentTab\n }\n}, { debounce: 1000});\n\nwatch(() => state.value.reactive.dataStateKey, (dataStateKey) => {\n graphMakerState.value = {\n ...graphMakerState.value,\n dataStateKey\n }\n}, {immediate: true});\n\nwatch(() => graphMakerState.value.currentTab, (v) => {\n state.value.reactive.currentTab = v === undefined ? 'dataMapping' : v;\n});\n\nwatch(() => graphMakerState.value?.layersSettings?.dendro?.showTable, (v) => {\n state.value.reactive.layersSettings.dendro.showTable = v ?? false;\n});\n\nfunction onExport() {\n saveToFile(\n new Blob([\n chartRef.value?.export() ?? ''\n ]),\n 'chart.svg'\n );\n}\n\nfunction updateGraphTitle(nextTitle: string) {\n graphMakerState.value = {\n ...graphMakerState.value,\n title: nextTitle\n };\n}\n\nfunction selectTreeNode(id: number | null) {\n state.value.reactive.dendroSelectedNodeId = id;\n chartRef.value?.updateChartState('selectedNode', id);\n}\n\nconst slots = useSlots();\n\nconst hasSettingsSlot = computed(() => Boolean(slots.settingsSlot));\nconst hasLogSlot = computed(() => Boolean(slots.logSlot));\n\n</script>\n\n<template>\n <div class=\"graph-maker\">\n <div class=\"graph-maker__main-pane\">\n <chart\n :graph-status=\"graphStatus\"\n :graphTitle=\"graphMakerState.title\"\n :chartData=\"chartCalculatedDataRef\"\n :chart-ref=\"chartRef\"\n :dendroTooltipButton=\"tooltipButton\"\n @graph-title-update=\"updateGraphTitle\"\n @dendro-node-select=\"selectTreeNode\"\n @dendro-tooltip-btn-click=\"(id:string) => $emit('tooltip-btn-click', id)\"\n >\n <slot name=\"titleLineSlot\"></slot>\n </chart>\n <loading v-if=\"state.loading.initialInputGuide\" :top=\"67\" :left=\"12\" :right=\"12\" :bottom=\"12\" />\n <TransitionSlidePanel id=\"graph-settings-modal\" v-if=\"!state.loading.initialInputGuide\">\n <panel-modal v-if=\"state.reactive.currentTab\" @close=\"state.reactive.currentTab = null\">\n <component :is=\"currentForm.value\">\n <slot v-if=\"state.reactive.currentTab === 'settings'\" name=\"settingsSlot\"></slot> \n <slot v-if=\"state.reactive.currentTab === 'log'\" name=\"logSlot\"></slot> \n </component>\n </panel-modal>\n </TransitionSlidePanel>\n </div>\n <v-tabs\n :chart-type=\"state.reactive.chartType\"\n :graph-status=\"graphStatus\"\n :allowDeleting=\"allowChartDeleting\"\n :hasSettingsSlot=\"hasSettingsSlot\"\n :hasLogSlot=\"hasLogSlot\"\n :initialLoading=\"state.loading.initialInputGuide\"\n v-model=\"state.reactive.currentTab\"\n @export=\"onExport\"\n @delete=\"$emit('delete-this-graph')\"\n />\n </div>\n</template>\n"],"names":["graphMakerState","_useModel","selectionState","__props","props","__expose","reset","resetDefaults","dataStore","ref","watch","pframeValue","driver","_a","DemoDataStore","fixedOptions","value","oldValue","defaultOptions","state","provideStore","toRaw","nextReactiveState","createReactiveState","prevDataKey","computed","canonicalize","keyValue","copyJSON","getInitialStateByType","currentForm","useSettingsForm","chartRef","shallowRef","chartCalculatedDataRef","chartError","graphStatus","inputGuide","chartData","onTreeNodeClick","d","onTooltipHintSwitch","v","onLassoPolygonUpdate","dotIndexes","polygons","axesData","_b","axisKeys","axisKey","idx","onLassoStateChange","graphEventHandlers","updateChart","htmlNode","MiPlots","_c","_d","chartDataForRender","composeChartSettings","onMounted","onUnmounted","watchDebounced","zoomState","template","currentTab","dataStateKey","onExport","saveToFile","updateGraphTitle","nextTitle","selectTreeNode","id","slots","useSlots","hasSettingsSlot","hasLogSlot"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { deepClone as j } from "../node_modules/@milaboratories/helpers/dist/index.js";
2
2
  import { getControllerByType as A, getInitialStateByType as k } from "../node_modules/@milaboratories/pf-plots/dist/index.js";
3
- import { ref as p, computed as D, toRaw as w, watch as h, provide as z, reactive as M, inject as J } from "vue";
3
+ import { ref as p, computed as D, toRaw as w, watch as T, provide as z, reactive as M, inject as J } from "vue";
4
4
  import { getInitialAxesSettings as O, getInitialLayersSettings as P, getInitialStatisticsState as V, getInitialTemplate as W } from "./constantsCommon.js";
5
5
  import { updateDataBindAes as q } from "./dataBindAes.js";
6
6
  import { notEmpty as Q } from "./helpers.js";
@@ -97,8 +97,8 @@ function et(t, e, c, d, f, v, m, a) {
97
97
  };
98
98
  }
99
99
  function St(t, e, c, d, f, v, m) {
100
- const a = tt(t, c), g = A(a.chartType), y = p(A(a.chartType).getEmptyInputGuide(a.optionsState)), x = p(null), T = p({}), B = p({}), F = p(null), o = D(() => et(a, w(e.value), y, x, F, T, B, m));
101
- h([
100
+ const a = tt(t, c), g = A(a.chartType), y = p(A(a.chartType).getEmptyInputGuide(a.optionsState)), x = p(null), h = p({}), B = p({}), F = p(null), o = D(() => et(a, w(e.value), y, x, F, h, B, m));
101
+ T([
102
102
  () => e.value,
103
103
  () => d.value
104
104
  ], async ([l, i]) => {
@@ -136,7 +136,7 @@ function St(t, e, c, d, f, v, m) {
136
136
  };
137
137
  }, { immediate: !0 });
138
138
  const b = p(0);
139
- h([
139
+ T([
140
140
  () => a.optionsState,
141
141
  () => e.value,
142
142
  () => f.value
@@ -152,18 +152,18 @@ function St(t, e, c, d, f, v, m) {
152
152
  }
153
153
  }, { immediate: !0, deep: !0 });
154
154
  const I = p(0);
155
- if (h(() => y.value, async (l) => {
155
+ if (T(() => y.value, async (l) => {
156
156
  I.value++;
157
157
  const i = I.value;
158
158
  o.value.loading.chartData = !0;
159
159
  const n = w(e.value), r = await X(l, a, n, f.value);
160
- r && n && (T.value = await _(
160
+ r && n && (h.value = await _(
161
161
  r,
162
162
  l,
163
163
  g,
164
164
  n,
165
- T.value
166
- ), q(a.optionsState, a.dataBindAes, T.value)), B.value = n ? await $(
165
+ h.value
166
+ ), q(a.optionsState, a.dataBindAes, h.value)), B.value = n ? await $(
167
167
  a.optionsState.components,
168
168
  l,
169
169
  g,
@@ -171,7 +171,7 @@ function St(t, e, c, d, f, v, m) {
171
171
  ) : {}, i === I.value && (x.value = r, l.ready && (o.value.loading.initialCharts = !1), o.value.loading.chartData = !1);
172
172
  }, { immediate: !0, deep: !0 }), a.chartType === "dendro") {
173
173
  const l = p(0);
174
- h([
174
+ T([
175
175
  () => a.optionsState,
176
176
  () => e.value,
177
177
  () => y.value.readyData,
@@ -1 +1 @@
1
- {"version":3,"file":"composeScatterplotSettings.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composeScatterplotSettings.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"names":[],"mappings":"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"}
@@ -1,92 +1,94 @@
1
- import { PALETTE_MAP as D, DEFAULT_CATEGORICAL_PALETTE as F, UNKNOWN_COLOR as C, DEFAULT_BLACK as P } from "../../constantsAesthetic.js";
2
- import { SCATTERPLOT_TEMPLATES_MAP as R, isMappedAes as K, THRESHOLDS_KEY as N, PALETTE_KEY as I, UPPER_LIMIT_KEY as y, LOWER_LIMIT_KEY as T, SYMMETRIC_RANGE_KEY as L } from "../../constantsCommon.js";
3
- import { getScatterplotAes as M, DEFAULT_LINE_WIDTH as U, DEFAULT_DOT_SIZE as Y, DEFAULT_DOT_SHAPE as H } from "../../dataBindAes.js";
4
- import { getScatterplotLayersSettings as V } from "./getLayersDataFromForms.js";
5
- import { getAxesDataFromForms as W } from "./getAxesDataFromForms.js";
1
+ import { PALETTE_MAP as O, DEFAULT_CATEGORICAL_PALETTE as P, UNKNOWN_COLOR as R, DEFAULT_BLACK as K } from "../../constantsAesthetic.js";
2
+ import { SCATTERPLOT_TEMPLATES_MAP as M, isMappedAes as U, THRESHOLDS_KEY as g, PALETTE_KEY as D, UPPER_LIMIT_KEY as y, LOWER_LIMIT_KEY as T, SYMMETRIC_RANGE_KEY as L } from "../../constantsCommon.js";
3
+ import { getScatterplotAes as Y, DEFAULT_LINE_WIDTH as H, DEFAULT_DOT_SIZE as V, DEFAULT_DOT_SHAPE as W } from "../../dataBindAes.js";
4
+ import { getScatterplotLayersSettings as j } from "./getLayersDataFromForms.js";
5
+ import { getAxesDataFromForms as k } from "./getAxesDataFromForms.js";
6
6
  import "../../../node_modules/@milaboratories/pf-plots/dist/index.js";
7
7
  import "vue";
8
- function j(o, f, n, m, r) {
9
- var x, E, u, A;
10
- const s = (x = f.selectorStates[0]) == null ? void 0 : x.selectedSource, i = (E = n.selectorStates[0]) == null ? void 0 : E.selectedSource, c = (u = m.selectorStates[0]) == null ? void 0 : u.selectedSource, t = r.getSourceInfo(i), e = r.getSourceInfo(c);
11
- if (f.selectorStates.length) {
12
- const a = r.getSourceInfo(s).annotations;
13
- if (a != null && a[N] && (JSON.parse(a[N]) ?? []).forEach((_) => {
14
- const { columnId: l, value: S } = _;
8
+ function w(o, u, n, f, s) {
9
+ var x, d, m, A, E;
10
+ const r = (x = u.selectorStates[0]) == null ? void 0 : x.selectedSource, i = (d = n.selectorStates[0]) == null ? void 0 : d.selectedSource, c = (m = f.selectorStates[0]) == null ? void 0 : m.selectedSource, t = s.getSourceInfo(i), e = s.getSourceInfo(c);
11
+ if (o.grouping = [...o.grouping ?? []].map((a) => ({ ...a })), u.selectorStates.length) {
12
+ const a = s.getSourceInfo(r).annotations;
13
+ if (a != null && a[g] && (JSON.parse(a[g]) ?? []).forEach((h) => {
14
+ const { columnId: l, value: S } = h;
15
15
  l && t.kind === "column" && t.type === l.valueType && t.name === l.name && (o.xAxis.significantLines || (o.xAxis.significantLines = []), o.xAxis.significantLines.push(Number(S))), l && e.kind === "column" && e.type === l.valueType && e.name === l.name && (o.yAxis.significantLines || (o.yAxis.significantLines = []), o.yAxis.significantLines.push(Number(S)));
16
- }), a != null && a[I]) {
17
- const d = JSON.parse(a[I]), { mapping: _ = {}, name: l = "" } = d;
16
+ }), a != null && a[D]) {
17
+ const N = JSON.parse(a[D]), { mapping: h = {}, name: l = "" } = N;
18
18
  o.layers.forEach((p) => {
19
- p.type === "dots" && (p.aes || (p.aes = {}), p.aes.dotFill = { type: "grouping", value: s });
19
+ p.type === "dots" && (p.aes || (p.aes = {}), p.aes.dotFill = { type: "grouping", value: r });
20
+ });
21
+ const S = [...Object.entries(h), ["null", R]], b = ((A = O[l]) == null ? void 0 : A.colors) ?? [];
22
+ (E = o.grouping) == null || E.forEach((p) => {
23
+ p.columnName.value === r && (p.inheritedAes = S.reduce((I, [F, C]) => {
24
+ const _ = b[Number(C)] ?? K;
25
+ return I[F] = {
26
+ fillColor: _,
27
+ lineColor: _,
28
+ dotFill: _,
29
+ dotShape: W,
30
+ dotSize: V,
31
+ lineWidth: H
32
+ }, I;
33
+ }, {}));
20
34
  });
21
- const S = [...Object.entries(_), ["null", C]], O = ((A = D[l]) == null ? void 0 : A.colors) ?? [];
22
- o.inheritedAes[s] = S.reduce((p, [b, g]) => {
23
- const h = O[Number(g)] ?? P;
24
- return p[b] = {
25
- fillColor: h,
26
- lineColor: h,
27
- dotFill: h,
28
- dotShape: H,
29
- dotSize: Y,
30
- lineWidth: U
31
- }, p;
32
- }, {});
33
35
  }
34
36
  }
35
37
  t.annotations && (t.annotations[y] && (o.xAxis.upperValue = Number(t.annotations[y])), t.annotations[T] && (o.xAxis.lowerValue = Number(t.annotations[T])), t.annotations[L] && (o.xAxis.symmetricRange = Number(t.annotations[L]))), e.annotations && (e.annotations[y] && (o.yAxis.upperValue = Number(e.annotations[y])), e.annotations[T] && (o.yAxis.lowerValue = Number(e.annotations[T])), e.annotations[L] && (o.yAxis.symmetricRange = Number(e.annotations[L])));
36
38
  }
37
- function k(o, f, n, m, r) {
38
- (f.selectorStates.length || n != null && n.selectorStates.length) && (o.grouping = [...o.grouping ?? []].map((s) => ({ ...s })), o.grouping.forEach((s) => {
39
- const i = s.columnName.value, c = M(i, m, r);
40
- c.order.length ? (s.order = c.order, s.inheritedAes = c.inheritedAes) : o.layers.forEach((t) => {
39
+ function B(o, u, n, f, s) {
40
+ (u.selectorStates.length || n != null && n.selectorStates.length) && (o.grouping = [...o.grouping ?? []].map((r) => ({ ...r })), o.grouping.forEach((r) => {
41
+ const i = r.columnName.value, c = Y(i, f, s);
42
+ c.order.length ? (r.order = c.order, r.inheritedAes = c.inheritedAes) : o.layers.forEach((t) => {
41
43
  const e = t.aes;
42
44
  if (!e)
43
45
  return;
44
- Object.keys(e).forEach((E) => {
45
- var A, a;
46
- const u = e[E];
47
- if (K(u) && u.value === i) {
48
- const d = ((a = D[((A = r[i]) == null ? void 0 : A.palette) ?? F]) == null ? void 0 : a.colors) ?? [];
49
- u.palette = d;
46
+ Object.keys(e).forEach((d) => {
47
+ var A, E;
48
+ const m = e[d];
49
+ if (U(m) && m.value === i) {
50
+ const a = ((E = O[((A = s[i]) == null ? void 0 : A.palette) ?? P]) == null ? void 0 : E.colors) ?? [];
51
+ m.palette = a;
50
52
  }
51
53
  });
52
54
  });
53
55
  }));
54
56
  }
55
- function X(o, f, n, m, r) {
57
+ function G(o, u, n, f, s) {
56
58
  var c, t;
57
- o.layers = V(
58
- R[n.template],
59
+ o.layers = j(
60
+ M[n.template],
59
61
  n.layersSettings,
60
- f,
62
+ u,
61
63
  n.optionsState,
62
64
  n.dataBindAes,
63
- m,
65
+ f,
64
66
  (c = o == null ? void 0 : o.grouping) == null ? void 0 : c.map((e) => e.columnName)
65
- ), k(
67
+ ), B(
66
68
  o,
67
69
  n.optionsState.components.grouping,
68
70
  n.optionsState.components.shape,
69
- r,
71
+ s,
70
72
  n.dataBindAes
71
73
  );
72
- const s = n.statisticsSettings, i = o.layers.find((e) => e.type === "dots");
73
- return s.trend.on && i && (o.trend = {
74
+ const r = n.statisticsSettings, i = o.layers.find((e) => e.type === "dots");
75
+ return r.trend.on && i && (o.trend = {
74
76
  color: (t = i.aes) == null ? void 0 : t.dotFill,
75
77
  bounded: !1
76
78
  }), Object.assign(
77
79
  o,
78
- W(n.axesSettings, n.chartType)
79
- ), j(
80
+ k(n.axesSettings, n.chartType)
81
+ ), w(
80
82
  o,
81
83
  n.optionsState.components.grouping,
82
84
  n.optionsState.components.x,
83
85
  n.optionsState.components.y,
84
- m
86
+ f
85
87
  ), o;
86
88
  }
87
89
  export {
88
- j as applyChartInfoFromAnnotations,
89
- k as applyInheritedAes,
90
- X as composeScatterplotSettings
90
+ w as applyChartInfoFromAnnotations,
91
+ B as applyInheritedAes,
92
+ G as composeScatterplotSettings
91
93
  };
92
94
  //# sourceMappingURL=composeScatterplotSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeScatterplotSettings.js","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport {\n ComponentStateFilter,\n ComponentStateSimple,\n InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState\n} from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n DEFAULT_CATEGORICAL_PALETTE,\n PALETTE_MAP,\n UNKNOWN_COLOR\n} from '../../constantsAesthetic';\nimport {\n isMappedAes,\n LOWER_LIMIT_KEY, MappingLink,\n PALETTE_KEY,\n SCATTERPLOT_TEMPLATES_MAP,\n ScatterplotStatisticsState, SYMMETRIC_RANGE_KEY,\n THRESHOLDS_KEY, UPPER_LIMIT_KEY\n} from '../../constantsCommon';\nimport {\n AestheticMappingState,\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes\n} from '../../dataBindAes';\nimport {\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap\n} from '../../types';\nimport { getAxesDataFromForms, getScatterplotLayersSettings } from '../index';\n\nexport function applyChartInfoFromAnnotations (\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n x: ComponentStateSimple | ComponentStateFilter,\n y: ComponentStateSimple | ComponentStateFilter,\n inputGuide: InputGuide<InputState>\n) {\n const groupingSource = grouping.selectorStates[0]?.selectedSource;\n const xSource = x.selectorStates[0]?.selectedSource;\n const ySource = y.selectorStates[0]?.selectedSource;\n const xInfo = inputGuide.getSourceInfo(xSource);\n const yInfo = inputGuide.getSourceInfo(ySource);\n\n if (grouping.selectorStates.length) {\n const annotations = inputGuide.getSourceInfo(groupingSource).annotations;\n if (annotations?.[THRESHOLDS_KEY]) {\n const thresholdsData = JSON.parse(annotations[THRESHOLDS_KEY]) ?? [];\n\n thresholdsData.forEach((thresholdData: { columnId: Record<string, string>, value: number }) => {\n const { columnId, value } = thresholdData;\n if (columnId && (xInfo.kind === 'column' && xInfo.type === columnId.valueType && xInfo.name === columnId.name)) {\n if (!settings.xAxis!.significantLines) {\n settings.xAxis!.significantLines = [];\n }\n settings.xAxis!.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!settings.yAxis!.significantLines) {\n settings.yAxis!.significantLines = [];\n }\n settings.yAxis!.significantLines.push(Number(value));\n }\n });\n }\n\n if (annotations?.[PALETTE_KEY]) {\n const paletteData = JSON.parse(annotations[PALETTE_KEY]);\n const { mapping = {}, name = '' } = paletteData;\n settings.layers.forEach(layer => {\n if (layer.type === 'dots') {\n if (!layer.aes) {\n layer.aes = {};\n }\n layer.aes.dotFill = { type: 'grouping', value: groupingSource };\n }\n });\n const paletteEntries = [...Object.entries(mapping), ['null', UNKNOWN_COLOR]];\n const paletteColors = PALETTE_MAP[name as keyof typeof PALETTE_MAP]?.colors ?? [];\n settings.inheritedAes![groupingSource] = paletteEntries.reduce((res: Record<string, any>, [key, value]) => {\n const color = paletteColors[Number(value)] ?? DEFAULT_BLACK;\n res[key] = {\n fillColor: color,\n lineColor: color,\n dotFill: color,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH\n };\n return res;\n }, {});\n }\n }\n if (xInfo.annotations) {\n if (xInfo.annotations[UPPER_LIMIT_KEY]) {\n settings.xAxis!.upperValue = Number(xInfo.annotations[UPPER_LIMIT_KEY]);\n }\n if (xInfo.annotations[LOWER_LIMIT_KEY]) {\n settings.xAxis!.lowerValue = Number(xInfo.annotations[LOWER_LIMIT_KEY]);\n }\n if (xInfo.annotations[SYMMETRIC_RANGE_KEY]) {\n settings.xAxis!.symmetricRange = Number(xInfo.annotations[SYMMETRIC_RANGE_KEY]);\n }\n }\n\n if (yInfo.annotations) {\n if (yInfo.annotations[UPPER_LIMIT_KEY]) {\n settings.yAxis!.upperValue = Number(yInfo.annotations[UPPER_LIMIT_KEY]);\n }\n if (yInfo.annotations[LOWER_LIMIT_KEY]) {\n settings.yAxis!.lowerValue = Number(yInfo.annotations[LOWER_LIMIT_KEY]);\n }\n if (yInfo.annotations[SYMMETRIC_RANGE_KEY]) {\n settings.yAxis!.symmetricRange = Number(yInfo.annotations[SYMMETRIC_RANGE_KEY]);\n }\n }\n}\n\nexport function applyInheritedAes(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n shape: ComponentStateSimple | ComponentStateFilter | undefined,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState\n) {\n if (grouping.selectorStates.length || shape?.selectorStates.length) {\n settings.grouping = [...(settings.grouping ?? [])].map(v => ({...v}));\n settings.grouping.forEach((el) => {\n const selectedSource = el.columnName.value;\n const savedData = getScatterplotAes(selectedSource, uniqueValuesData, dataBindAes); // get saved or default color or shape mapping\n // if mapping exists but doesn't have saved order and value-color pairs - add just colors list to chart settings, chart will use it\n if (!savedData.order.length) {\n settings.layers.forEach(layer=> {\n const layerAes = layer.aes;\n if (!layerAes) {\n return;\n }\n const aesKeys = Object.keys(layerAes);\n aesKeys.forEach((aesKey) => {\n const value = layerAes[aesKey as keyof typeof layerAes] as unknown;\n if (isMappedAes(value) && value.value === selectedSource) {\n const colors = PALETTE_MAP[dataBindAes[selectedSource]?.palette ?? DEFAULT_CATEGORICAL_PALETTE]?.colors ?? [];\n (value as MappingLink & {palette: string[]}).palette = colors;\n }\n })\n })\n } else {\n el.order = savedData.order;\n el.inheritedAes = savedData.inheritedAes;\n }\n });\n }\n}\nexport function composeScatterplotSettings(\n settings: ScatterplotSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n settings?.grouping?.map(v => v.columnName)\n );\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.shape,\n uniqueValuesData,\n reactiveState.dataBindAes\n );\n\n const statisticsSettings = reactiveState.statisticsSettings as ScatterplotStatisticsState;\n const dotsLayer = settings.layers.find(layer => layer.type === 'dots');\n if (statisticsSettings.trend.on && dotsLayer) {\n settings.trend = {\n color: dotsLayer.aes?.dotFill,\n bounded: false\n };\n }\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType)\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide\n );\n\n return settings;\n}"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","annotations","THRESHOLDS_KEY","thresholdData","columnId","value","PALETTE_KEY","paletteData","mapping","name","layer","paletteEntries","UNKNOWN_COLOR","paletteColors","_d","PALETTE_MAP","res","key","color","DEFAULT_BLACK","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_LINE_WIDTH","UPPER_LIMIT_KEY","LOWER_LIMIT_KEY","SYMMETRIC_RANGE_KEY","applyInheritedAes","shape","uniqueValuesData","dataBindAes","v","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","DEFAULT_CATEGORICAL_PALETTE","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromForms"],"mappings":"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"}
1
+ {"version":3,"file":"composeScatterplotSettings.js","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport {\n ComponentStateFilter,\n ComponentStateSimple,\n InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState\n} from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n DEFAULT_CATEGORICAL_PALETTE,\n PALETTE_MAP,\n UNKNOWN_COLOR\n} from '../../constantsAesthetic';\nimport {\n isMappedAes,\n LOWER_LIMIT_KEY, MappingLink,\n PALETTE_KEY,\n SCATTERPLOT_TEMPLATES_MAP,\n ScatterplotStatisticsState, SYMMETRIC_RANGE_KEY,\n THRESHOLDS_KEY, UPPER_LIMIT_KEY\n} from '../../constantsCommon';\nimport {\n AestheticMappingState,\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes\n} from '../../dataBindAes';\nimport {\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap\n} from '../../types';\nimport { getAxesDataFromForms, getScatterplotLayersSettings } from '../index';\n\nexport function applyChartInfoFromAnnotations (\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n x: ComponentStateSimple | ComponentStateFilter,\n y: ComponentStateSimple | ComponentStateFilter,\n inputGuide: InputGuide<InputState>\n) {\n const groupingSource = grouping.selectorStates[0]?.selectedSource;\n const xSource = x.selectorStates[0]?.selectedSource;\n const ySource = y.selectorStates[0]?.selectedSource;\n const xInfo = inputGuide.getSourceInfo(xSource);\n const yInfo = inputGuide.getSourceInfo(ySource);\n\n settings.grouping = [...(settings.grouping ?? [])].map(v => ({...v}));\n\n if (grouping.selectorStates.length) {\n const annotations = inputGuide.getSourceInfo(groupingSource).annotations;\n if (annotations?.[THRESHOLDS_KEY]) {\n const thresholdsData = JSON.parse(annotations[THRESHOLDS_KEY]) ?? [];\n\n thresholdsData.forEach((thresholdData: { columnId: Record<string, string>, value: number }) => {\n const { columnId, value } = thresholdData;\n if (columnId && (xInfo.kind === 'column' && xInfo.type === columnId.valueType && xInfo.name === columnId.name)) {\n if (!settings.xAxis!.significantLines) {\n settings.xAxis!.significantLines = [];\n }\n settings.xAxis!.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!settings.yAxis!.significantLines) {\n settings.yAxis!.significantLines = [];\n }\n settings.yAxis!.significantLines.push(Number(value));\n }\n });\n }\n\n if (annotations?.[PALETTE_KEY]) {\n const paletteData = JSON.parse(annotations[PALETTE_KEY]);\n const { mapping = {}, name = '' } = paletteData;\n settings.layers.forEach(layer => {\n if (layer.type === 'dots') {\n if (!layer.aes) {\n layer.aes = {};\n }\n layer.aes.dotFill = { type: 'grouping', value: groupingSource };\n }\n });\n const paletteEntries = [...Object.entries(mapping), ['null', UNKNOWN_COLOR]];\n const paletteColors = PALETTE_MAP[name as keyof typeof PALETTE_MAP]?.colors ?? [];\n\n settings.grouping?.forEach((groupingElement) => {\n if (groupingElement.columnName.value === groupingSource) {\n groupingElement.inheritedAes = paletteEntries.reduce((res: Record<string, any>, [key, value]) => {\n const color = paletteColors[Number(value)] ?? DEFAULT_BLACK;\n res[key] = {\n fillColor: color,\n lineColor: color,\n dotFill: color,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH\n };\n return res;\n }, {})\n }\n })\n }\n }\n if (xInfo.annotations) {\n if (xInfo.annotations[UPPER_LIMIT_KEY]) {\n settings.xAxis!.upperValue = Number(xInfo.annotations[UPPER_LIMIT_KEY]);\n }\n if (xInfo.annotations[LOWER_LIMIT_KEY]) {\n settings.xAxis!.lowerValue = Number(xInfo.annotations[LOWER_LIMIT_KEY]);\n }\n if (xInfo.annotations[SYMMETRIC_RANGE_KEY]) {\n settings.xAxis!.symmetricRange = Number(xInfo.annotations[SYMMETRIC_RANGE_KEY]);\n }\n }\n\n if (yInfo.annotations) {\n if (yInfo.annotations[UPPER_LIMIT_KEY]) {\n settings.yAxis!.upperValue = Number(yInfo.annotations[UPPER_LIMIT_KEY]);\n }\n if (yInfo.annotations[LOWER_LIMIT_KEY]) {\n settings.yAxis!.lowerValue = Number(yInfo.annotations[LOWER_LIMIT_KEY]);\n }\n if (yInfo.annotations[SYMMETRIC_RANGE_KEY]) {\n settings.yAxis!.symmetricRange = Number(yInfo.annotations[SYMMETRIC_RANGE_KEY]);\n }\n }\n}\n\nexport function applyInheritedAes(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n shape: ComponentStateSimple | ComponentStateFilter | undefined,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState\n) {\n if (grouping.selectorStates.length || shape?.selectorStates.length) {\n settings.grouping = [...(settings.grouping ?? [])].map(v => ({...v}));\n settings.grouping.forEach((el) => {\n const selectedSource = el.columnName.value;\n const savedData = getScatterplotAes(selectedSource, uniqueValuesData, dataBindAes); // get saved or default color or shape mapping\n // if mapping exists but doesn't have saved order and value-color pairs - add just colors list to chart settings, chart will use it\n if (!savedData.order.length) {\n settings.layers.forEach(layer=> {\n const layerAes = layer.aes;\n if (!layerAes) {\n return;\n }\n const aesKeys = Object.keys(layerAes);\n aesKeys.forEach((aesKey) => {\n const value = layerAes[aesKey as keyof typeof layerAes] as unknown;\n if (isMappedAes(value) && value.value === selectedSource) {\n const colors = PALETTE_MAP[dataBindAes[selectedSource]?.palette ?? DEFAULT_CATEGORICAL_PALETTE]?.colors ?? [];\n (value as MappingLink & {palette: string[]}).palette = colors;\n }\n })\n })\n } else {\n el.order = savedData.order;\n el.inheritedAes = savedData.inheritedAes;\n }\n });\n }\n}\nexport function composeScatterplotSettings(\n settings: ScatterplotSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n settings?.grouping?.map(v => v.columnName)\n );\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.shape,\n uniqueValuesData,\n reactiveState.dataBindAes\n );\n\n const statisticsSettings = reactiveState.statisticsSettings as ScatterplotStatisticsState;\n const dotsLayer = settings.layers.find(layer => layer.type === 'dots');\n if (statisticsSettings.trend.on && dotsLayer) {\n settings.trend = {\n color: dotsLayer.aes?.dotFill,\n bounded: false\n };\n }\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType)\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide\n );\n\n return settings;\n}"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","v","annotations","THRESHOLDS_KEY","thresholdData","columnId","value","PALETTE_KEY","paletteData","mapping","name","layer","paletteEntries","UNKNOWN_COLOR","paletteColors","_d","PALETTE_MAP","_e","groupingElement","res","key","color","DEFAULT_BLACK","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_LINE_WIDTH","UPPER_LIMIT_KEY","LOWER_LIMIT_KEY","SYMMETRIC_RANGE_KEY","applyInheritedAes","shape","uniqueValuesData","dataBindAes","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","DEFAULT_CATEGORICAL_PALETTE","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromForms"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { AxisId as F } from "../../node_modules/@milaboratories/pf-plots/dist/index.js";
1
+ import "../../node_modules/@milaboratories/pf-plots/dist/index.js";
2
2
  import { toRaw as v } from "vue";
3
3
  import { SUBSET_FILTER_KEY as h } from "../constantsCommon.js";
4
+ import { AxisId as F } from "../../node_modules/@milaboratories/pf-plots/dist/spec.js";
4
5
  function w(n, r) {
5
6
  if (typeof n > "u")
6
7
  return !0;
@@ -10,7 +11,7 @@ function w(n, r) {
10
11
  function A(n, r, d, l) {
11
12
  return (r == null ? void 0 : r[h]) === "true" ? "subset" : l !== void 0 ? "range" : d !== void 0 || n === "Int" || n === "String" ? "equals" : "range";
12
13
  }
13
- async function k(n, r, d = !0) {
14
+ async function B(n, r, d = !0) {
14
15
  const l = [], V = r.filter(({ selectedSource: e }) => "kind" in e && e.kind === "PColumn"), T = r.filter(({ selectedSource: e }) => !("kind" in e && e.kind === "PColumn")), C = [];
15
16
  for (const { inputName: e, filterType: f, selectedSource: S, selectedFilterValue: u, selectedFilterRange: y, fixedAxes: a } of V) {
16
17
  const { name: p, valueType: m, annotations: c, domain: s } = S, o = await n.pFrameProvider.findColumnBy(p, m, v(c), v(s)), x = e === "filters" || e === "tabBy" || e === "highlight";
@@ -69,6 +70,6 @@ async function k(n, r, d = !0) {
69
70
  return l;
70
71
  }
71
72
  export {
72
- k as loadDefaultSources
73
+ B as loadDefaultSources
73
74
  };
74
75
  //# sourceMappingURL=loadDefaultSources.js.map