@milaboratories/graph-maker 1.1.191 → 1.1.193

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 (53) hide show
  1. package/dist/constantsAesthetic.d.ts +0 -1
  2. package/dist/constantsAesthetic.js +16 -17
  3. package/dist/constantsAesthetic.js.map +1 -1
  4. package/dist/dataBindAes.d.ts +5 -5
  5. package/dist/dataBindAes.js +110 -110
  6. package/dist/dataBindAes.js.map +1 -1
  7. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +35 -35
  8. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  9. package/dist/forms/LayersForm/AesSelector.vue.js +59 -59
  10. package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
  11. package/dist/forms/LayersForm/Layer/Bubble.vue.js +41 -41
  12. package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
  13. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +35 -35
  14. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
  15. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +31 -31
  16. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
  17. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +35 -35
  18. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
  19. package/dist/icons/StackedAreaIcon.vue.js +1 -0
  20. package/dist/icons/StackedAreaIcon.vue.js.map +1 -1
  21. package/dist/index.vue.js +94 -90
  22. package/dist/index.vue.js.map +1 -1
  23. package/dist/store.d.ts +8 -3
  24. package/dist/store.js +129 -123
  25. package/dist/store.js.map +1 -1
  26. package/dist/types.d.ts +9 -0
  27. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +2 -2
  28. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +11 -11
  29. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
  30. package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +2 -2
  31. package/dist/utils/createChartSettingsForRender/composeChartSettings.js +28 -28
  32. package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
  33. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +23 -20
  34. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
  35. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +2 -2
  36. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +20 -18
  37. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
  38. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +2 -2
  39. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +28 -28
  40. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  41. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +2 -2
  42. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js +11 -10
  43. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
  44. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +3 -3
  45. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +71 -68
  46. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  47. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +2 -2
  48. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +19 -18
  49. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
  50. package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts +1 -1
  51. package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js +37 -37
  52. package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
  53. package/package.json +1 -1
@@ -1,50 +1,50 @@
1
- import { PALETTE_MAP as n, DEFAULT_PALETTE as f, DEFAULT_CATEGORICAL_PALETTE as c, DEFAULT_CONTINUOUS_PALETTE as y } from "../../constantsAesthetic.js";
1
+ import { PALETTE_MAP as s } from "../../constantsAesthetic.js";
2
2
  import "d3-scale";
3
3
  import "vue";
4
- import { getAxesDataFromForms as t } from "./getAxesDataFromForms.js";
4
+ import { getAxesDataFromForms as f } from "./getAxesDataFromForms.js";
5
5
  import "@milaboratories/pf-plots";
6
6
  import "@platforma-sdk/model";
7
- function Y(o, l) {
8
- var s, r, p;
9
- const a = {}, d = (s = l.dataBindAes[o.valueColumn.value]) == null ? void 0 : s.palette;
7
+ function X(o, l, a) {
8
+ var d, u, p;
9
+ const n = {}, r = (d = l.dataBindAes[o.valueColumn.value]) == null ? void 0 : d.palette;
10
10
  if ((o == null ? void 0 : o.valueType) !== "discrete") {
11
11
  if (l.template === "heatmapClustered") {
12
- const e = l.layersSettings.heatmapClustered;
13
- e.disableClusteringX || (o.dendrogramX = {
12
+ const i = l.layersSettings.heatmapClustered;
13
+ i.disableClusteringX || (o.dendrogramX = {
14
14
  fillNA: 0,
15
15
  showNodes: !1,
16
- hidden: !e.dendrogramX
17
- }), e.disableClusteringY || (o.dendrogramY = {
16
+ hidden: !i.dendrogramX
17
+ }), i.disableClusteringY || (o.dendrogramY = {
18
18
  fillNA: 0,
19
19
  position: "right",
20
20
  showNodes: !1,
21
- hidden: !e.dendrogramY
21
+ hidden: !i.dendrogramY
22
22
  });
23
23
  }
24
- a.colorsList = n[d ?? f].colors;
24
+ n.colorsList = s[r ?? a.continuous].colors;
25
25
  } else
26
- a.colorsList = n[d ?? "bright"].colors;
27
- o.aes = a, (r = o.annotations) == null || r.forEach((e) => {
28
- var u;
29
- const m = e.valueColumn.value, x = (u = l.dataBindAes[m]) == null ? void 0 : u.palette, T = e.type === "discrete" ? c : y;
30
- e.colors = n[x ?? T].colors;
26
+ n.colorsList = s[r ?? "bright"].colors;
27
+ o.aes = n, (u = o.annotations) == null || u.forEach((i) => {
28
+ var h;
29
+ const x = i.valueColumn.value, c = (h = l.dataBindAes[x]) == null ? void 0 : h.palette;
30
+ i.colors = s[c ?? (i.type === "discrete" ? a.categorical : a.continuous)].colors;
31
31
  }), Object.assign(
32
32
  o,
33
- t(l.axesSettings, l.chartType)
33
+ f(l.axesSettings, l.chartType)
34
34
  ), l.axesSettings.axisX.cellSize !== null && o.size && (o.size.cellWidth = l.axesSettings.axisX.cellSize * (l.chartScale / 100)), l.axesSettings.axisY.cellSize !== null && o.size && (o.size.cellHeight = l.axesSettings.axisY.cellSize * (l.chartScale / 100)), l.template === "heatmapClustered" && (o == null ? void 0 : o.valueType) !== "discrete" && (o.facetSettings.sharedX = !1, o.facetSettings.sharedY = !1);
35
- const h = l.template, i = l.layersSettings[h];
36
- return o.NAValueAs = i.NAValueAs, o.valueType === "continuous" && i.normalizationDirection && (o.normalization = {
37
- method: i.normalizationMethod,
38
- direction: i.normalizationDirection
39
- }), o.valueType === "continuous" && (i.aggregateByX || i.aggregateByY) && (o.aggregation = {
40
- x: i.aggregateByX && o.xGroupBy && o.xGroupBy.length > 0,
41
- y: i.aggregateByY && o.yGroupBy && o.yGroupBy.length > 0,
42
- method: i.aggregationMethod
43
- }), (p = o.annotations) == null || p.forEach((e) => {
44
- e.axis === "x" ? (e.titlePosition = l.axesSettings.axisX.annotationTitlePosition === "hidden" ? void 0 : l.axesSettings.axisX.annotationTitlePosition, e.showTitle = l.axesSettings.axisX.annotationTitlePosition !== "hidden") : (e.titlePosition = l.axesSettings.axisY.annotationTitlePosition === "hidden" ? void 0 : l.axesSettings.axisY.annotationTitlePosition, e.showTitle = l.axesSettings.axisY.annotationTitlePosition !== "hidden");
35
+ const m = l.template, e = l.layersSettings[m];
36
+ return o.NAValueAs = e.NAValueAs, o.valueType === "continuous" && e.normalizationDirection && (o.normalization = {
37
+ method: e.normalizationMethod,
38
+ direction: e.normalizationDirection
39
+ }), o.valueType === "continuous" && (e.aggregateByX || e.aggregateByY) && (o.aggregation = {
40
+ x: e.aggregateByX && o.xGroupBy && o.xGroupBy.length > 0,
41
+ y: e.aggregateByY && o.yGroupBy && o.yGroupBy.length > 0,
42
+ method: e.aggregationMethod
43
+ }), (p = o.annotations) == null || p.forEach((i) => {
44
+ i.axis === "x" ? (i.titlePosition = l.axesSettings.axisX.annotationTitlePosition === "hidden" ? void 0 : l.axesSettings.axisX.annotationTitlePosition, i.showTitle = l.axesSettings.axisX.annotationTitlePosition !== "hidden") : (i.titlePosition = l.axesSettings.axisY.annotationTitlePosition === "hidden" ? void 0 : l.axesSettings.axisY.annotationTitlePosition, i.showTitle = l.axesSettings.axisY.annotationTitlePosition !== "hidden");
45
45
  }), l.axesSettings.other.canvasRenderMode && (o.cellsRenderingMode = "canvas"), o;
46
46
  }
47
47
  export {
48
- Y as composeHeatmapSettings
48
+ X as composeHeatmapSettings
49
49
  };
50
50
  //# sourceMappingURL=composeHeatmapSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport {\n DEFAULT_CATEGORICAL_PALETTE, DEFAULT_CONTINUOUS_PALETTE,\n DEFAULT_PALETTE,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type { HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? DEFAULT_PALETTE].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n const defaultPalette = annotationSchema.type === 'discrete' ? DEFAULT_CATEGORICAL_PALETTE : DEFAULT_CONTINUOUS_PALETTE;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? defaultPalette].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (layerSettings.aggregateByX || layerSettings.aggregateByY)) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","aes","palette","_a","layer","PALETTE_MAP","DEFAULT_PALETTE","_b","annotationSchema","source","defaultPalette","DEFAULT_CATEGORICAL_PALETTE","DEFAULT_CONTINUOUS_PALETTE","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":";;;;;;AASO,SAASA,EACdC,GACAC,GACA;;AACA,QAAMC,IAAM,CAAA,GACNC,KAAUC,IAAAH,EAAc,YAAYD,EAAS,YAAY,KAAK,MAApD,gBAAAI,EAAuD;AACvE,OAAIJ,KAAA,gBAAAA,EAAU,eAAc,YAAY;AACtC,QAAIC,EAAc,aAAa,oBAAoB;AACjD,YAAMI,IAAQJ,EAAc,eAAe;AAC3C,MAAKI,EAAM,uBACTL,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ,CAACK,EAAM;AAAA,MAAA,IAGdA,EAAM,uBACTL,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ,CAACK,EAAM;AAAA,MAAA;AAAA,IAGrB;AACA,IAAAH,EAAI,aAAaI,EAAYH,KAAWI,CAAe,EAAE;AAAA,EAC3D;AACE,IAAAL,EAAI,aAAaI,EAAYH,KAAW,QAAQ,EAAE;AAGpD,EAAAH,EAAS,MAAME,IAEfM,IAAAR,EAAS,gBAAT,QAAAQ,EAAsB,QAAQ,CAACC,MAAqB;;AAClD,UAAMC,IAASD,EAAiB,YAAY,OACtCN,KAAUC,IAAAH,EAAc,YAAYS,CAAM,MAAhC,gBAAAN,EAAmC,SAC7CO,IAAiBF,EAAiB,SAAS,aAAaG,IAA8BC;AAE5F,IAAAJ,EAAiB,SAASH,EAAYH,KAAWQ,CAAc,EAAE;AAAA,EACnE,IACA,OAAO;AAAA,IACLX;AAAA,IACAc,EAAqBb,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAGtEA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,YAAYC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEhGA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,aAAaC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEjGA,EAAc,aAAa,uBAAsBD,KAAA,gBAAAA,EAAU,eAAc,eAC1EA,EAAS,cAAoD,UAAU,IACvEA,EAAS,cAAoD,UAAU;AAG1E,QAAMe,IAAWd,EAAc,UACzBe,IAAgBf,EAAc,eAAec,CAAQ;AAE3D,SAAAf,EAAS,YAAYgB,EAAc,WAC/BhB,EAAS,cAAc,gBAAgBgB,EAAc,2BACvDhB,EAAS,gBAAgB;AAAA,IACvB,QAAQgB,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,IAIzBhB,EAAS,cAAc,iBAAiBgB,EAAc,gBAAgBA,EAAc,kBACtFhB,EAAS,cAAc;AAAA,IACrB,GAAGgB,EAAc,gBAAgBhB,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGgB,EAAc,gBAAgBhB,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQgB,EAAc;AAAA,EAAA,KAI1BC,IAAAjB,EAAS,gBAAT,QAAAiB,EAAsB,QAAQ,CAACC,MAAe;AAC5C,IAAIA,EAAW,SAAS,OACtBA,EAAW,gBAAgBjB,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJiB,EAAW,YAAYjB,EAAc,aAAa,MAAM,4BAA4B,aAEpFiB,EAAW,gBAAgBjB,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJiB,EAAW,YAAYjB,EAAc,aAAa,MAAM,4BAA4B;AAAA,EAExF,IAEIA,EAAc,aAAa,MAAM,qBACnCD,EAAS,qBAAqB,WAGzBA;AACT;"}
1
+ {"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { DefaultPalettes, HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n defaultPalette: DefaultPalettes,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? defaultPalette.continuous].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? (annotationSchema.type === 'discrete' ? defaultPalette.categorical : defaultPalette.continuous)].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (layerSettings.aggregateByX || layerSettings.aggregateByY)) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","defaultPalette","aes","palette","_a","layer","PALETTE_MAP","_b","annotationSchema","source","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":";;;;;;AAKO,SAASA,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAM,CAAA,GACNC,KAAUC,IAAAJ,EAAc,YAAYD,EAAS,YAAY,KAAK,MAApD,gBAAAK,EAAuD;AACvE,OAAIL,KAAA,gBAAAA,EAAU,eAAc,YAAY;AACtC,QAAIC,EAAc,aAAa,oBAAoB;AACjD,YAAMK,IAAQL,EAAc,eAAe;AAC3C,MAAKK,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA,IAGdA,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA;AAAA,IAGrB;AACA,IAAAH,EAAI,aAAaI,EAAYH,KAAWF,EAAe,UAAU,EAAE;AAAA,EACrE;AACE,IAAAC,EAAI,aAAaI,EAAYH,KAAW,QAAQ,EAAE;AAGpD,EAAAJ,EAAS,MAAMG,IAEfK,IAAAR,EAAS,gBAAT,QAAAQ,EAAsB,QAAQ,CAACC,MAAqB;;AAClD,UAAMC,IAASD,EAAiB,YAAY,OACtCL,KAAUC,IAAAJ,EAAc,YAAYS,CAAM,MAAhC,gBAAAL,EAAmC;AAEnD,IAAAI,EAAiB,SAASF,EAAYH,MAAYK,EAAiB,SAAS,aAAaP,EAAe,cAAcA,EAAe,WAAW,EAAE;AAAA,EACpJ,IACA,OAAO;AAAA,IACLF;AAAA,IACAW,EAAqBV,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAGtEA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,YAAYC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEhGA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,aAAaC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEjGA,EAAc,aAAa,uBAAsBD,KAAA,gBAAAA,EAAU,eAAc,eAC1EA,EAAS,cAAoD,UAAU,IACvEA,EAAS,cAAoD,UAAU;AAG1E,QAAMY,IAAWX,EAAc,UACzBY,IAAgBZ,EAAc,eAAeW,CAAQ;AAE3D,SAAAZ,EAAS,YAAYa,EAAc,WAC/Bb,EAAS,cAAc,gBAAgBa,EAAc,2BACvDb,EAAS,gBAAgB;AAAA,IACvB,QAAQa,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,IAIzBb,EAAS,cAAc,iBAAiBa,EAAc,gBAAgBA,EAAc,kBACtFb,EAAS,cAAc;AAAA,IACrB,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQa,EAAc;AAAA,EAAA,KAI1BC,IAAAd,EAAS,gBAAT,QAAAc,EAAsB,QAAQ,CAACC,MAAe;AAC5C,IAAIA,EAAW,SAAS,OACtBA,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B,aAEpFc,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B;AAAA,EAExF,IAEIA,EAAc,aAAa,MAAM,qBACnCD,EAAS,qBAAqB,WAGzBA;AACT;"}
@@ -1,6 +1,6 @@
1
1
  import { HistogramSettings } from '@milaboratories/miplots4';
2
- import { ReactiveState, UniqueValuesBySourceMap } from '../../types';
3
- export declare function composeHistogramSettings(settings: HistogramSettings, reactiveState: ReactiveState, uniqueValuesData: UniqueValuesBySourceMap): {
2
+ import { DefaultPalettes, ReactiveState, UniqueValuesBySourceMap } from '../../types';
3
+ export declare function composeHistogramSettings(settings: HistogramSettings, reactiveState: ReactiveState, uniqueValuesData: UniqueValuesBySourceMap, defaultPalette: DefaultPalettes): {
4
4
  type: "histogram";
5
5
  title: {
6
6
  name: string;
@@ -1,25 +1,26 @@
1
- import { HISTOGRAM_TEMPLATES_MAP as l } from "../../constantsCommon.js";
2
- import { getHistogramAes as g } from "../../dataBindAes.js";
1
+ import { HISTOGRAM_TEMPLATES_MAP as g } from "../../constantsCommon.js";
2
+ import { getHistogramAes as m } from "../../dataBindAes.js";
3
3
  import "../../constantsAesthetic.js";
4
- import { getAxesDataFromForms as m } from "./getAxesDataFromForms.js";
4
+ import { getAxesDataFromForms as a } from "./getAxesDataFromForms.js";
5
5
  import "@milaboratories/pf-plots";
6
6
  import "@platforma-sdk/model";
7
7
  import "vue";
8
8
  function u(e, o, s) {
9
9
  return o.length ? { type: "grouping", value: o[0] } : typeof e == "object" ? s : e;
10
10
  }
11
- function b(e, o, s) {
11
+ function x(e, o, s, c) {
12
12
  const n = o.optionsState.components.grouping;
13
13
  if (n.selectorStates.length) {
14
- const t = n.selectorStates[0].selectedSource, { inheritedAes: r, order: i } = g(
14
+ const t = n.selectorStates[0].selectedSource, { inheritedAes: r, order: i } = m(
15
15
  t,
16
16
  s,
17
- o.dataBindAes
17
+ o.dataBindAes,
18
+ c.categorical
18
19
  );
19
20
  Object.assign(e, { inheritedAes: { [t]: r }, groupingOrder: i });
20
21
  }
21
- const c = l[o.template], p = [];
22
- return c.forEach((t) => {
22
+ const l = g[o.template], p = [];
23
+ return l.forEach((t) => {
23
24
  if (t === "bins") {
24
25
  const r = o.layersSettings[t];
25
26
  p.push({
@@ -32,10 +33,10 @@ function b(e, o, s) {
32
33
  }
33
34
  }), e.layers = p, Object.assign(
34
35
  e,
35
- m(o.axesSettings, o.chartType)
36
+ a(o.axesSettings, o.chartType)
36
37
  ), e.binsCount = o.axesSettings.other.binsCount, e;
37
38
  }
38
39
  export {
39
- b as composeHistogramSettings
40
+ x as composeHistogramSettings
40
41
  };
41
42
  //# sourceMappingURL=composeHistogramSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeHistogramSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHistogramSettings.ts"],"sourcesContent":["import type { HistogramSettings } from '@milaboratories/miplots4';\nimport type { MappingLink } from '../../constantsCommon';\nimport { HISTOGRAM_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getHistogramAes,\n} from '../../dataBindAes';\nimport type {\n HistogramLayerTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport type { ChartLayerSettings } from '../index';\nimport { getAxesDataFromForms } from '../index';\n\nfunction useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T): T | {\n type: 'grouping';\n value: string;\n} {\n if (columns.length) {\n return { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string };\n }\n return typeof value === 'object' ? defaultValue : value as T;\n}\nexport function composeHistogramSettings(\n settings: HistogramSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n) {\n const grouping = reactiveState.optionsState.components.grouping;\n if (grouping.selectorStates.length) {\n const selectedSource = grouping.selectorStates[0].selectedSource;\n const { inheritedAes, order } = getHistogramAes(\n selectedSource,\n uniqueValuesData,\n reactiveState.dataBindAes,\n );\n Object.assign(settings, { inheritedAes: { [selectedSource]: inheritedAes }, groupingOrder: order });\n }\n\n const layersKeys = HISTOGRAM_TEMPLATES_MAP[reactiveState.template as HistogramLayerTemplate];\n const layers: ChartLayerSettings[] = [];\n layersKeys.forEach((layer) => {\n if (layer === 'bins') {\n const layerSettings = reactiveState.layersSettings[layer];\n layers.push({\n type: 'bins',\n aes: {\n opacity: layerSettings.opacity,\n fillColor: useDefault(layerSettings.fillColor, grouping.selectorStates.map((v) => v.selectedSource), 'white'),\n },\n });\n }\n });\n settings.layers = layers as HistogramSettings['layers'];\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n settings.binsCount = reactiveState.axesSettings.other.binsCount;\n\n return settings;\n}\n"],"names":["useDefault","value","columns","defaultValue","composeHistogramSettings","settings","reactiveState","uniqueValuesData","grouping","selectedSource","inheritedAes","order","getHistogramAes","layersKeys","HISTOGRAM_TEMPLATES_MAP","layers","layer","layerSettings","v","getAxesDataFromForms"],"mappings":";;;;;;;AAcA,SAASA,EAA6BC,GAA+BC,GAAmBC,GAGtF;AACA,SAAID,EAAQ,SACH,EAAE,MAAM,YAAY,OAAOA,EAAQ,CAAC,EAAA,IAEtC,OAAOD,KAAU,WAAWE,IAAeF;AACpD;AACO,SAASG,EACdC,GACAC,GACAC,GACA;AACA,QAAMC,IAAWF,EAAc,aAAa,WAAW;AACvD,MAAIE,EAAS,eAAe,QAAQ;AAClC,UAAMC,IAAiBD,EAAS,eAAe,CAAC,EAAE,gBAC5C,EAAE,cAAAE,GAAc,OAAAC,EAAA,IAAUC;AAAA,MAC9BH;AAAA,MACAF;AAAA,MACAD,EAAc;AAAA,IAAA;AAEhB,WAAO,OAAOD,GAAU,EAAE,cAAc,EAAE,CAACI,CAAc,GAAGC,EAAA,GAAgB,eAAeC,GAAO;AAAA,EACpG;AAEA,QAAME,IAAaC,EAAwBR,EAAc,QAAkC,GACrFS,IAA+B,CAAA;AACrC,SAAAF,EAAW,QAAQ,CAACG,MAAU;AAC5B,QAAIA,MAAU,QAAQ;AACpB,YAAMC,IAAgBX,EAAc,eAAeU,CAAK;AACxD,MAAAD,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,KAAK;AAAA,UACH,SAASE,EAAc;AAAA,UACvB,WAAWjB,EAAWiB,EAAc,WAAWT,EAAS,eAAe,IAAI,CAACU,MAAMA,EAAE,cAAc,GAAG,OAAO;AAAA,QAAA;AAAA,MAC9G,CACD;AAAA,IACH;AAAA,EACF,CAAC,GACDb,EAAS,SAASU,GAClB,OAAO;AAAA,IACLV;AAAA,IACAc,EAAqBb,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAE1ED,EAAS,YAAYC,EAAc,aAAa,MAAM,WAE/CD;AACT;"}
1
+ {"version":3,"file":"composeHistogramSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHistogramSettings.ts"],"sourcesContent":["import type { HistogramSettings } from '@milaboratories/miplots4';\nimport type { MappingLink } from '../../constantsCommon';\nimport { HISTOGRAM_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getHistogramAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n HistogramLayerTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport type { ChartLayerSettings } from '../index';\nimport { getAxesDataFromForms } from '../index';\n\nfunction useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T): T | {\n type: 'grouping';\n value: string;\n} {\n if (columns.length) {\n return { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string };\n }\n return typeof value === 'object' ? defaultValue : value as T;\n}\nexport function composeHistogramSettings(\n settings: HistogramSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n const grouping = reactiveState.optionsState.components.grouping;\n if (grouping.selectorStates.length) {\n const selectedSource = grouping.selectorStates[0].selectedSource;\n const { inheritedAes, order } = getHistogramAes(\n selectedSource,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n Object.assign(settings, { inheritedAes: { [selectedSource]: inheritedAes }, groupingOrder: order });\n }\n\n const layersKeys = HISTOGRAM_TEMPLATES_MAP[reactiveState.template as HistogramLayerTemplate];\n const layers: ChartLayerSettings[] = [];\n layersKeys.forEach((layer) => {\n if (layer === 'bins') {\n const layerSettings = reactiveState.layersSettings[layer];\n layers.push({\n type: 'bins',\n aes: {\n opacity: layerSettings.opacity,\n fillColor: useDefault(layerSettings.fillColor, grouping.selectorStates.map((v) => v.selectedSource), 'white'),\n },\n });\n }\n });\n settings.layers = layers as HistogramSettings['layers'];\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n settings.binsCount = reactiveState.axesSettings.other.binsCount;\n\n return settings;\n}\n"],"names":["useDefault","value","columns","defaultValue","composeHistogramSettings","settings","reactiveState","uniqueValuesData","defaultPalette","grouping","selectedSource","inheritedAes","order","getHistogramAes","layersKeys","HISTOGRAM_TEMPLATES_MAP","layers","layer","layerSettings","v","getAxesDataFromForms"],"mappings":";;;;;;;AAeA,SAASA,EAA6BC,GAA+BC,GAAmBC,GAGtF;AACA,SAAID,EAAQ,SACH,EAAE,MAAM,YAAY,OAAOA,EAAQ,CAAC,EAAA,IAEtC,OAAOD,KAAU,WAAWE,IAAeF;AACpD;AACO,SAASG,EACdC,GACAC,GACAC,GACAC,GACA;AACA,QAAMC,IAAWH,EAAc,aAAa,WAAW;AACvD,MAAIG,EAAS,eAAe,QAAQ;AAClC,UAAMC,IAAiBD,EAAS,eAAe,CAAC,EAAE,gBAC5C,EAAE,cAAAE,GAAc,OAAAC,EAAA,IAAUC;AAAA,MAC9BH;AAAA,MACAH;AAAA,MACAD,EAAc;AAAA,MACdE,EAAe;AAAA,IAAA;AAEjB,WAAO,OAAOH,GAAU,EAAE,cAAc,EAAE,CAACK,CAAc,GAAGC,EAAA,GAAgB,eAAeC,GAAO;AAAA,EACpG;AAEA,QAAME,IAAaC,EAAwBT,EAAc,QAAkC,GACrFU,IAA+B,CAAA;AACrC,SAAAF,EAAW,QAAQ,CAACG,MAAU;AAC5B,QAAIA,MAAU,QAAQ;AACpB,YAAMC,IAAgBZ,EAAc,eAAeW,CAAK;AACxD,MAAAD,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,KAAK;AAAA,UACH,SAASE,EAAc;AAAA,UACvB,WAAWlB,EAAWkB,EAAc,WAAWT,EAAS,eAAe,IAAI,CAACU,MAAMA,EAAE,cAAc,GAAG,OAAO;AAAA,QAAA;AAAA,MAC9G,CACD;AAAA,IACH;AAAA,EACF,CAAC,GACDd,EAAS,SAASW,GAClB,OAAO;AAAA,IACLX;AAAA,IACAe,EAAqBd,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAE1ED,EAAS,YAAYC,EAAc,aAAa,MAAM,WAE/CD;AACT;"}
@@ -1,10 +1,10 @@
1
1
  import { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';
2
2
  import { ComponentStateFilter, ComponentStateSimple, InputGuide, InputState, PlotDataAndSettings } from '@milaboratories/pf-plots';
3
3
  import { AestheticMappingState } from '../../dataBindAes';
4
- import { ReactiveState, UniqueValuesBySourceMap } from '../../types';
4
+ import { DefaultPalettes, ReactiveState, UniqueValuesBySourceMap } from '../../types';
5
5
  export declare function applyChartInfoFromAnnotations(settings: ScatterplotSettings | ScatterplotUmapSettings, grouping: ComponentStateSimple | ComponentStateFilter, x: ComponentStateSimple | ComponentStateFilter, y: ComponentStateSimple | ComponentStateFilter, inputGuide: InputGuide<InputState>): void;
6
- export declare function applyInheritedAes(settings: ScatterplotSettings | ScatterplotUmapSettings, grouping: ComponentStateSimple | ComponentStateFilter, shape: ComponentStateSimple | ComponentStateFilter | undefined, uniqueValuesData: UniqueValuesBySourceMap, dataBindAes: AestheticMappingState): void;
7
- export declare function composeScatterplotSettings(settings: ScatterplotSettings, dataByColumns: PlotDataAndSettings['data']['byColumns'], reactiveState: ReactiveState, inputGuide: InputGuide<InputState>, uniqueValuesData: UniqueValuesBySourceMap): {
6
+ export declare function applyInheritedAes(settings: ScatterplotSettings | ScatterplotUmapSettings, grouping: ComponentStateSimple | ComponentStateFilter, shape: ComponentStateSimple | ComponentStateFilter | undefined, uniqueValuesData: UniqueValuesBySourceMap, dataBindAes: AestheticMappingState, defaultPalette: DefaultPalettes): void;
7
+ export declare function composeScatterplotSettings(settings: ScatterplotSettings, dataByColumns: PlotDataAndSettings['data']['byColumns'], reactiveState: ReactiveState, inputGuide: InputGuide<InputState>, uniqueValuesData: UniqueValuesBySourceMap, defaultPalette: DefaultPalettes): {
8
8
  type: "scatterplot";
9
9
  title: {
10
10
  name: string;
@@ -1,107 +1,110 @@
1
- import { PALETTE_MAP as F, DEFAULT_CATEGORICAL_PALETTE as P, UNKNOWN_COLOR as U, DEFAULT_BLACK as w } from "../../constantsAesthetic.js";
2
- import { SCATTERPLOT_TEMPLATES_MAP as G, isMappedAes as K } from "../../constantsCommon.js";
3
- import { getScatterplotAes as M, DEFAULT_LINE_WIDTH as j, DEFAULT_DOT_SIZE as k, DEFAULT_DOT_SHAPE as V } from "../../dataBindAes.js";
4
- import { getScatterplotLayersSettings as W } from "./getLayersDataFromForms.js";
5
- import { getAxesDataFromFormsScatterplot as B } from "./getAxesDataFromForms.js";
1
+ import { PALETTE_MAP as F, UNKNOWN_COLOR as U, DEFAULT_BLACK as w } from "../../constantsAesthetic.js";
2
+ import { SCATTERPLOT_TEMPLATES_MAP as P, isMappedAes as G } from "../../constantsCommon.js";
3
+ import { getScatterplotAes as K, DEFAULT_LINE_WIDTH as M, DEFAULT_DOT_SIZE as j, DEFAULT_DOT_SHAPE as k } from "../../dataBindAes.js";
4
+ import { getScatterplotLayersSettings as V } from "./getLayersDataFromForms.js";
5
+ import { getAxesDataFromFormsScatterplot as W } from "./getAxesDataFromForms.js";
6
6
  import "@milaboratories/pf-plots";
7
- import { readAnnotation as u, Annotation as A } from "@platforma-sdk/model";
7
+ import { readAnnotation as f, Annotation as d } from "@platforma-sdk/model";
8
8
  import "vue";
9
- function H(o, S, e, d, i) {
10
- var g, y, E, T, D;
11
- const r = (g = S.selectorStates[0]) == null ? void 0 : g.selectedSource, a = (y = e.selectorStates[0]) == null ? void 0 : y.selectedSource, c = (E = d.selectorStates[0]) == null ? void 0 : E.selectedSource, n = i.getSourceInfo(a), t = i.getSourceInfo(c);
9
+ function B(o, g, e, A, i) {
10
+ var E, y, L, x, N;
11
+ const c = (E = g.selectorStates[0]) == null ? void 0 : E.selectedSource, a = (y = e.selectorStates[0]) == null ? void 0 : y.selectedSource, p = (L = A.selectorStates[0]) == null ? void 0 : L.selectedSource, t = i.getSourceInfo(a), r = i.getSourceInfo(p);
12
12
  o.grouping = [...o.grouping ?? []].map((s) => ({ ...s }));
13
- const h = o.xAxis, p = o.yAxis;
14
- if (S.selectorStates.length) {
15
- const s = i.getSourceInfo(r).spec, l = u(s, A.Graph.Thresholds);
16
- l && (JSON.parse(l) ?? []).forEach((b) => {
17
- var N;
18
- const { columnId: f, value: x } = b;
19
- f && n.kind === "column" && n.type === f.valueType && n.name === f.name && ((N = o.xAxis) == null ? void 0 : N.scale) === "discrete" && (h.significantLines || (h.significantLines = []), h.significantLines.push(Number(x))), f && t.kind === "column" && t.type === f.valueType && t.name === f.name && (p.significantLines || (p.significantLines = []), p.significantLines.push(Number(x)));
13
+ const n = o.xAxis, h = o.yAxis;
14
+ if (g.selectorStates.length) {
15
+ const s = i.getSourceInfo(c).spec, l = f(s, d.Graph.Thresholds);
16
+ l && (JSON.parse(l) ?? []).forEach((D) => {
17
+ var b;
18
+ const { columnId: u, value: T } = D;
19
+ u && t.kind === "column" && t.type === u.valueType && t.name === u.name && ((b = o.xAxis) == null ? void 0 : b.scale) === "discrete" && (n.significantLines || (n.significantLines = []), n.significantLines.push(Number(T))), u && r.kind === "column" && r.type === u.valueType && r.name === u.name && (h.significantLines || (h.significantLines = []), h.significantLines.push(Number(T)));
20
20
  });
21
- const m = u(s, A.Graph.Palette);
21
+ const m = f(s, d.Graph.Palette);
22
22
  if (m) {
23
- const I = JSON.parse(m), { mapping: b = {}, name: f = "" } = I;
24
- o.layers.forEach((L) => {
25
- L.type === "dots" && (L.aes || (L.aes = {}), L.aes.dotFill = { type: "grouping", value: r });
23
+ const O = JSON.parse(m), { mapping: D = {}, name: u = "" } = O;
24
+ o.layers.forEach((S) => {
25
+ S.type === "dots" && (S.aes || (S.aes = {}), S.aes.dotFill = { type: "grouping", value: c });
26
26
  });
27
- const x = [...Object.entries(b), ["null", U]], N = ((T = F[f]) == null ? void 0 : T.colors) ?? [];
28
- (D = o.grouping) == null || D.forEach((L) => {
29
- L.columnName.value === r && (L.inheritedAes = x.reduce((O, [C, R]) => {
30
- const _ = N[Number(R)] ?? w;
31
- return O[C] = {
32
- fillColor: _,
33
- lineColor: _,
34
- dotFill: _,
35
- dotShape: V,
36
- dotSize: k,
37
- lineWidth: j
38
- }, O;
27
+ const T = [...Object.entries(D), ["null", U]], b = ((x = F[u]) == null ? void 0 : x.colors) ?? [];
28
+ (N = o.grouping) == null || N.forEach((S) => {
29
+ S.columnName.value === c && (S.inheritedAes = T.reduce((_, [R, C]) => {
30
+ const I = b[Number(C)] ?? w;
31
+ return _[R] = {
32
+ fillColor: I,
33
+ lineColor: I,
34
+ dotFill: I,
35
+ dotShape: k,
36
+ dotSize: j,
37
+ lineWidth: M
38
+ }, _;
39
39
  }, {}));
40
40
  });
41
41
  }
42
42
  }
43
- if (n.annotations) {
44
- const s = u(n, A.Graph.Axis.UpperLimit), l = u(n, A.Graph.Axis.LowerLimit), m = u(n, A.Graph.Axis.SymmetricRange);
45
- s && (h.upperValue = Number(s)), l && (h.lowerValue = Number(l)), m && (h.symmetricRange = Number(m));
46
- }
47
43
  if (t.annotations) {
48
- const s = u(t, A.Graph.Axis.UpperLimit), l = u(t, A.Graph.Axis.LowerLimit), m = u(t, A.Graph.Axis.SymmetricRange);
49
- s && (p.upperValue = Number(s)), l && (p.lowerValue = Number(l)), m && (p.symmetricRange = Number(m));
44
+ const s = f(t, d.Graph.Axis.UpperLimit), l = f(t, d.Graph.Axis.LowerLimit), m = f(t, d.Graph.Axis.SymmetricRange);
45
+ s && (n.upperValue = Number(s)), l && (n.lowerValue = Number(l)), m && (n.symmetricRange = Number(m));
46
+ }
47
+ if (r.annotations) {
48
+ const s = f(r, d.Graph.Axis.UpperLimit), l = f(r, d.Graph.Axis.LowerLimit), m = f(r, d.Graph.Axis.SymmetricRange);
49
+ s && (h.upperValue = Number(s)), l && (h.lowerValue = Number(l)), m && (h.symmetricRange = Number(m));
50
50
  }
51
51
  }
52
- function J(o, S, e, d, i) {
53
- (S.selectorStates.length || e != null && e.selectorStates.length) && (o.grouping = [...o.grouping ?? []].map((r) => ({ ...r })), o.grouping.forEach((r) => {
54
- const a = r.columnName.value, c = M(a, d, i);
55
- c.order.length ? (r.order = c.order, r.inheritedAes = c.inheritedAes) : o.layers.forEach((n) => {
56
- const t = n.aes;
57
- if (!t)
52
+ function H(o, g, e, A, i, c) {
53
+ (g.selectorStates.length || e != null && e.selectorStates.length) && (o.grouping = [...o.grouping ?? []].map((a) => ({ ...a })), o.grouping.forEach((a) => {
54
+ const p = a.columnName.value, t = K(p, A, i, c.continuous);
55
+ t.order.length ? (a.order = t.order, a.inheritedAes = t.inheritedAes) : o.layers.forEach((r) => {
56
+ const n = r.aes;
57
+ if (!n)
58
58
  return;
59
- Object.keys(t).forEach((p) => {
60
- var y, E;
61
- const g = t[p];
62
- if (K(g) && g.value === a) {
63
- const T = ((E = F[((y = i[a]) == null ? void 0 : y.palette) ?? P]) == null ? void 0 : E.colors) ?? [];
64
- g.palette = T;
59
+ Object.keys(n).forEach((E) => {
60
+ var L, x;
61
+ const y = n[E];
62
+ if (G(y) && y.value === p) {
63
+ const N = ((x = F[((L = i[p]) == null ? void 0 : L.palette) ?? c.categorical]) == null ? void 0 : x.colors) ?? [];
64
+ y.palette = N;
65
65
  }
66
66
  });
67
67
  });
68
68
  }));
69
69
  }
70
- function oo(o, S, e, d, i) {
71
- var c, n;
72
- o.layers = W(
73
- G[e.template],
70
+ function v(o, g, e, A, i, c) {
71
+ var t, r;
72
+ o.layers = V(
73
+ P[e.template],
74
74
  e.layersSettings,
75
- S,
75
+ g,
76
76
  e.optionsState,
77
77
  e.dataBindAes,
78
- d,
79
- (c = o == null ? void 0 : o.grouping) == null ? void 0 : c.map((t) => t.columnName)
80
- ), J(
78
+ A,
79
+ (t = o == null ? void 0 : o.grouping) == null ? void 0 : t.map((n) => n.columnName),
80
+ void 0,
81
+ c.continuous
82
+ ), H(
81
83
  o,
82
84
  e.optionsState.components.grouping,
83
85
  e.optionsState.components.shape,
84
86
  i,
85
- e.dataBindAes
87
+ e.dataBindAes,
88
+ c
86
89
  );
87
- const r = e.statisticsSettings, a = o.layers.find((t) => t.type === "dots");
88
- return r.trend.on && a && (o.trend = {
89
- color: (n = a.aes) == null ? void 0 : n.dotFill,
90
+ const a = e.statisticsSettings, p = o.layers.find((n) => n.type === "dots");
91
+ return a.trend.on && p && (o.trend = {
92
+ color: (r = p.aes) == null ? void 0 : r.dotFill,
90
93
  bounded: !1
91
94
  }), Object.assign(
92
95
  o,
93
- B(e.axesSettings, i, e.optionsState, d)
94
- ), H(
96
+ W(e.axesSettings, i, e.optionsState, A)
97
+ ), B(
95
98
  o,
96
99
  e.optionsState.components.grouping,
97
100
  e.optionsState.components.x,
98
101
  e.optionsState.components.y,
99
- d
102
+ A
100
103
  ), o;
101
104
  }
102
105
  export {
103
- H as applyChartInfoFromAnnotations,
104
- J as applyInheritedAes,
105
- oo as composeScatterplotSettings
106
+ B as applyChartInfoFromAnnotations,
107
+ H as applyInheritedAes,
108
+ v as composeScatterplotSettings
106
109
  };
107
110
  //# sourceMappingURL=composeScatterplotSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeScatterplotSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import type { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type {\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 type {\n MappingLink,\n ScatterplotStatisticsState } from '../../constantsCommon';\nimport {\n isMappedAes,\n SCATTERPLOT_TEMPLATES_MAP,\n} from '../../constantsCommon';\nimport type {\n AestheticMappingState } from '../../dataBindAes';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes,\n} from '../../dataBindAes';\nimport type {\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport type { AxisSettingsContinuous } from '@milaboratories/miplots4';\nimport { Annotation, readAnnotation } from '@platforma-sdk/model';\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 const xAxis = settings.xAxis as AxisSettingsContinuous;\n const yAxis = settings.yAxis as AxisSettingsContinuous;\n if (grouping.selectorStates.length) {\n const spec = inputGuide.getSourceInfo(groupingSource).spec;\n const thresholds = readAnnotation(spec, Annotation.Graph.Thresholds);\n if (thresholds) {\n const thresholdsData = JSON.parse(thresholds) ?? [];\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 && settings.xAxis?.scale === 'discrete')) {\n if (!xAxis.significantLines) {\n xAxis.significantLines = [];\n }\n xAxis.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!yAxis.significantLines) {\n yAxis.significantLines = [];\n }\n yAxis.significantLines.push(Number(value));\n }\n });\n }\n\n const palette = readAnnotation(spec, Annotation.Graph.Palette);\n if (palette) {\n const paletteData = JSON.parse(palette);\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupingElement.inheritedAes = paletteEntries.reduce((res: Record<string, any>, [key, value]) => { // TODO: remove any\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 const upperLimit = readAnnotation(xInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(xInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(xInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n xAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n xAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n xAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n\n if (yInfo.annotations) {\n const upperLimit = readAnnotation(yInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(yInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(yInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n yAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n yAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n yAxis!.symmetricRange = Number(symmetricRange);\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 getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\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}\n"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","v","xAxis","yAxis","spec","thresholds","readAnnotation","Annotation","thresholdData","columnId","value","palette","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","upperLimit","lowerLimit","symmetricRange","applyInheritedAes","shape","uniqueValuesData","dataBindAes","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","DEFAULT_CATEGORICAL_PALETTE","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromFormsScatterplot"],"mappings":"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"}
1
+ {"version":3,"file":"composeScatterplotSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import type { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState,\n} from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n UNKNOWN_COLOR,\n} from '../../constantsAesthetic';\nimport type {\n MappingLink,\n ScatterplotStatisticsState } from '../../constantsCommon';\nimport {\n isMappedAes,\n SCATTERPLOT_TEMPLATES_MAP,\n} from '../../constantsCommon';\nimport type {\n AestheticMappingState } from '../../dataBindAes';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport type { AxisSettingsContinuous } from '@milaboratories/miplots4';\nimport { Annotation, readAnnotation } from '@platforma-sdk/model';\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 const xAxis = settings.xAxis as AxisSettingsContinuous;\n const yAxis = settings.yAxis as AxisSettingsContinuous;\n if (grouping.selectorStates.length) {\n const spec = inputGuide.getSourceInfo(groupingSource).spec;\n const thresholds = readAnnotation(spec, Annotation.Graph.Thresholds);\n if (thresholds) {\n const thresholdsData = JSON.parse(thresholds) ?? [];\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 && settings.xAxis?.scale === 'discrete')) {\n if (!xAxis.significantLines) {\n xAxis.significantLines = [];\n }\n xAxis.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!yAxis.significantLines) {\n yAxis.significantLines = [];\n }\n yAxis.significantLines.push(Number(value));\n }\n });\n }\n\n const palette = readAnnotation(spec, Annotation.Graph.Palette);\n if (palette) {\n const paletteData = JSON.parse(palette);\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupingElement.inheritedAes = paletteEntries.reduce((res: Record<string, any>, [key, value]) => { // TODO: remove any\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 const upperLimit = readAnnotation(xInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(xInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(xInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n xAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n xAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n xAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n\n if (yInfo.annotations) {\n const upperLimit = readAnnotation(yInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(yInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(yInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n yAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n yAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n yAxis!.symmetricRange = Number(symmetricRange);\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 defaultPalette: DefaultPalettes,\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, defaultPalette.continuous); // 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 ?? defaultPalette.categorical]?.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 defaultPalette: DefaultPalettes,\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 undefined,\n defaultPalette.continuous,\n );\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.shape,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette,\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 getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\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}\n"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","v","xAxis","yAxis","spec","thresholds","readAnnotation","Annotation","thresholdData","columnId","value","palette","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","upperLimit","lowerLimit","symmetricRange","applyInheritedAes","shape","uniqueValuesData","dataBindAes","defaultPalette","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromFormsScatterplot"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ScatterplotUmapSettings } from '@milaboratories/miplots4';
2
2
  import { InputGuide, InputState, PlotDataAndSettings } from '@milaboratories/pf-plots';
3
- import { ReactiveState, UniqueValuesBySourceMap } from '../../types';
4
- export declare function composeScatterplotUmapSettings(settings: ScatterplotUmapSettings, dataByColumns: PlotDataAndSettings['data']['byColumns'], reactiveState: ReactiveState, inputGuide: InputGuide<InputState>, uniqueValuesData: UniqueValuesBySourceMap): {
3
+ import { DefaultPalettes, ReactiveState, UniqueValuesBySourceMap } from '../../types';
4
+ export declare function composeScatterplotUmapSettings(settings: ScatterplotUmapSettings, dataByColumns: PlotDataAndSettings['data']['byColumns'], reactiveState: ReactiveState, inputGuide: InputGuide<InputState>, uniqueValuesData: UniqueValuesBySourceMap, defaultPalette: DefaultPalettes): {
5
5
  type: "scatterplot-umap";
6
6
  title: {
7
7
  name: string;
@@ -1,45 +1,46 @@
1
- import { SCATTERPLOT_TEMPLATES_MAP as _ } from "../../constantsCommon.js";
2
- import { DEFAULT_DOT_SIZE_CANVAS as l } from "../../dataBindAes.js";
3
- import { getScatterplotLayersSettings as t } from "./getLayersDataFromForms.js";
4
- import { getAxesDataFromFormsScatterplot as E } from "./getAxesDataFromForms.js";
1
+ import { SCATTERPLOT_TEMPLATES_MAP as l } from "../../constantsCommon.js";
2
+ import { DEFAULT_DOT_SIZE_CANVAS as t } from "../../dataBindAes.js";
3
+ import { getScatterplotLayersSettings as E } from "./getLayersDataFromForms.js";
4
+ import { getAxesDataFromFormsScatterplot as s } from "./getAxesDataFromForms.js";
5
5
  import "@milaboratories/pf-plots";
6
6
  import "@platforma-sdk/model";
7
7
  import "vue";
8
- import { applyInheritedAes as s, applyChartInfoFromAnnotations as S } from "./composeScatterplotSettings.js";
8
+ import { applyInheritedAes as S, applyChartInfoFromAnnotations as L } from "./composeScatterplotSettings.js";
9
9
  import "../../constantsAesthetic.js";
10
- const L = 750, f = 450;
11
- function C(p, A, o, m, n) {
10
+ const f = 750, h = 450;
11
+ function D(p, A, o, m, n, T) {
12
12
  var r;
13
- return p.layers = t(
14
- _[o.template],
13
+ return p.layers = E(
14
+ l[o.template],
15
15
  o.layersSettings,
16
16
  A,
17
17
  o.optionsState,
18
18
  o.dataBindAes,
19
19
  m,
20
- (r = p == null ? void 0 : p.grouping) == null ? void 0 : r.map((T) => T.columnName),
21
- l
22
- ), s(
20
+ (r = p == null ? void 0 : p.grouping) == null ? void 0 : r.map((_) => _.columnName),
21
+ t
22
+ ), S(
23
23
  p,
24
24
  o.optionsState.components.grouping,
25
25
  void 0,
26
26
  n,
27
- o.dataBindAes
27
+ o.dataBindAes,
28
+ T
28
29
  ), Object.assign(
29
30
  p,
30
- E(o.axesSettings, n, o.optionsState, m)
31
- ), S(
31
+ s(o.axesSettings, n, o.optionsState, m)
32
+ ), L(
32
33
  p,
33
34
  o.optionsState.components.grouping,
34
35
  o.optionsState.components.x,
35
36
  o.optionsState.components.y,
36
37
  m
37
38
  ), p.size = {
38
- width: L * o.chartScale / 100,
39
- height: f * o.chartScale / 100
39
+ width: f * o.chartScale / 100,
40
+ height: h * o.chartScale / 100
40
41
  }, p;
41
42
  }
42
43
  export {
43
- C as composeScatterplotUmapSettings
44
+ D as composeScatterplotUmapSettings
44
45
  };
45
46
  //# sourceMappingURL=composeScatterplotUmapSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeScatterplotUmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotUmapSettings.ts"],"sourcesContent":["import type { ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type { InputGuide, InputState, PlotDataAndSettings, ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { SCATTERPLOT_TEMPLATES_MAP } from '../../constantsCommon';\nimport { DEFAULT_DOT_SIZE_CANVAS } from '../../dataBindAes';\nimport type {\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport { applyChartInfoFromAnnotations, applyInheritedAes } from './composeScatterplotSettings';\n\nconst DEFAULT_WIDTH_SCATTERPLOT_UMAP = 750;\nconst DEFAULT_HEIGHT_SCATTERPLOT_UMAP = 450;\n\nexport function composeScatterplotUmapSettings(\n settings: ScatterplotUmapSettings,\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 DEFAULT_DOT_SIZE_CANVAS,\n ) as ScatterplotUmapSettings['layers'];\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n undefined,\n uniqueValuesData,\n reactiveState.dataBindAes,\n );\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\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 settings.size = {\n width: DEFAULT_WIDTH_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n height: DEFAULT_HEIGHT_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n };\n\n return settings;\n}\n"],"names":["DEFAULT_WIDTH_SCATTERPLOT_UMAP","DEFAULT_HEIGHT_SCATTERPLOT_UMAP","composeScatterplotUmapSettings","settings","dataByColumns","reactiveState","inputGuide","uniqueValuesData","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","_a","v","DEFAULT_DOT_SIZE_CANVAS","applyInheritedAes","getAxesDataFromFormsScatterplot","applyChartInfoFromAnnotations"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAiC,KACjCC,IAAkC;AAEjC,SAASC,EACdC,GACAC,GACAC,GACAC,GACAC,GACA;;AACA,SAAAJ,EAAS,SAASK;AAAA,IAChBC,EAA0BJ,EAAc,QAAqC;AAAA,IAC7EA,EAAc;AAAA,IACdD;AAAA,IACAC,EAAc;AAAA,IACdA,EAAc;AAAA,IACdC;AAAA,KACAI,IAAAP,KAAA,gBAAAA,EAAU,aAAV,gBAAAO,EAAoB,IAAI,CAACC,MAAMA,EAAE;AAAA,IACjCC;AAAA,EAAA,GAGFC;AAAA,IACEV;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtC;AAAA,IACAE;AAAA,IACAF,EAAc;AAAA,EAAA,GAGhB,OAAO;AAAA,IACLF;AAAA,IACAW,EAAgCT,EAAc,cAAcE,GAAkBF,EAAc,cAAcC,CAAU;AAAA,EAAA,GAGtHS;AAAA,IACEZ;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCC;AAAA,EAAA,GAGFH,EAAS,OAAO;AAAA,IACd,OAAOH,IAAiCK,EAAc,aAAa;AAAA,IACnE,QAAQJ,IAAkCI,EAAc,aAAa;AAAA,EAAA,GAGhEF;AACT;"}
1
+ {"version":3,"file":"composeScatterplotUmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotUmapSettings.ts"],"sourcesContent":["import type { ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type { InputGuide, InputState, PlotDataAndSettings, ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { SCATTERPLOT_TEMPLATES_MAP } from '../../constantsCommon';\nimport { DEFAULT_DOT_SIZE_CANVAS } from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport { applyChartInfoFromAnnotations, applyInheritedAes } from './composeScatterplotSettings';\n\nconst DEFAULT_WIDTH_SCATTERPLOT_UMAP = 750;\nconst DEFAULT_HEIGHT_SCATTERPLOT_UMAP = 450;\n\nexport function composeScatterplotUmapSettings(\n settings: ScatterplotUmapSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\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 DEFAULT_DOT_SIZE_CANVAS,\n ) as ScatterplotUmapSettings['layers'];\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n undefined,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette,\n );\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\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 settings.size = {\n width: DEFAULT_WIDTH_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n height: DEFAULT_HEIGHT_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n };\n\n return settings;\n}\n"],"names":["DEFAULT_WIDTH_SCATTERPLOT_UMAP","DEFAULT_HEIGHT_SCATTERPLOT_UMAP","composeScatterplotUmapSettings","settings","dataByColumns","reactiveState","inputGuide","uniqueValuesData","defaultPalette","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","_a","v","DEFAULT_DOT_SIZE_CANVAS","applyInheritedAes","getAxesDataFromFormsScatterplot","applyChartInfoFromAnnotations"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiC,KACjCC,IAAkC;AAEjC,SAASC,EACdC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA;;AACA,SAAAL,EAAS,SAASM;AAAA,IAChBC,EAA0BL,EAAc,QAAqC;AAAA,IAC7EA,EAAc;AAAA,IACdD;AAAA,IACAC,EAAc;AAAA,IACdA,EAAc;AAAA,IACdC;AAAA,KACAK,IAAAR,KAAA,gBAAAA,EAAU,aAAV,gBAAAQ,EAAoB,IAAI,CAACC,MAAMA,EAAE;AAAA,IACjCC;AAAA,EAAA,GAGFC;AAAA,IACEX;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtC;AAAA,IACAE;AAAA,IACAF,EAAc;AAAA,IACdG;AAAA,EAAA,GAGF,OAAO;AAAA,IACLL;AAAA,IACAY,EAAgCV,EAAc,cAAcE,GAAkBF,EAAc,cAAcC,CAAU;AAAA,EAAA,GAGtHU;AAAA,IACEb;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCC;AAAA,EAAA,GAGFH,EAAS,OAAO;AAAA,IACd,OAAOH,IAAiCK,EAAc,aAAa;AAAA,IACnE,QAAQJ,IAAkCI,EAAc,aAAa;AAAA,EAAA,GAGhEF;AACT;"}
@@ -5,7 +5,7 @@ import { DotShape, LineType } from '../../components/AesSettings/types';
5
5
  import { ScatterplotSettings } from '@milaboratories/miplots4';
6
6
  export declare function getStatLayers(statisticsSettings: DiscreteStatisticsState): ChartLayerSettings[];
7
7
  export declare function getDiscreteLayersSettings(layers: Layer[], layerSettings: LayersSettings, statisticsSettings: DiscreteStatisticsState, optionsState: DiscreteUIState, inputGuide: InputGuide<InputState>): ChartLayerSettings[];
8
- export declare function getScatterplotLayersSettings(layers: Layer[], layerSettings: ReturnType<typeof getDefaultLayersSettings>, dataByColumns: PlotDataAndSettings['data']['byColumns'], optionsState: ScatterplotUIState, dataBindAes: ReactiveState['dataBindAes'], inputGuide: InputGuide<InputState>, groupingSchema?: ColumnNameSchema[], defaultDotSize?: number): ScatterplotSettings['layers'];
8
+ export declare function getScatterplotLayersSettings(layers: Layer[], layerSettings: ReturnType<typeof getDefaultLayersSettings>, dataByColumns: PlotDataAndSettings['data']['byColumns'], optionsState: ScatterplotUIState, dataBindAes: ReactiveState['dataBindAes'], inputGuide: InputGuide<InputState>, groupingSchema?: ColumnNameSchema[], defaultDotSize?: number, defaultPalette?: import('../../components/AesSettings/types').ContinuousPalette): ScatterplotSettings['layers'];
9
9
  export type ChartLayerSettings = {
10
10
  [key: string]: string | number | boolean | null | Record<string, string | DotShape | NumberRange | {
11
11
  domain: number[];