@milaboratories/graph-maker 1.1.154 → 1.1.156

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 (64) hide show
  1. package/dist/GraphMaker/constantsCommon.d.ts +2 -0
  2. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  3. package/dist/GraphMaker/constantsCommon.js +29 -27
  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 +215 -148
  7. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  8. package/dist/GraphMaker/store.d.ts.map +1 -1
  9. package/dist/GraphMaker/store.js +59 -57
  10. package/dist/GraphMaker/store.js.map +1 -1
  11. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts +5 -0
  12. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
  13. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +1 -0
  14. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  15. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +5 -0
  16. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  17. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +24 -24
  18. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  19. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +2 -0
  20. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  21. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +2 -0
  22. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
  23. package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +22 -22
  24. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js +160 -156
  25. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js.map +1 -1
  26. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/DendroSettingsImpl.js +31 -27
  27. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/DendroSettingsImpl.js.map +1 -1
  28. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/components/Chart.js +53 -53
  29. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/components/Chart.js.map +1 -1
  30. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/getHierarchyData.js +30 -24
  31. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/getHierarchyData.js.map +1 -1
  32. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js +78 -77
  33. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js.map +1 -1
  34. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js +267 -258
  35. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js.map +1 -1
  36. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js +59 -54
  37. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  38. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +91 -89
  39. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
  40. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +17 -17
  41. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js +98 -87
  42. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js.map +1 -1
  43. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +98 -76
  44. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
  45. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateCaptionTails.js +57 -57
  46. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
  47. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js +52 -51
  48. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js.map +1 -1
  49. package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js +13 -8
  50. package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js.map +1 -1
  51. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +5 -5
  52. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +19 -11
  53. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js.map +1 -1
  54. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +6 -6
  55. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js.map +1 -1
  56. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js +94 -91
  57. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js.map +1 -1
  58. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +2 -2
  59. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js.map +1 -1
  60. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +50 -49
  61. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -1
  62. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +15 -14
  63. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
  64. package/package.json +3 -3
@@ -1,11 +1,11 @@
1
- import M from "../../_virtual/canonicalize.js";
2
- import q from "../../_virtual/lodash.js";
1
+ import z from "../../_virtual/canonicalize.js";
2
+ import M from "../../_virtual/lodash.js";
3
3
  import { FORMAT as F } from "../../constants.js";
4
- import { ControllerBase as W } from "../ControllerBase.js";
4
+ import { ControllerBase as q } from "../ControllerBase.js";
5
5
  import { ComponentController as c } from "../ComponentController.js";
6
6
  import { AxisId as T, columnOrAxisIdFromString as S, isColumnId as x } from "../../spec.js";
7
- import { createLinkerMap as Y, createMultipliesByMap as j, getFiltersFromStates as H, getAxesSpecsFromSources as X, getLinkerColumnsForSource as N, getColumnOrAxisValueLabelsId as v, createHighlightColumn as J, getColumnOrAxisLabel as b, getColumnOrAxisSpec as k } from "../../utils.js";
8
- var R = Object.defineProperty, V = (w, t, e) => t in w ? R(w, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : w[t] = e, E = (w, t, e) => V(w, typeof t != "symbol" ? t + "" : t, e);
7
+ import { createLinkerMap as W, createMultipliesByMap as Y, getFiltersFromStates as j, getAxesSpecsFromSources as X, getLinkerColumnsForSource as N, getColumnOrAxisValueLabelsId as v, createHighlightColumn as H, getColumnOrAxisLabel as b, getColumnOrAxisSpec as k } from "../../utils.js";
8
+ var J = Object.defineProperty, R = (w, t, e) => t in w ? J(w, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : w[t] = e, V = (w, t, e) => R(w, t + "", e);
9
9
  const ee = {
10
10
  type: "scatterplot",
11
11
  components: {
@@ -23,7 +23,8 @@ const ee = {
23
23
  },
24
24
  dividedAxes: {}
25
25
  };
26
- class te extends W {
26
+ class te extends q {
27
+ //allowHangingAxes = true;
27
28
  constructor() {
28
29
  super(
29
30
  {
@@ -157,7 +158,7 @@ class te extends W {
157
158
  }
158
159
  })
159
160
  }
160
- ), E(this, "dataInputs", ["x", "y"]), E(this, "allowHangingAxes", !0);
161
+ ), V(this, "dataInputs", ["x", "y"]);
161
162
  }
162
163
  getMustBeConsumedAxes(t, e) {
163
164
  if (!t.components.x.selectorStates.length || !t.components.y.selectorStates.length)
@@ -175,12 +176,12 @@ class te extends W {
175
176
  throw Error("X or Y column is not valid");
176
177
  const r = S(p), i = S(u), a = {
177
178
  type: "columns",
178
- id: M(e.components) ?? "",
179
+ id: z(e.components) ?? "",
179
180
  values: {}
180
- }, m = await Y(t), s = await j(t), d = [
181
+ }, m = await W(t), s = await Y(t), d = [
181
182
  ...e.components.filters.selectorStates,
182
183
  ...e.components.tabBy.selectorStates
183
- ], I = H(d), A = d.map((o) => S(o.selectedSource)).filter(x), C = [r, i].filter(x).map((o) => o.toCanonicalString());
184
+ ], I = j(d), A = d.map((o) => S(o.selectedSource)).filter(x), C = [r, i].filter(x).map((o) => o.toCanonicalString());
184
185
  if (C.length === 0)
185
186
  throw Error("One of X and Y should be a column");
186
187
  const O = await X(t, C), P = [r, i, ...A], h = [], f = [];
@@ -222,7 +223,7 @@ class te extends W {
222
223
  return [...P, ...h].forEach((o) => {
223
224
  const l = o.toCanonicalString();
224
225
  a.values[l] = x(o) ? n.columnsData[l] : n.axesData[l];
225
- }), a.values.key = new Array(a.values[Object.keys(a.values)[0]].length).fill(0).map((o, l) => l), e.components.highlight.selectorStates.length && (a.values.highlight = J(e.components.highlight.selectorStates, n)), { byColumns: a };
226
+ }), a.values.key = new Array(a.values[Object.keys(a.values)[0]].length).fill(0).map((o, l) => l), e.components.highlight.selectorStates.length && (a.values.highlight = H(e.components.highlight.selectorStates, n)), { byColumns: a };
226
227
  }
227
228
  async createChartSettings(t, e) {
228
229
  var g, y, p, u;
@@ -248,7 +249,7 @@ class te extends W {
248
249
  value: ((o = await v(t, n.selectedSource, s)) == null ? void 0 : o.toCanonicalString()) ?? n.selectedSource
249
250
  };
250
251
  })
251
- ), O = q.uniq([
252
+ ), O = M.uniq([
252
253
  ...e.components.grouping.selectorStates.map((n) => n.selectedSource),
253
254
  ...e.components.size.selectorStates.map((n) => n.selectedSource),
254
255
  ...e.components.shape.selectorStates.map((n) => n.selectedSource)
@@ -267,12 +268,12 @@ class te extends W {
267
268
  ), h = await Promise.all(
268
269
  e.components.tooltipContent.selectorStates.map(async (n) => {
269
270
  var o;
270
- const l = n.selectedSource, L = S(l), z = await v(t, l, s) ?? L, B = await k(t, l, s);
271
+ const l = n.selectedSource, L = S(l), E = await v(t, l, s) ?? L, B = await k(t, l, s);
271
272
  return {
272
273
  type: "column",
273
274
  label: await b(t, l, s) || l,
274
275
  value: l,
275
- valueLabels: z.toCanonicalString(),
276
+ valueLabels: E.toCanonicalString(),
276
277
  format: (o = B == null ? void 0 : B.annotations) == null ? void 0 : o[F]
277
278
  };
278
279
  })
@@ -1 +1 @@
1
- {"version":3,"file":"scatterplot.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/scatterplot.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport lodash from 'lodash';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport {FORMAT} from '../../constants';\nimport {PValue} from '../../store';\nimport {ControllerBase, PlotDataAndSettings} from '../ControllerBase';\nimport {ComponentController} from '../ComponentController';\nimport {AxisId, ColumnId} from '../../spec';\nimport {columnOrAxisIdFromString, isColumnId} from '../../spec';\nimport type {DataStore} from '../../store';\nimport {\n createHighlightColumn,\n createLinkerMap,\n createMultipliesByMap,\n getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates,\n getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\n\nexport interface ScatterplotUIState extends InputStateParent<'scatterplot'> {\n type: 'scatterplot';\n components: {\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n highlight: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n grouping: ComponentStateSimple;\n shape: ComponentStateSimple;\n size: ComponentStateSimple;\n label: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n };\n}\n\nexport const InitialScatterplotState: ScatterplotUIState = {\n type: 'scatterplot',\n components: {\n x: {type: 'simple', selectorStates: []},\n y: {type: 'simple', selectorStates: []},\n filters: {type: 'filter', selectorStates: []},\n highlight: {type: 'filter', selectorStates: []},\n tabBy: {type: 'filter', selectorStates: []},\n facetBy: {type: 'simple', selectorStates: []},\n grouping: {type: 'simple', selectorStates: []},\n shape: {type: 'simple', selectorStates: []},\n size: {type: 'simple', selectorStates: []},\n label: {type: 'simple', selectorStates: []},\n tooltipContent: {type: 'simple', selectorStates: []}\n },\n dividedAxes: {},\n};\n\nexport class ScatterplotStateController extends ControllerBase<ScatterplotUIState> {\n dataInputs = ['x', 'y'];\n allowHangingAxes = true;\n\n constructor() {\n super(\n {\n x: new ComponentController<ScatterplotUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'Long', 'Double' , 'Float', 'String'],\n parentComponents: ['y'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n y: new ComponentController<ScatterplotUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'Long', 'Double', 'Float', 'String'],\n parentComponents: ['x'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n facetBy: new ComponentController<ScatterplotUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n grouping: new ComponentController<ScatterplotUIState, 'grouping'>({\n componentName: 'grouping',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n shape: new ComponentController<ScatterplotUIState, 'shape'>({\n componentName: 'shape',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n size: new ComponentController<ScatterplotUIState, 'size'>({\n componentName: 'size',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n tooltipContent: new ComponentController<ScatterplotUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n label: new ComponentController<ScatterplotUIState, 'label'>({\n componentName: 'label',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: false,\n },\n }),\n },\n {\n filters: new ComponentController<ScatterplotUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n tabBy: new ComponentController<ScatterplotUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n highlight: new ComponentController<ScatterplotUIState, 'highlight'>({\n componentName: 'highlight',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: true,\n },\n }),\n }\n );\n }\n\n getMustBeConsumedAxes(state: ScatterplotUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.x.selectorStates.length || !state.components.y.selectorStates.length) {\n return new Set<string>();\n }\n const sourceIdX = state.components.x.selectorStates[0].selectedSource;\n const sourceIdY = state.components.y.selectorStates[0].selectedSource;\n const dataX = optionsInfo.get(sourceIdX);\n const dataY = optionsInfo.get(sourceIdY);\n if (!dataX || !dataY || dataX.kind !== 'column' || dataY.kind !== 'column') {\n return new Set<string>();\n }\n const axesX = dataX.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const axesY = dataY.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const hangingX = axesX.filter(axisKey => !axesY.some(id => id === axisKey));\n const hangingY = axesY.filter(axisKey => !axesX.some(id => id === axisKey));\n\n if (hangingX.length && hangingY.length) {\n return new Set<string>([...hangingX, ...hangingY])\n }\n return new Set<string>();\n }\n\n async createDataByColumns(store: DataStore, state: ScatterplotUIState): Promise<PlotDataAndSettings['data']> {\n const xColumnIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yColumnIdString = state.components.y.selectorStates[0]?.selectedSource;\n if (!xColumnIdString || !yColumnIdString) {\n throw Error('X or Y column is not valid');\n }\n const xId = columnOrAxisIdFromString(xColumnIdString);\n const yId = columnOrAxisIdFromString(yColumnIdString);\n const dataByColumns: DataByColumns = {\n type: 'columns',\n id: canonicalize(state.components) ?? '',\n values: {},\n };\n\n const linkerMap = await createLinkerMap(store);\n const multipliesByMap = await createMultipliesByMap(store);\n\n const filterSelectedStates = [\n ...state.components.filters.selectorStates,\n ...state.components.tabBy.selectorStates\n ]\n // filters for column/axes data requests\n const filters = getFiltersFromStates(filterSelectedStates);\n const filterColumns = filterSelectedStates.map(s => columnOrAxisIdFromString(s.selectedSource)).filter(isColumnId);\n\n const parentSources = [xId, yId].filter(isColumnId).map(item => item.toCanonicalString());\n\n if (parentSources.length === 0) {\n throw Error('One of X and Y should be a column');\n }\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n\n const primarySources = [xId, yId, ...filterColumns];\n const secondarySources: (ColumnId | AxisId)[] = [];\n const linkerColumns:ColumnId[] = [];\n\n for (const {selectedSource} of filterSelectedStates) {\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n }\n\n const inputs = [\n state.components.grouping,\n state.components.size,\n state.components.shape,\n state.components.tooltipContent,\n state.components.facetBy,\n state.components.label,\n state.components.highlight,\n ];\n for (const input of inputs) {\n for (const {selectedSource} of input.selectorStates) {\n secondarySources.push(columnOrAxisIdFromString(selectedSource)!);\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n const labelsColumnId = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n if (labelsColumnId) {\n secondarySources.push(labelsColumnId);\n }\n }\n }\n\n const data = await store.pFrameProvider.getTableOuterJoin(\n [xId, yId, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n false\n );\n\n [...primarySources, ...secondarySources].forEach(item => {\n const key = item.toCanonicalString();\n dataByColumns.values[key] = isColumnId(item) ? data.columnsData[key] : data.axesData[key];\n });\n\n dataByColumns.values['key'] = new Array(dataByColumns.values[Object.keys(dataByColumns.values)[0]].length).fill(0).map((_v, idx) => idx);\n\n if (state.components.highlight.selectorStates.length) {\n dataByColumns.values['highlight'] = createHighlightColumn(state.components.highlight.selectorStates, data) as PValue[];\n }\n\n return {byColumns: dataByColumns};\n }\n\n async createChartSettings(store: DataStore, state: ScatterplotUIState): Promise<Record<string, unknown>> {\n const xIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yIdString = state.components.y.selectorStates[0]?.selectedSource;\n const xIdWithQ = xIdString ? columnOrAxisIdFromString(xIdString) : null;\n const yIdWithQ = yIdString ? columnOrAxisIdFromString(yIdString) : null;\n if (!xIdString || !yIdString || !xIdWithQ || !yIdWithQ || (!isColumnId(xIdWithQ) && !isColumnId(yIdWithQ))) {\n throw Error('Empty or invalid required data');\n }\n\n const parentSources = [xIdWithQ, yIdWithQ].filter(isColumnId).map(item => item.toCanonicalString());\n const x = {\n type: 'column',\n value: xIdString,\n label: await getColumnOrAxisLabel(store, xIdString, parentSources),\n };\n const y = {\n type: 'column',\n value: yIdString,\n label: await getColumnOrAxisLabel(store, yIdString, parentSources),\n };\n const keyColumn = {\n type: 'column',\n value: 'key',\n };\n const facetBy = await Promise.all(\n state.components.facetBy.selectorStates.map(async selectorState => ({\n type: 'column',\n value:\n (await getColumnOrAxisValueLabelsId(store, selectorState.selectedSource, parentSources))?.toCanonicalString() ??\n selectorState.selectedSource,\n }))\n );\n const allGroupingIds = lodash.uniq([\n ...state.components.grouping.selectorStates.map(s => s.selectedSource),\n ...state.components.size.selectorStates.map(s => s.selectedSource),\n ...state.components.shape.selectorStates.map(s => s.selectedSource),\n ]);\n const grouping = await Promise.all(\n allGroupingIds.map(async idString => {\n return {\n columnName: {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, idString, parentSources)) || idString,\n value: idString,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, idString, parentSources))?.toCanonicalString() ??\n idString,\n }\n };\n })\n );\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\n const id = columnOrAxisIdFromString(source);\n const labelColumn = (await getColumnOrAxisValueLabelsId(store, source, parentSources)) ?? id;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n return {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, source, parentSources)) || source,\n value: source,\n valueLabels: labelColumn.toCanonicalString(),\n format: spec?.annotations?.[FORMAT]\n };\n })\n );\n\n let label;\n if (state.components.label.selectorStates.length) {\n const source = state.components.label.selectorStates[0].selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n label = {\n type: 'column',\n value: source,\n label: await getColumnOrAxisLabel(store, source, parentSources),\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: spec?.annotations?.[FORMAT]\n };\n }\n let highlight;\n if (state.components.highlight.selectorStates.length) {\n highlight = {\n type: 'column',\n value: 'highlight'\n }\n }\n return {\n type: 'scatterplot',\n x,\n y,\n keyColumn,\n facetBy,\n grouping,\n label,\n highlight,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialScatterplotState","ScatterplotStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceIdX","sourceIdY","dataX","dataY","axesX","s","AxisId","axesY","hangingX","axisKey","id","hangingY","store","xColumnIdString","_a","yColumnIdString","_b","xId","columnOrAxisIdFromString","yId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","isColumnId","parentSources","item","parentAxesList","getAxesSpecsFromSources","primarySources","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","inputs","input","labelsColumnId","getColumnOrAxisValueLabelsId","data","key","_v","idx","createHighlightColumn","xIdString","yIdString","xIdWithQ","yIdWithQ","x","getColumnOrAxisLabel","y","keyColumn","facetBy","selectorState","allGroupingIds","lodash","grouping","idString","tooltipContent","source","labelColumn","spec","getColumnOrAxisSpec","FORMAT","label","_c","_d","highlight"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"scatterplot.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/scatterplot.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport lodash from 'lodash';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport {FORMAT} from '../../constants';\nimport {PValue} from '../../store';\nimport {ControllerBase, PlotDataAndSettings} from '../ControllerBase';\nimport {ComponentController} from '../ComponentController';\nimport {AxisId, ColumnId} from '../../spec';\nimport {columnOrAxisIdFromString, isColumnId} from '../../spec';\nimport type {DataStore} from '../../store';\nimport {\n createHighlightColumn,\n createLinkerMap,\n createMultipliesByMap,\n getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates,\n getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\n\nexport interface ScatterplotUIState extends InputStateParent<'scatterplot'> {\n type: 'scatterplot';\n components: {\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n highlight: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n grouping: ComponentStateSimple;\n shape: ComponentStateSimple;\n size: ComponentStateSimple;\n label: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n };\n}\n\nexport const InitialScatterplotState: ScatterplotUIState = {\n type: 'scatterplot',\n components: {\n x: {type: 'simple', selectorStates: []},\n y: {type: 'simple', selectorStates: []},\n filters: {type: 'filter', selectorStates: []},\n highlight: {type: 'filter', selectorStates: []},\n tabBy: {type: 'filter', selectorStates: []},\n facetBy: {type: 'simple', selectorStates: []},\n grouping: {type: 'simple', selectorStates: []},\n shape: {type: 'simple', selectorStates: []},\n size: {type: 'simple', selectorStates: []},\n label: {type: 'simple', selectorStates: []},\n tooltipContent: {type: 'simple', selectorStates: []}\n },\n dividedAxes: {},\n};\n\nexport class ScatterplotStateController extends ControllerBase<ScatterplotUIState> {\n dataInputs = ['x', 'y'];\n //allowHangingAxes = true;\n\n constructor() {\n super(\n {\n x: new ComponentController<ScatterplotUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'Long', 'Double' , 'Float', 'String'],\n parentComponents: ['y'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n y: new ComponentController<ScatterplotUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'Long', 'Double', 'Float', 'String'],\n parentComponents: ['x'],\n strictlyDependsOnParents: false,\n settings: {\n isDataComponent: true,\n required: true,\n axesAllowed: true,\n columnsAllowed: true,\n },\n }),\n facetBy: new ComponentController<ScatterplotUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n grouping: new ComponentController<ScatterplotUIState, 'grouping'>({\n componentName: 'grouping',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n shape: new ComponentController<ScatterplotUIState, 'shape'>({\n componentName: 'shape',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n size: new ComponentController<ScatterplotUIState, 'size'>({\n componentName: 'size',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n },\n }),\n tooltipContent: new ComponentController<ScatterplotUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n label: new ComponentController<ScatterplotUIState, 'label'>({\n componentName: 'label',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: false,\n },\n }),\n },\n {\n filters: new ComponentController<ScatterplotUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n tabBy: new ComponentController<ScatterplotUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n highlight: new ComponentController<ScatterplotUIState, 'highlight'>({\n componentName: 'highlight',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['x', 'y'],\n dependsOn: ['x', 'y'],\n settings: {\n axesAllowed: true,\n columnsAllowed: true,\n multipleSelectors: true,\n },\n }),\n }\n );\n }\n\n getMustBeConsumedAxes(state: ScatterplotUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.x.selectorStates.length || !state.components.y.selectorStates.length) {\n return new Set<string>();\n }\n const sourceIdX = state.components.x.selectorStates[0].selectedSource;\n const sourceIdY = state.components.y.selectorStates[0].selectedSource;\n const dataX = optionsInfo.get(sourceIdX);\n const dataY = optionsInfo.get(sourceIdY);\n if (!dataX || !dataY || dataX.kind !== 'column' || dataY.kind !== 'column') {\n return new Set<string>();\n }\n const axesX = dataX.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const axesY = dataY.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString());\n const hangingX = axesX.filter(axisKey => !axesY.some(id => id === axisKey));\n const hangingY = axesY.filter(axisKey => !axesX.some(id => id === axisKey));\n\n if (hangingX.length && hangingY.length) {\n return new Set<string>([...hangingX, ...hangingY])\n }\n return new Set<string>();\n }\n\n async createDataByColumns(store: DataStore, state: ScatterplotUIState): Promise<PlotDataAndSettings['data']> {\n const xColumnIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yColumnIdString = state.components.y.selectorStates[0]?.selectedSource;\n if (!xColumnIdString || !yColumnIdString) {\n throw Error('X or Y column is not valid');\n }\n const xId = columnOrAxisIdFromString(xColumnIdString);\n const yId = columnOrAxisIdFromString(yColumnIdString);\n const dataByColumns: DataByColumns = {\n type: 'columns',\n id: canonicalize(state.components) ?? '',\n values: {},\n };\n\n const linkerMap = await createLinkerMap(store);\n const multipliesByMap = await createMultipliesByMap(store);\n\n const filterSelectedStates = [\n ...state.components.filters.selectorStates,\n ...state.components.tabBy.selectorStates\n ]\n // filters for column/axes data requests\n const filters = getFiltersFromStates(filterSelectedStates);\n const filterColumns = filterSelectedStates.map(s => columnOrAxisIdFromString(s.selectedSource)).filter(isColumnId);\n\n const parentSources = [xId, yId].filter(isColumnId).map(item => item.toCanonicalString());\n\n if (parentSources.length === 0) {\n throw Error('One of X and Y should be a column');\n }\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n\n const primarySources = [xId, yId, ...filterColumns];\n const secondarySources: (ColumnId | AxisId)[] = [];\n const linkerColumns:ColumnId[] = [];\n\n for (const {selectedSource} of filterSelectedStates) {\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n }\n\n const inputs = [\n state.components.grouping,\n state.components.size,\n state.components.shape,\n state.components.tooltipContent,\n state.components.facetBy,\n state.components.label,\n state.components.highlight,\n ];\n for (const input of inputs) {\n for (const {selectedSource} of input.selectorStates) {\n secondarySources.push(columnOrAxisIdFromString(selectedSource)!);\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n multipliesByMap,\n parentAxesList,\n selectedSource\n ));\n const labelsColumnId = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n if (labelsColumnId) {\n secondarySources.push(labelsColumnId);\n }\n }\n }\n\n const data = await store.pFrameProvider.getTableOuterJoin(\n [xId, yId, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n false\n );\n\n [...primarySources, ...secondarySources].forEach(item => {\n const key = item.toCanonicalString();\n dataByColumns.values[key] = isColumnId(item) ? data.columnsData[key] : data.axesData[key];\n });\n\n dataByColumns.values['key'] = new Array(dataByColumns.values[Object.keys(dataByColumns.values)[0]].length).fill(0).map((_v, idx) => idx);\n\n if (state.components.highlight.selectorStates.length) {\n dataByColumns.values['highlight'] = createHighlightColumn(state.components.highlight.selectorStates, data) as PValue[];\n }\n\n return {byColumns: dataByColumns};\n }\n\n async createChartSettings(store: DataStore, state: ScatterplotUIState): Promise<Record<string, unknown>> {\n const xIdString = state.components.x.selectorStates[0]?.selectedSource;\n const yIdString = state.components.y.selectorStates[0]?.selectedSource;\n const xIdWithQ = xIdString ? columnOrAxisIdFromString(xIdString) : null;\n const yIdWithQ = yIdString ? columnOrAxisIdFromString(yIdString) : null;\n if (!xIdString || !yIdString || !xIdWithQ || !yIdWithQ || (!isColumnId(xIdWithQ) && !isColumnId(yIdWithQ))) {\n throw Error('Empty or invalid required data');\n }\n\n const parentSources = [xIdWithQ, yIdWithQ].filter(isColumnId).map(item => item.toCanonicalString());\n const x = {\n type: 'column',\n value: xIdString,\n label: await getColumnOrAxisLabel(store, xIdString, parentSources),\n };\n const y = {\n type: 'column',\n value: yIdString,\n label: await getColumnOrAxisLabel(store, yIdString, parentSources),\n };\n const keyColumn = {\n type: 'column',\n value: 'key',\n };\n const facetBy = await Promise.all(\n state.components.facetBy.selectorStates.map(async selectorState => ({\n type: 'column',\n value:\n (await getColumnOrAxisValueLabelsId(store, selectorState.selectedSource, parentSources))?.toCanonicalString() ??\n selectorState.selectedSource,\n }))\n );\n const allGroupingIds = lodash.uniq([\n ...state.components.grouping.selectorStates.map(s => s.selectedSource),\n ...state.components.size.selectorStates.map(s => s.selectedSource),\n ...state.components.shape.selectorStates.map(s => s.selectedSource),\n ]);\n const grouping = await Promise.all(\n allGroupingIds.map(async idString => {\n return {\n columnName: {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, idString, parentSources)) || idString,\n value: idString,\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, idString, parentSources))?.toCanonicalString() ??\n idString,\n }\n };\n })\n );\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\n const id = columnOrAxisIdFromString(source);\n const labelColumn = (await getColumnOrAxisValueLabelsId(store, source, parentSources)) ?? id;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n return {\n type: 'column',\n label: (await getColumnOrAxisLabel(store, source, parentSources)) || source,\n value: source,\n valueLabels: labelColumn.toCanonicalString(),\n format: spec?.annotations?.[FORMAT]\n };\n })\n );\n\n let label;\n if (state.components.label.selectorStates.length) {\n const source = state.components.label.selectorStates[0].selectedSource;\n const spec = await getColumnOrAxisSpec(store, source, parentSources);\n label = {\n type: 'column',\n value: source,\n label: await getColumnOrAxisLabel(store, source, parentSources),\n valueLabels:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: spec?.annotations?.[FORMAT]\n };\n }\n let highlight;\n if (state.components.highlight.selectorStates.length) {\n highlight = {\n type: 'column',\n value: 'highlight'\n }\n }\n return {\n type: 'scatterplot',\n x,\n y,\n keyColumn,\n facetBy,\n grouping,\n label,\n highlight,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialScatterplotState","ScatterplotStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceIdX","sourceIdY","dataX","dataY","axesX","s","AxisId","axesY","hangingX","axisKey","id","hangingY","store","xColumnIdString","_a","yColumnIdString","_b","xId","columnOrAxisIdFromString","yId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","isColumnId","parentSources","item","parentAxesList","getAxesSpecsFromSources","primarySources","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","inputs","input","labelsColumnId","getColumnOrAxisValueLabelsId","data","key","_v","idx","createHighlightColumn","xIdString","yIdString","xIdWithQ","yIdWithQ","x","getColumnOrAxisLabel","y","keyColumn","facetBy","selectorState","allGroupingIds","lodash","grouping","idString","tooltipContent","source","labelColumn","spec","getColumnOrAxisSpec","FORMAT","label","_c","_d","highlight"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/graph-maker",
3
- "version": "1.1.154",
3
+ "version": "1.1.156",
4
4
  "type": "module",
5
5
  "main": "dist/lib.js",
6
6
  "types": "dist/lib.d.ts",
@@ -37,8 +37,8 @@
37
37
  "dependencies": {
38
38
  "@ag-grid-community/core": "^32.3.3",
39
39
  "@milaboratories/helpers": "^1.6.15",
40
- "@milaboratories/miplots4": "^1.0.141",
41
- "@milaboratories/pf-plots": "^1.1.32",
40
+ "@milaboratories/miplots4": "^1.0.145",
41
+ "@milaboratories/pf-plots": "^1.1.33",
42
42
  "@platforma-sdk/model": "^1.42.36",
43
43
  "@platforma-sdk/ui-vue": "^1.42.36",
44
44
  "@types/d3-hierarchy": "^3.1.7",