@milaboratories/graph-maker 1.1.157 → 1.1.159

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 (65) hide show
  1. package/dist/GraphMaker/constantsCommon.d.ts +1 -0
  2. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  3. package/dist/GraphMaker/constantsCommon.js +17 -16
  4. package/dist/GraphMaker/constantsCommon.js.map +1 -1
  5. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
  6. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +104 -93
  7. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  8. package/dist/GraphMaker/index.vue.js +33 -33
  9. package/dist/GraphMaker/index.vue.js.map +1 -1
  10. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +1 -0
  11. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  12. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +11 -11
  13. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  14. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js +136 -135
  15. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js.map +1 -1
  16. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js +2 -2
  17. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  18. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js +115 -107
  19. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  20. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js +99 -0
  21. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js.map +1 -0
  22. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js +57 -0
  23. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js.map +1 -0
  24. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js +43 -43
  25. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js.map +1 -1
  26. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js +85 -0
  27. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js.map +1 -0
  28. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/AxisCaptions.js +5 -5
  29. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/GroupCaptions.js +16 -16
  30. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +191 -197
  31. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
  32. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +29 -27
  33. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js.map +1 -1
  34. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js +38 -0
  35. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js.map +1 -0
  36. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js +44 -0
  37. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js.map +1 -0
  38. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js +16 -15
  39. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js.map +1 -1
  40. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js +63 -66
  41. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js.map +1 -1
  42. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +64 -62
  43. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
  44. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateChartSideElementSizes.js +9 -9
  45. package/dist/node_modules/@milaboratories/miplots4/dist/histogram/components/ChartsGroup.js +14 -14
  46. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +5 -4
  47. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js.map +1 -1
  48. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +10 -8
  49. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -1
  50. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +21 -21
  51. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +19 -19
  52. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +8 -8
  53. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +9 -9
  54. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +7 -7
  55. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +2 -2
  56. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -1
  57. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +59 -57
  58. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -1
  59. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/components/PlDataTable.js.map +1 -1
  60. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +13 -13
  61. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +137 -133
  62. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
  63. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +73 -74
  64. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
  65. package/package.json +3 -3
@@ -1,15 +1,16 @@
1
- import { renderToString as V } from "../node_modules/react-dom/server.browser.js";
2
- import { AbstractChart as N } from "../AbstractChart.js";
3
- import { isColumnName as B } from "../utils/index.js";
1
+ import { renderToString as z } from "../node_modules/react-dom/server.browser.js";
2
+ import { AbstractChart as H } from "../AbstractChart.js";
3
+ import { isColumnName as x } from "../utils/index.js";
4
4
  import q from "./ChartRenderer.js";
5
5
  import { getCells as I } from "./getCells.js";
6
- import { getDendrograms as P } from "./getDendrograms.js";
7
- import { HeatmapSettingsImpl as w } from "./HeatmapSettingsImpl.js";
8
- var $ = Object.defineProperty, F = (h, t, e) => t in h ? $(h, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[t] = e, A = (h, t, e) => F(h, typeof t != "symbol" ? t + "" : t, e);
9
- class tt extends N {
6
+ import { getDendrograms as M } from "./getDendrograms.js";
7
+ import { HeatmapSettingsImpl as R } from "./HeatmapSettingsImpl.js";
8
+ import { MAX_SVG_RENDERED_CELLS_COUNT as L } from "./constants.js";
9
+ var $ = Object.defineProperty, F = (h, t, e) => t in h ? $(h, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[t] = e, B = (h, t, e) => F(h, typeof t != "symbol" ? t + "" : t, e);
10
+ class at extends H {
10
11
  constructor(t, e, a) {
11
- super(t, e), A(this, "settings"), A(this, "chartRenderer", new q()), A(this, "onTooltipHintSwitch", () => {
12
- }), A(this, "calculatedData", null), this.settings = new w(e), a && (this.onTooltipHintSwitch = a[0]);
12
+ super(t, e), B(this, "settings"), B(this, "chartRenderer", new q()), B(this, "onTooltipHintSwitch", () => {
13
+ }), B(this, "calculatedData", null), this.settings = new R(e), a && (this.onTooltipHintSwitch = a[0]);
13
14
  }
14
15
  mount(t) {
15
16
  try {
@@ -24,7 +25,7 @@ class tt extends N {
24
25
  updateSettingsAndData(t, e) {
25
26
  try {
26
27
  const a = this.settings, r = this.data;
27
- this.settings = new w(e), this.data = t, this._needUpdateCalculatedDataBySettings(a, this.settings) || this._needUpdateCalculatedDataByData(r, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
28
+ this.settings = new R(e), this.data = t, this._needUpdateCalculatedDataBySettings(a, this.settings) || this._needUpdateCalculatedDataByData(r, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
28
29
  } catch (a) {
29
30
  a instanceof Error && (this.chartRenderer.renderError(a.message), console.error(a));
30
31
  }
@@ -33,36 +34,36 @@ class tt extends N {
33
34
  console.warn("no chart state for heatmap");
34
35
  }
35
36
  export() {
36
- return this._updateChart(), V(this.chartRenderer.component);
37
+ return this._updateChart(), z(this.chartRenderer.component);
37
38
  }
38
39
  _needUpdateCalculatedDataBySettings(t, e) {
39
- var a, r, n, o, i, c, m, s, d, g, l, v;
40
+ var a, r, n, o, s, m, c, i, d, g, l, v;
40
41
  const {
41
42
  xColumn: p,
42
- yColumn: f,
43
- valueColumn: D,
44
- xGroupBy: _,
45
- yGroupBy: x,
46
- facetBy: u,
47
- annotations: O,
48
- chartSettings: k,
49
- facetSettings: b,
43
+ yColumn: D,
44
+ valueColumn: f,
45
+ xGroupBy: A,
46
+ yGroupBy: X,
47
+ facetBy: b,
48
+ annotations: S,
49
+ chartSettings: u,
50
+ facetSettings: G,
50
51
  dendrogramX: Y,
51
- dendrogramY: X,
52
- normalization: S,
53
- NAValueAs: R
54
- } = e, j = Object.values(((a = t.dendrogramX) == null ? void 0 : a.aes) || {}).filter(
55
- B
56
- ), T = Object.values((Y == null ? void 0 : Y.aes) || {}).filter(B), E = Object.values(((r = t.dendrogramY) == null ? void 0 : r.aes) || {}).filter(
57
- B
58
- ), U = Object.values((X == null ? void 0 : X.aes) || {}).filter(B);
59
- function y(C, G) {
60
- return C.length !== G.length || C.some((z, H) => z.value !== G[H].value);
52
+ dendrogramY: E,
53
+ normalization: _,
54
+ NAValueAs: w
55
+ } = e, k = Object.values(((a = t.dendrogramX) == null ? void 0 : a.aes) || {}).filter(
56
+ x
57
+ ), N = Object.values((Y == null ? void 0 : Y.aes) || {}).filter(x), T = Object.values(((r = t.dendrogramY) == null ? void 0 : r.aes) || {}).filter(
58
+ x
59
+ ), U = Object.values((E == null ? void 0 : E.aes) || {}).filter(x);
60
+ function y(C, O) {
61
+ return C.length !== O.length || C.some((V, j) => V.value !== O[j].value);
61
62
  }
62
- return t.xColumn.value !== p.value || t.yColumn.value !== f.value || t.valueColumn.value !== D.value || y(t.xGroupBy, _) || y(t.yGroupBy, x) || y(t.facetBy, u) || y(
63
+ return t.xColumn.value !== p.value || t.yColumn.value !== D.value || t.valueColumn.value !== f.value || y(t.xGroupBy, A) || y(t.yGroupBy, X) || y(t.facetBy, b) || y(
63
64
  t.annotations.map((C) => C.valueColumn),
64
- O.map((C) => C.valueColumn)
65
- ) || y(j, T) || y(E, U) || (e.dendrogramX || t.dendrogramX) && (((n = t.dendrogramX) == null ? void 0 : n.distance) !== ((o = e.dendrogramX) == null ? void 0 : o.distance) || ((i = t.dendrogramX) == null ? void 0 : i.linkage) !== ((c = e.dendrogramX) == null ? void 0 : c.linkage)) || (e.dendrogramY || t.dendrogramY) && (((m = t.dendrogramY) == null ? void 0 : m.distance) !== ((s = e.dendrogramY) == null ? void 0 : s.distance) || ((d = t.dendrogramY) == null ? void 0 : d.linkage) !== ((g = e.dendrogramY) == null ? void 0 : g.linkage)) || t.chartSettings.valueType !== k.valueType || t.facetSettings.sharedX !== b.sharedX || t.facetSettings.sharedY !== b.sharedY || ((l = t.normalization) == null ? void 0 : l.method) !== (S == null ? void 0 : S.method) || ((v = t.normalization) == null ? void 0 : v.direction) !== (S == null ? void 0 : S.direction) || t.NAValueAs !== R;
65
+ S.map((C) => C.valueColumn)
66
+ ) || y(k, N) || y(T, U) || (e.dendrogramX || t.dendrogramX) && (((n = t.dendrogramX) == null ? void 0 : n.distance) !== ((o = e.dendrogramX) == null ? void 0 : o.distance) || ((s = t.dendrogramX) == null ? void 0 : s.linkage) !== ((m = e.dendrogramX) == null ? void 0 : m.linkage)) || (e.dendrogramY || t.dendrogramY) && (((c = t.dendrogramY) == null ? void 0 : c.distance) !== ((i = e.dendrogramY) == null ? void 0 : i.distance) || ((d = t.dendrogramY) == null ? void 0 : d.linkage) !== ((g = e.dendrogramY) == null ? void 0 : g.linkage)) || t.chartSettings.valueType !== u.valueType || t.facetSettings.sharedX !== G.sharedX || t.facetSettings.sharedY !== G.sharedY || ((l = t.normalization) == null ? void 0 : l.method) !== (_ == null ? void 0 : _.method) || ((v = t.normalization) == null ? void 0 : v.direction) !== (_ == null ? void 0 : _.direction) || t.NAValueAs !== w;
66
67
  }
67
68
  _needUpdateCalculatedDataByData(t, e) {
68
69
  const a = Object.keys(t.data), r = Object.keys(e.data);
@@ -79,10 +80,10 @@ class tt extends N {
79
80
  xGroupBy: r,
80
81
  yGroupBy: n,
81
82
  facetBy: o,
82
- chartSettings: i,
83
- facetSettings: c,
84
- annotations: m,
85
- dendrogramX: s,
83
+ chartSettings: s,
84
+ facetSettings: m,
85
+ annotations: c,
86
+ dendrogramX: i,
86
87
  dendrogramY: d,
87
88
  normalization: g,
88
89
  NAValueAs: l,
@@ -95,19 +96,19 @@ class tt extends N {
95
96
  o,
96
97
  r,
97
98
  n,
98
- m,
99
- s,
99
+ c,
100
+ i,
100
101
  d,
101
102
  g,
102
103
  l,
103
104
  v,
104
- i.xAxis,
105
- i.yAxis
106
- ), f = P(p, s, d, c), D = i.valueType === "discrete" ? this.data.getColumnCategories(a.value) : [];
105
+ s.xAxis,
106
+ s.yAxis
107
+ ), D = M(p, i, d, m), f = s.valueType === "discrete" ? this.data.getColumnCategories(a.value) : [];
107
108
  this.calculatedData = {
108
109
  groupedCellsData: p,
109
- dendrogramsData: f,
110
- cellUniqValues: D
110
+ dendrogramsData: D,
111
+ cellUniqValues: f
111
112
  };
112
113
  }
113
114
  _updateAesInData() {
@@ -121,50 +122,51 @@ class tt extends N {
121
122
  valueColumn: r,
122
123
  chartSettings: n,
123
124
  facetSettings: o,
124
- aes: i,
125
- annotations: c,
126
- dendrogramX: m,
127
- dendrogramY: s,
125
+ aes: s,
126
+ annotations: m,
127
+ dendrogramX: c,
128
+ dendrogramY: i,
128
129
  inheritedDendrogramAes: d,
129
130
  normalization: g,
130
131
  keysOrder: l,
131
132
  xColumn: v,
132
133
  yColumn: p,
133
- xGroupBy: f,
134
- yGroupBy: D
135
- } = this.settings, _ = {
134
+ xGroupBy: D,
135
+ yGroupBy: f
136
+ } = this.settings, A = {
136
137
  x: ((t = l[v.value]) == null ? void 0 : t.length) > 0,
137
138
  y: ((e = l[p.value]) == null ? void 0 : e.length) > 0,
138
- xGroup: f.some((x) => {
139
+ xGroup: D.some((S) => {
139
140
  var u;
140
- return ((u = l[x.value]) == null ? void 0 : u.length) > 0;
141
+ return ((u = l[S.value]) == null ? void 0 : u.length) > 0;
141
142
  }),
142
- yGroup: D.some((x) => {
143
+ yGroup: f.some((S) => {
143
144
  var u;
144
- return ((u = l[x.value]) == null ? void 0 : u.length) > 0;
145
+ return ((u = l[S.value]) == null ? void 0 : u.length) > 0;
145
146
  })
146
- };
147
+ }, X = this.data.columnNames.length ? this.data.getColumn(this.data.columnNames[0]).length : 0, b = this.settings.cellsRenderingMode ?? (X > L ? "canvas" : "svg");
147
148
  this.chartRenderer.render(
148
149
  this.data,
149
150
  a,
150
151
  n,
151
152
  o,
152
- i,
153
+ s,
153
154
  this.calculatedData.groupedCellsData,
154
- c,
155
- r,
156
155
  m,
157
- s,
156
+ r,
157
+ c,
158
+ i,
158
159
  this.calculatedData.dendrogramsData,
159
160
  d,
160
161
  this.calculatedData.cellUniqValues,
161
162
  g,
162
163
  this.onTooltipHintSwitch,
163
- _
164
+ A,
165
+ b
164
166
  );
165
167
  }
166
168
  }
167
169
  export {
168
- tt as ChartHeatmap
170
+ at as ChartHeatmap
169
171
  };
170
172
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/heatmap/index.ts"],"sourcesContent":["import { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings } from '../types';\nimport { isColumnName } from '../utils';\nimport ChartRenderer from './ChartRenderer';\nimport type { GroupedCellsData } from './getCells';\nimport { getCells } from './getCells';\nimport type { DendrogramsData } from './getDendrograms';\nimport { getDendrograms } from './getDendrograms';\nimport { HeatmapSettingsImpl } from './HeatmapSettingsImpl';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder,\n chartSettings.xAxis,\n chartSettings.yAxis,\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n keysOrder,\n xColumn,\n yColumn,\n xGroupBy,\n yGroupBy,\n } = this.settings;\n const customOrder = {\n x: keysOrder[xColumn.value]?.length > 0,\n y: keysOrder[yColumn.value]?.length > 0,\n xGroup: xGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n yGroup: yGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n };\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch,\n customOrder,\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","l","key","keysOrder","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes","customOrder","v"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/heatmap/index.ts"],"sourcesContent":["import { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings } from '../types';\nimport { isColumnName } from '../utils';\nimport ChartRenderer from './ChartRenderer';\nimport type { GroupedCellsData } from './getCells';\nimport { getCells } from './getCells';\nimport type { DendrogramsData } from './getDendrograms';\nimport { getDendrograms } from './getDendrograms';\nimport { HeatmapSettingsImpl } from './HeatmapSettingsImpl';\nimport { MAX_SVG_RENDERED_CELLS_COUNT } from './constants';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder,\n chartSettings.xAxis,\n chartSettings.yAxis,\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n keysOrder,\n xColumn,\n yColumn,\n xGroupBy,\n yGroupBy,\n } = this.settings;\n const customOrder = {\n x: keysOrder[xColumn.value]?.length > 0,\n y: keysOrder[yColumn.value]?.length > 0,\n xGroup: xGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n yGroup: yGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n };\n const dataSize = this.data.columnNames.length ? this.data.getColumn(this.data.columnNames[0]).length : 0;\n const cellsRenderingMode = this.settings.cellsRenderingMode ?? (dataSize > MAX_SVG_RENDERED_CELLS_COUNT ? 'canvas' : 'svg');\n \n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch,\n customOrder,\n cellsRenderingMode\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","l","key","keysOrder","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes","customOrder","v","dataSize","cellsRenderingMode","MAX_SVG_RENDERED_CELLS_COUNT"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,39 +1,39 @@
1
- import { DEFAULT_TICKS_SIZE as m, TITLE_LINE as S, MIN_STEP_FOR_VISIBLE_LABELS as w, TICK_OFFSET as a, FACET_TITLE_LINE as K, ANNOTATION_WIDTH as r, ANNOTATIONS_OFFSET as u } from "../constants.js";
2
- function V(i, o, l, F, n, s, e, g, d, O, P, C, z, G) {
3
- const v = C.length > 1 && (!d || e.includes(o.groupingPosition)), h = !d || e.includes(o.position), k = P.length > 1 && (!g || e.includes(i.groupingPosition)), T = !g || e.includes(i.position), y = O.length > 1, p = F.filter((t) => e.includes(t.position) || !g && ["left", "right"].includes(t.position) || !d && ["top", "bottom"].includes(t.position)), x = p.filter((t) => t.position === "left").length, I = p.filter((t) => t.position === "right").length, c = p.filter((t) => t.position === "top").length, E = p.filter((t) => t.position === "bottom").length, B = i.showTicks ? m : 0, D = o.showTicks ? m : 0, _ = T && i.showTitle ? S : 0, f = h && o.showTitle ? S : 0, L = T && i.showAxisLabels && z > w ? l.xAxisCaptions + B + a : 0, b = h && o.showAxisLabels && G > w ? l.yAxisCaptions + D + a : 0, A = k && i.showGroupLabels ? l.xGroupCaptions + a : 0, N = v && o.showGroupLabels ? l.yGroupCaptions + a : 0;
1
+ import { DEFAULT_TICKS_SIZE as m, TITLE_LINE as S, MIN_STEP_FOR_VISIBLE_LABELS as w, TICK_OFFSET as a, FACET_TITLE_LINE as D, ANNOTATION_WIDTH as r, ANNOTATIONS_OFFSET as u } from "../constants.js";
2
+ function U(i, o, l, F, n, s, e, g, d, O, P, C, z, G) {
3
+ const $ = C.length > 1 && (!d || e.includes(o.groupingPosition)), h = !d || e.includes(o.position), v = P.length > 1 && (!g || e.includes(i.groupingPosition)), T = !g || e.includes(i.position), k = O.length > 1, p = F.filter((t) => e.includes(t.position) || !g && ["left", "right"].includes(t.position) || !d && ["top", "bottom"].includes(t.position)), c = p.filter((t) => t.position === "left").length, x = p.filter((t) => t.position === "right").length, E = p.filter((t) => t.position === "top").length, I = p.filter((t) => t.position === "bottom").length, y = i.showTicks ? m : 0, B = o.showTicks ? m : 0, _ = T && i.showTitle ? S : 0, f = h && o.showTitle ? S : 0, L = T && i.showAxisLabels && z > w ? l.xAxisCaptions + y + a : 0, b = h && o.showAxisLabels && G > w ? l.yAxisCaptions + B + a : 0, A = v && i.showGroupLabels ? l.xGroupCaptions + a : 0, N = $ && o.showGroupLabels ? l.yGroupCaptions + a : 0;
4
4
  return {
5
5
  left: {
6
6
  dendro: !(s != null && s.hidden) && (s == null ? void 0 : s.position) === "left" ? s.size : 0,
7
7
  axisTitle: o.position === "left" ? f : 0,
8
8
  groups: o.groupingPosition === "left" ? N : 0,
9
9
  axis: o.position === "left" ? b : 0,
10
- annotations: x * r + (x && u)
10
+ annotations: c * r + (c && u)
11
11
  },
12
12
  right: {
13
13
  dendro: !(s != null && s.hidden) && (s == null ? void 0 : s.position) === "right" ? s.size : 0,
14
14
  axisTitle: o.position === "right" ? f : 0,
15
15
  groups: o.groupingPosition === "right" ? N : 0,
16
16
  axis: o.position === "right" ? b : 0,
17
- annotations: I * r + (I && u)
17
+ annotations: x * r + (x && u)
18
18
  },
19
19
  top: {
20
- facetTitle: y ? K : 0,
20
+ facetTitle: k ? D : 0,
21
21
  dendro: !(n != null && n.hidden) && (n == null ? void 0 : n.position) === "top" ? n.size : 0,
22
22
  axisTitle: i.position === "top" ? _ : 0,
23
23
  groups: i.groupingPosition === "top" ? A : 0,
24
24
  axis: i.position === "top" ? L : 0,
25
- annotations: c * r + (c && u)
25
+ annotations: E * r + (E && u)
26
26
  },
27
27
  bottom: {
28
28
  dendro: !(n != null && n.hidden) && (n == null ? void 0 : n.position) === "bottom" ? n.size : 0,
29
29
  axisTitle: i.position === "bottom" ? _ : 0,
30
30
  groups: i.groupingPosition === "bottom" ? A : 0,
31
31
  axis: i.position === "bottom" ? L : 0,
32
- annotations: E * r + (E && u)
32
+ annotations: I * r + (I && u)
33
33
  }
34
34
  };
35
35
  }
36
36
  export {
37
- V as calculateChartSideElementSizes
37
+ U as calculateChartSideElementSizes
38
38
  };
39
39
  //# sourceMappingURL=calculateChartSideElementSizes.js.map
@@ -1,4 +1,4 @@
1
- import { j as e } from "../../node_modules/react/jsx-runtime.js";
1
+ import { j as s } from "../../node_modules/react/jsx-runtime.js";
2
2
  import { ChartsTitle as B } from "../../common/ChartsTitle.js";
3
3
  import b from "../../common/fonts.js";
4
4
  import { Legend as k } from "../../common/Legend.js";
@@ -34,7 +34,7 @@ function X({
34
34
  r.current && L(r.current);
35
35
  }, []);
36
36
  const v = i.left + t.chartsWidth + K, z = i.top + h.top;
37
- return /* @__PURE__ */ e.jsx(R, { dataId: c, children: /* @__PURE__ */ e.jsxs(
37
+ return /* @__PURE__ */ s.jsx(R, { dataId: c, children: /* @__PURE__ */ s.jsxs(
38
38
  "svg",
39
39
  {
40
40
  xmlns: "http://www.w3.org/2000/svg",
@@ -42,9 +42,9 @@ function X({
42
42
  width: t.totalWidth,
43
43
  height: t.totalHeight,
44
44
  children: [
45
- /* @__PURE__ */ e.jsx("defs", { children: b }),
46
- /* @__PURE__ */ e.jsxs("g", { transform: `translate(${i.left},${i.top})`, fontFamily: "Manrope", children: [
47
- /* @__PURE__ */ e.jsx(
45
+ /* @__PURE__ */ s.jsx("defs", { children: b }),
46
+ /* @__PURE__ */ s.jsxs("g", { transform: `translate(${i.left},${i.top})`, fontFamily: "Manrope", children: [
47
+ /* @__PURE__ */ s.jsx(
48
48
  B,
49
49
  {
50
50
  title: f,
@@ -55,23 +55,23 @@ function X({
55
55
  chartsWidth: t.chartsWidth
56
56
  }
57
57
  ),
58
- o.map((s) => /* @__PURE__ */ e.jsx(
58
+ o.map((e) => /* @__PURE__ */ s.jsx(
59
59
  P,
60
60
  {
61
- facetKey: s,
62
- scales: { x: l.x[s], y: l.y[s] },
61
+ facetKey: e,
62
+ scales: { x: l.x[e], y: l.y[e] },
63
63
  width: t.chartWidth,
64
64
  height: t.chartHeight,
65
- dimensions: a[s],
65
+ dimensions: a[e],
66
66
  margins: i,
67
67
  chartSizes: t,
68
68
  facetSettings: d,
69
69
  xAxis: A,
70
70
  yAxis: E,
71
71
  frameType: F.type,
72
- facetTitle: u[s],
72
+ facetTitle: u[e],
73
73
  captionsSizes: x,
74
- histogramData: y[s],
74
+ histogramData: y[e],
75
75
  layers: S,
76
76
  aesColorGetter: w,
77
77
  groupingDirection: j,
@@ -80,11 +80,11 @@ function X({
80
80
  tooltipsContainer: H,
81
81
  tooltipsData: $
82
82
  },
83
- s
83
+ e
84
84
  ))
85
85
  ] }),
86
- /* @__PURE__ */ e.jsx("g", { transform: `translate(${v},${z})`, children: /* @__PURE__ */ e.jsx(k, { legendData: C }) }),
87
- /* @__PURE__ */ e.jsx("g", { ref: r, style: { outline: "none" } })
86
+ /* @__PURE__ */ s.jsx("g", { transform: `translate(${v},${z})`, children: /* @__PURE__ */ s.jsx(k, { legendData: C }) }),
87
+ /* @__PURE__ */ s.jsx("g", { ref: r, style: { outline: "none" } })
88
88
  ]
89
89
  }
90
90
  ) });
@@ -9,13 +9,13 @@ const i = o.enum(["discrete", "continuous"]), e = o.object({
9
9
  axis: o.literal("x"),
10
10
  position: o.optional(o.enum(["top", "bottom"])),
11
11
  titlePosition: o.optional(o.enum(["left", "right"]))
12
- }), b = e.extend({
12
+ }), c = e.extend({
13
13
  axis: o.literal("y"),
14
14
  position: o.optional(o.enum(["left", "right"])),
15
15
  titlePosition: o.optional(o.enum(["top", "bottom"]))
16
- }), c = o.enum(["euclidean", "squaredEuclidean"]), g = o.enum(["average", "complete", "single"]), a = o.object({
16
+ }), b = o.enum(["euclidean", "squaredEuclidean"]), g = o.enum(["average", "complete", "single"]), a = o.object({
17
17
  size: o.optional(o.number()),
18
- distance: o.optional(c),
18
+ distance: o.optional(b),
19
19
  linkage: o.optional(g),
20
20
  showNodes: o.optional(o.boolean()),
21
21
  edgeInheritance: o.optional(o.enum(["up", "down"])),
@@ -105,11 +105,12 @@ const i = o.enum(["discrete", "continuous"]), e = o.object({
105
105
  method: o.enum(["standardScaling", "meanNormalization"]),
106
106
  colorRange: o.optional(o.array(o.number()))
107
107
  })),
108
- annotations: o.optional(o.array(o.union([m, b]))),
108
+ annotations: o.optional(o.array(o.union([m, c]))),
109
109
  dendrogramX: o.optional(d),
110
110
  dendrogramY: o.optional(h),
111
111
  inheritedDendrogramAes: o.optional(o.record(o.string(), r)),
112
112
  NAValueAs: o.optional(o.union([o.number(), o.null()])),
113
+ cellsRenderingMode: o.optional(o.enum(["svg", "canvas"])),
113
114
  aes: o.optional(o.object({
114
115
  colorsList: o.optional(o.array(o.string())),
115
116
  colorsMap: o.optional(o.record(o.string())),
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/heatmap.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n ColumnNameSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nconst ValueTypeSchema = z.enum(['discrete', 'continuous']);\n\nconst HeatmapAnnotationSchema = z.object({\n valueColumn: ColumnNameSchema,\n type: ValueTypeSchema,\n showTitle: z.optional(z.boolean()),\n colors: z.optional(z.array(z.string()))\n});\n\nconst HeatmapAnnotationXSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('x'),\n position: z.optional(z.enum(['top', 'bottom'])),\n titlePosition: z.optional(z.enum(['left', 'right'])),\n});\nconst HeatmapAnnotationYSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('y'),\n position: z.optional(z.enum(['left', 'right'])),\n titlePosition: z.optional(z.enum(['top', 'bottom'])),\n});\n\nexport type DendrogramDistance = 'euclidean' | 'squaredEuclidean';\nexport type DendrogramLinkage = 'average' | 'complete' | 'single';\n\nconst DendrogramDistanceSchema = z.enum(['euclidean', 'squaredEuclidean']);\nconst DendrogramLinkageSchema = z.enum(['average', 'complete', 'single']);\n\nexport type NormalizationDirection = 'row' | 'column';\nexport type NormalizationMethod = 'standardScaling' | 'meanNormalization';\n\nconst DendrogramSchema = z.object({\n size: z.optional(z.number()),\n distance: z.optional(DendrogramDistanceSchema),\n linkage: z.optional(DendrogramLinkageSchema),\n showNodes: z.optional(z.boolean()),\n edgeInheritance: z.optional(z.enum(['up', 'down'])),\n fillNA: z.optional(z.number()),\n hidden: z.optional(z.boolean()),\n aes: z.optional(z.object({\n lineColor: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotFill: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotShape: z.optional(z.union([PointShapeSchema, ColumnNameSchema])),\n dotSize: z.optional(z.union([z.number(), ColumnNameSchema])),\n lineShape: z.optional(z.union([LineShapeSchema, ColumnNameSchema])),\n lineWidth: z.optional(z.union([z.number(), ColumnNameSchema])),\n }))\n});\n\nconst DendrogramXSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['top', 'bottom']))\n});\nconst DendrogramYSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['left', 'right']))\n});\n\nconst axisCommonSchema = {\n title: z.optional(z.string()),\n showTicks: z.optional(z.boolean()),\n showTitle: z.optional(z.boolean()),\n showAxisLabels: z.optional(z.boolean()),\n showGroupLabels: z.optional(z.boolean()),\n axisLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n groupLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n};\n\nexport const HeatmapSettingsSchema = z.object({\n type: z.literal('heatmap'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n tooltips: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n content: z.optional(z.array(ColumnNameSchema)),\n })\n ),\n valueType: z.optional(ValueTypeSchema),\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n cellWidth: z.optional(z.number()),\n cellHeight: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n frame: z.optional(z.object({type: z.optional(z.enum(['full', 'groups', 'none']))})),\n xAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['top', 'bottom'])),\n groupingPosition: z.optional(z.enum(['top', 'bottom'])),\n })),\n yAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['left', 'right'])),\n groupingPosition: z.optional(z.enum(['left', 'right'])),\n })),\n facetSettings: z.optional(z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n })),\n xColumn: ColumnNameSchema,\n yColumn: ColumnNameSchema,\n valueColumn: ColumnNameSchema,\n xGroupBy: z.optional(z.array(ColumnNameSchema)),\n yGroupBy: z.optional(z.array(ColumnNameSchema)),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n keysOrder: z.optional( // x, y, grouping, facet keys in user's order\n z.record(z.string(), z.array(z.string()))\n ),\n normalization: z.optional(z.object({\n direction: z.enum(['row', 'column']),\n method: z.enum(['standardScaling', 'meanNormalization']),\n colorRange: z.optional(z.array(z.number()))\n })),\n annotations: z.optional(z.array(z.union([HeatmapAnnotationXSchema, HeatmapAnnotationYSchema]))),\n dendrogramX: z.optional(DendrogramXSchema),\n dendrogramY: z.optional(DendrogramYSchema),\n inheritedDendrogramAes: z.optional(z.record(z.string(), AesRecordSchema)),\n NAValueAs: z.optional(z.union([z.number(), z.null()])),\n aes: z.optional(z.object({\n colorsList: z.optional(z.array(z.string())),\n colorsMap: z.optional(z.record(z.string())),\n valueColors: z.optional(z.array(z.string())),\n valuesByColors: z.optional(z.array(z.number())),\n cellStrokeColor: z.optional(z.string()),\n emptyCellColor: z.optional(z.string()),\n groupGap: z.optional(z.number()),\n cellGap: z.optional(z.number()),\n }))\n});\n\nexport type HeatmapSettings = z.infer<typeof HeatmapSettingsSchema>;\n\n"],"names":["ValueTypeSchema","z","HeatmapAnnotationSchema","ColumnNameSchema","HeatmapAnnotationXSchema","HeatmapAnnotationYSchema","DendrogramDistanceSchema","DendrogramLinkageSchema","DendrogramSchema","PointShapeSchema","LineShapeSchema","DendrogramXSchema","DendrogramYSchema","axisCommonSchema","HeatmapSettingsSchema","TitlePositionSchema","LegendPositionSchema","AesRecordSchema"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"heatmap.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/heatmap.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n ColumnNameSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nconst ValueTypeSchema = z.enum(['discrete', 'continuous']);\n\nconst HeatmapAnnotationSchema = z.object({\n valueColumn: ColumnNameSchema,\n type: ValueTypeSchema,\n showTitle: z.optional(z.boolean()),\n colors: z.optional(z.array(z.string()))\n});\n\nconst HeatmapAnnotationXSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('x'),\n position: z.optional(z.enum(['top', 'bottom'])),\n titlePosition: z.optional(z.enum(['left', 'right'])),\n});\nconst HeatmapAnnotationYSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('y'),\n position: z.optional(z.enum(['left', 'right'])),\n titlePosition: z.optional(z.enum(['top', 'bottom'])),\n});\n\nexport type DendrogramDistance = 'euclidean' | 'squaredEuclidean';\nexport type DendrogramLinkage = 'average' | 'complete' | 'single';\n\nconst DendrogramDistanceSchema = z.enum(['euclidean', 'squaredEuclidean']);\nconst DendrogramLinkageSchema = z.enum(['average', 'complete', 'single']);\n\nexport type NormalizationDirection = 'row' | 'column';\nexport type NormalizationMethod = 'standardScaling' | 'meanNormalization';\n\nconst DendrogramSchema = z.object({\n size: z.optional(z.number()),\n distance: z.optional(DendrogramDistanceSchema),\n linkage: z.optional(DendrogramLinkageSchema),\n showNodes: z.optional(z.boolean()),\n edgeInheritance: z.optional(z.enum(['up', 'down'])),\n fillNA: z.optional(z.number()),\n hidden: z.optional(z.boolean()),\n aes: z.optional(z.object({\n lineColor: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotFill: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotShape: z.optional(z.union([PointShapeSchema, ColumnNameSchema])),\n dotSize: z.optional(z.union([z.number(), ColumnNameSchema])),\n lineShape: z.optional(z.union([LineShapeSchema, ColumnNameSchema])),\n lineWidth: z.optional(z.union([z.number(), ColumnNameSchema])),\n }))\n});\n\nconst DendrogramXSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['top', 'bottom']))\n});\nconst DendrogramYSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['left', 'right']))\n});\n\nconst axisCommonSchema = {\n title: z.optional(z.string()),\n showTicks: z.optional(z.boolean()),\n showTitle: z.optional(z.boolean()),\n showAxisLabels: z.optional(z.boolean()),\n showGroupLabels: z.optional(z.boolean()),\n axisLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n groupLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n};\n\nexport const HeatmapSettingsSchema = z.object({\n type: z.literal('heatmap'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n tooltips: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n content: z.optional(z.array(ColumnNameSchema)),\n })\n ),\n valueType: z.optional(ValueTypeSchema),\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n cellWidth: z.optional(z.number()),\n cellHeight: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n frame: z.optional(z.object({type: z.optional(z.enum(['full', 'groups', 'none']))})),\n xAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['top', 'bottom'])),\n groupingPosition: z.optional(z.enum(['top', 'bottom'])),\n })),\n yAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['left', 'right'])),\n groupingPosition: z.optional(z.enum(['left', 'right'])),\n })),\n facetSettings: z.optional(z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n })),\n xColumn: ColumnNameSchema,\n yColumn: ColumnNameSchema,\n valueColumn: ColumnNameSchema,\n xGroupBy: z.optional(z.array(ColumnNameSchema)),\n yGroupBy: z.optional(z.array(ColumnNameSchema)),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n keysOrder: z.optional( // x, y, grouping, facet keys in user's order\n z.record(z.string(), z.array(z.string()))\n ),\n normalization: z.optional(z.object({\n direction: z.enum(['row', 'column']),\n method: z.enum(['standardScaling', 'meanNormalization']),\n colorRange: z.optional(z.array(z.number()))\n })),\n annotations: z.optional(z.array(z.union([HeatmapAnnotationXSchema, HeatmapAnnotationYSchema]))),\n dendrogramX: z.optional(DendrogramXSchema),\n dendrogramY: z.optional(DendrogramYSchema),\n inheritedDendrogramAes: z.optional(z.record(z.string(), AesRecordSchema)),\n NAValueAs: z.optional(z.union([z.number(), z.null()])),\n cellsRenderingMode: z.optional(z.enum(['svg', 'canvas'])),\n aes: z.optional(z.object({\n colorsList: z.optional(z.array(z.string())),\n colorsMap: z.optional(z.record(z.string())),\n valueColors: z.optional(z.array(z.string())),\n valuesByColors: z.optional(z.array(z.number())),\n cellStrokeColor: z.optional(z.string()),\n emptyCellColor: z.optional(z.string()),\n groupGap: z.optional(z.number()),\n cellGap: z.optional(z.number()),\n }))\n});\n\nexport type HeatmapSettings = z.infer<typeof HeatmapSettingsSchema>;\n\n"],"names":["ValueTypeSchema","z","HeatmapAnnotationSchema","ColumnNameSchema","HeatmapAnnotationXSchema","HeatmapAnnotationYSchema","DendrogramDistanceSchema","DendrogramLinkageSchema","DendrogramSchema","PointShapeSchema","LineShapeSchema","DendrogramXSchema","DendrogramYSchema","axisCommonSchema","HeatmapSettingsSchema","TitlePositionSchema","LegendPositionSchema","AesRecordSchema"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,16 +1,18 @@
1
- const p = "pl7.app/axisNature", a = "pl7.app/label", s = "pl7.app/columnAsAxis/name", l = "pl7.app/columnAsAxis/domain", E = "pl7.app/isSubset", _ = "pl7.app/isDiscreteFilter", i = "pl7.app/discreteValues", L = "pl7.app/graph/axis/highCardinality", I = "pl7.app/graph/isVirtual", A = "pl7.app/isLinkerColumn", e = "pl7.app/multipliesBy", t = "pl7.app/format";
1
+ const p = "pl7.app/axisNature", a = "pl7.app/label", s = "pl7.app/columnAsAxis/name", l = "pl7.app/columnAsAxis/domain", E = "pl7.app/isSubset", _ = "pl7.app/isDiscreteFilter", A = "pl7.app/discreteValues", i = "pl7.app/graph/axis/highCardinality", e = "pl7.app/graph/isVirtual", I = "pl7.app/isLinkerColumn", L = "pl7.app/multipliesBy", t = "pl7.app/graph/isDenseAxis", S = "pl7.app/graph/treatAbsentValuesAs", r = "pl7.app/format";
2
2
  export {
3
3
  p as AXIS_NATURE_KEY,
4
4
  l as COLUMN_DOMAIN_KEY,
5
5
  a as COLUMN_LABEL_KEY,
6
6
  s as COLUMN_NAME_KEY,
7
7
  _ as DISCRETE_FILTER_KEY,
8
- i as DISCRETE_VALUES_KEY,
9
- t as FORMAT,
10
- L as HIGH_CARDINALITY,
11
- A as IS_LINKER_COLUMN,
12
- I as IS_VIRTUAL_COLUMN,
13
- e as MULTIPLIES_BY,
14
- E as SUBSET_FILTER_KEY
8
+ A as DISCRETE_VALUES_KEY,
9
+ r as FORMAT,
10
+ i as HIGH_CARDINALITY,
11
+ t as IS_DENSE_AXIS,
12
+ I as IS_LINKER_COLUMN,
13
+ e as IS_VIRTUAL_COLUMN,
14
+ L as MULTIPLIES_BY,
15
+ E as SUBSET_FILTER_KEY,
16
+ S as TREAT_ABSENT_VALUE_AS
15
17
  };
16
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../node_modules/@milaboratories/pf-plots/src/constants.ts"],"sourcesContent":["export const AXIS_NATURE_KEY = 'pl7.app/axisNature';\nexport const COLUMN_LABEL_KEY = 'pl7.app/label';\n\nexport const COLUMN_NAME_KEY = 'pl7.app/columnAsAxis/name';\nexport const COLUMN_DOMAIN_KEY = 'pl7.app/columnAsAxis/domain';\nexport const SUBSET_FILTER_KEY = 'pl7.app/isSubset';\nexport const DISCRETE_FILTER_KEY = 'pl7.app/isDiscreteFilter';\nexport const DISCRETE_VALUES_KEY = 'pl7.app/discreteValues';\nexport const MIN_VALUE_KEY = 'pl7.app/min';\nexport const MAX_VALUE_KEY = 'pl7.app/max';\n\nexport const HIGH_CARDINALITY = 'pl7.app/graph/axis/highCardinality';\nexport const IS_VIRTUAL_COLUMN = 'pl7.app/graph/isVirtual'; // duplicate of metadata-column enriched domain keys for compatibility with other column\nexport const IS_LINKER_COLUMN = 'pl7.app/isLinkerColumn';\nexport const MULTIPLIES_BY = 'pl7.app/multipliesBy' // \"one-directional\" linker, one value can be linked with few ones, contains list of ids (for example \"[\\\"pl7.app/sampleId\\\"]\")\n\nexport const FORMAT = 'pl7.app/format';\n"],"names":["AXIS_NATURE_KEY","COLUMN_LABEL_KEY","COLUMN_NAME_KEY","COLUMN_DOMAIN_KEY","SUBSET_FILTER_KEY","DISCRETE_FILTER_KEY","DISCRETE_VALUES_KEY","HIGH_CARDINALITY","IS_VIRTUAL_COLUMN","IS_LINKER_COLUMN","MULTIPLIES_BY","FORMAT"],"mappings":"AAAO,MAAMA,IAAkB,sBAClBC,IAAmB,iBAEnBC,IAAkB,6BAClBC,IAAoB,+BACpBC,IAAoB,oBACpBC,IAAsB,4BACtBC,IAAsB,0BAItBC,IAAmB,sCACnBC,IAAoB,2BACpBC,IAAmB,0BACnBC,IAAgB,wBAEhBC,IAAS;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../node_modules/@milaboratories/pf-plots/src/constants.ts"],"sourcesContent":["export const AXIS_NATURE_KEY = 'pl7.app/axisNature';\nexport const COLUMN_LABEL_KEY = 'pl7.app/label';\n\nexport const COLUMN_NAME_KEY = 'pl7.app/columnAsAxis/name';\nexport const COLUMN_DOMAIN_KEY = 'pl7.app/columnAsAxis/domain';\nexport const SUBSET_FILTER_KEY = 'pl7.app/isSubset';\nexport const DISCRETE_FILTER_KEY = 'pl7.app/isDiscreteFilter';\nexport const DISCRETE_VALUES_KEY = 'pl7.app/discreteValues';\nexport const MIN_VALUE_KEY = 'pl7.app/min';\nexport const MAX_VALUE_KEY = 'pl7.app/max';\n\nexport const HIGH_CARDINALITY = 'pl7.app/graph/axis/highCardinality';\nexport const IS_VIRTUAL_COLUMN = 'pl7.app/graph/isVirtual'; // duplicate of metadata-column enriched domain keys for compatibility with other column\nexport const IS_LINKER_COLUMN = 'pl7.app/isLinkerColumn';\nexport const MULTIPLIES_BY = 'pl7.app/multipliesBy' // \"one-directional\" linker, one value can be linked with few ones, contains list of ids (for example \"[\\\"pl7.app/sampleId\\\"]\")\nexport const IS_DENSE_AXIS = 'pl7.app/graph/isDenseAxis' // with this annotation we have to add 'artificial column' in join request, to get all possible marked axes keys combinations in the response\nexport const TREAT_ABSENT_VALUE_AS = 'pl7.app/graph/treatAbsentValuesAs' // use this value in absent values in column (instead of null)\n\nexport const FORMAT = 'pl7.app/format';\n"],"names":["AXIS_NATURE_KEY","COLUMN_LABEL_KEY","COLUMN_NAME_KEY","COLUMN_DOMAIN_KEY","SUBSET_FILTER_KEY","DISCRETE_FILTER_KEY","DISCRETE_VALUES_KEY","HIGH_CARDINALITY","IS_VIRTUAL_COLUMN","IS_LINKER_COLUMN","MULTIPLIES_BY","IS_DENSE_AXIS","TREAT_ABSENT_VALUE_AS","FORMAT"],"mappings":"AAAO,MAAMA,IAAkB,sBAClBC,IAAmB,iBAEnBC,IAAkB,6BAClBC,IAAoB,+BACpBC,IAAoB,oBACpBC,IAAsB,4BACtBC,IAAsB,0BAItBC,IAAmB,sCACnBC,IAAoB,2BACpBC,IAAmB,0BACnBC,IAAgB,wBAChBC,IAAgB,6BAChBC,IAAwB,qCAExBC,IAAS;","x_google_ignoreList":[0]}