@milaboratories/graph-maker 1.1.139 → 1.1.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GraphMaker/components/Chart.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/Chart.vue.js +1 -0
- package/dist/GraphMaker/components/Chart.vue.js.map +1 -1
- package/dist/GraphMaker/dataBindAes.d.ts +5 -5
- package/dist/GraphMaker/dataBindAes.d.ts.map +1 -1
- package/dist/GraphMaker/dataBindAes.js +52 -49
- package/dist/GraphMaker/dataBindAes.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/AesSelector.vue.js +14 -14
- package/dist/GraphMaker/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.d.ts.map +1 -1
- package/dist/GraphMaker/index.vue.js +115 -113
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/store.js +9 -9
- package/dist/GraphMaker/types.d.ts +1 -1
- package/dist/GraphMaker/types.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +3 -3
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeChartSettings.d.ts +4 -8
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeChartSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts +2 -2
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +5 -5
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +7 -7
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +9 -9
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +20 -16
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +65 -69
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +20 -16
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +20 -19
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.js +4 -3
- package/dist/GraphMaker/utils/loadDefaultSources.js.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js +57 -54
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.js +3 -5
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/AbstractChart.js +5 -5
- package/dist/node_modules/@milaboratories/miplots4/dist/AbstractChart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +8 -5
- package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/bubble/index.js +22 -22
- package/dist/node_modules/@milaboratories/miplots4/dist/bubble/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/common/Error.js +4 -22
- package/dist/node_modules/@milaboratories/miplots4/dist/common/Error.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js +53 -53
- package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/ChartRenderer.js +6 -6
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +45 -45
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js +71 -70
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +117 -112
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +14 -14
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +6 -6
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/histogram/index.js +36 -36
- package/dist/node_modules/@milaboratories/miplots4/dist/histogram/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js +24 -24
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/dots.js +23 -26
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/dots.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js +13 -10
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js +67 -73
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/createLegendInfo.js +44 -39
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/createLegendInfo.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/sortDotsByGrouping.js +18 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/sortDotsByGrouping.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/SettingsImpl.js +14 -14
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/index.js +68 -64
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js +23 -17
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot.js +23 -17
- package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/arraysAreDifferent.js +7 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/arraysAreDifferent.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/_commonjsHelpers.js +9 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/canonicalize.js +8 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/canonicalize.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/lodash.js +8 -0
- package/dist/{_virtual → node_modules/@milaboratories/pf-plots/dist/_virtual}/lodash.js.map +1 -1
- package/dist/{_virtual/lodash.js → node_modules/@milaboratories/pf-plots/dist/_virtual/lodash2.js} +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/lodash2.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/stringify.js +3 -0
- package/dist/{_virtual → node_modules/@milaboratories/pf-plots/dist/_virtual}/stringify.js.map +1 -1
- package/dist/{_virtual/stringify.js → node_modules/@milaboratories/pf-plots/dist/_virtual/stringify2.js} +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/_virtual/stringify2.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +15 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +198 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js +342 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +278 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js +453 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js +203 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +432 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js +170 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +315 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +323 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/demoStore.js +11 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/demoStore.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/index.js +36 -3420
- package/dist/node_modules/@milaboratories/pf-plots/dist/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/{pl-error-like → pf-plots/dist/node_modules/@milaboratories/pl-error-like}/dist/index.js +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-error-like/dist/index.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/index.js +979 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/index.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/index.js +1599 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/index.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/canonicalize/lib/canonicalize.js +19 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/canonicalize/lib/canonicalize.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/json-stringify-safe/stringify.js +26 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/json-stringify-safe/stringify.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/lodash/lodash.js +3678 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/lodash/lodash.js.map +1 -0
- package/dist/node_modules/{zod → @milaboratories/pf-plots/dist/node_modules/zod}/lib/index.js +1141 -1141
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/zod/lib/index.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +247 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js +62 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +286 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -0
- package/package.json +3 -3
- package/dist/node_modules/@milaboratories/pl-error-like/dist/index.js.map +0 -1
- package/dist/node_modules/@milaboratories/pl-model-common/dist/index.js +0 -584
- package/dist/node_modules/@milaboratories/pl-model-common/dist/index.js.map +0 -1
- package/dist/node_modules/@platforma-sdk/model/dist/index.js +0 -1559
- package/dist/node_modules/@platforma-sdk/model/dist/index.js.map +0 -1
- package/dist/node_modules/json-stringify-safe/stringify.js +0 -20
- package/dist/node_modules/json-stringify-safe/stringify.js.map +0 -1
- package/dist/node_modules/lodash/lodash.js +0 -3678
- package/dist/node_modules/lodash/lodash.js.map +0 -1
- package/dist/node_modules/zod/lib/index.js.map +0 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import F from "../../_virtual/canonicalize.js";
|
|
2
|
+
import { ControllerBase as N } from "../ControllerBase.js";
|
|
3
|
+
import { ComponentController as u } from "../ComponentController.js";
|
|
4
|
+
import { columnOrAxisIdFromString as C, isColumnId as v } from "../../spec.js";
|
|
5
|
+
import { checkSourceBySpecForFilters as P, createLinkerMap as T, getFiltersFromStates as k, getAxesSpecsFromSources as E, getLinkerColumnsForSource as D, getColumnOrAxisValueLabelsId as x, getColumnOrAxisLabel as b } from "../../utils.js";
|
|
6
|
+
var V = Object.defineProperty, j = (c, e, t) => e in c ? V(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t, O = (c, e, t) => j(c, typeof e != "symbol" ? e + "" : e, t);
|
|
7
|
+
const J = {
|
|
8
|
+
type: "discrete",
|
|
9
|
+
components: {
|
|
10
|
+
y: { type: "simple", selectorStates: [] },
|
|
11
|
+
filters: { type: "filter", selectorStates: [] },
|
|
12
|
+
tabBy: { type: "filter", selectorStates: [] },
|
|
13
|
+
facetBy: { type: "simple", selectorStates: [] },
|
|
14
|
+
primaryGrouping: { type: "simple", selectorStates: [] },
|
|
15
|
+
secondaryGrouping: { type: "simple", selectorStates: [] }
|
|
16
|
+
},
|
|
17
|
+
dividedAxes: {}
|
|
18
|
+
};
|
|
19
|
+
class M extends N {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(
|
|
22
|
+
{
|
|
23
|
+
y: new u({
|
|
24
|
+
componentName: "y",
|
|
25
|
+
allowedTypes: ["Int", "Double", "Long", "Float"],
|
|
26
|
+
settings: { isDataComponent: !0 }
|
|
27
|
+
}),
|
|
28
|
+
primaryGrouping: new u({
|
|
29
|
+
componentName: "primaryGrouping",
|
|
30
|
+
allowedTypes: ["String", "Int", "Long"],
|
|
31
|
+
strictlyDependsOnParents: !0,
|
|
32
|
+
parentComponents: ["y"],
|
|
33
|
+
dependsOn: ["y"],
|
|
34
|
+
settings: {
|
|
35
|
+
axesAllowed: !0,
|
|
36
|
+
homogeneous: !0
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
secondaryGrouping: new u({
|
|
40
|
+
componentName: "secondaryGrouping",
|
|
41
|
+
allowedTypes: ["String", "Int", "Long"],
|
|
42
|
+
strictlyDependsOnParents: !0,
|
|
43
|
+
parentComponents: ["y"],
|
|
44
|
+
dependsOn: ["primaryGrouping"],
|
|
45
|
+
settings: {
|
|
46
|
+
axesAllowed: !0,
|
|
47
|
+
homogeneous: !0
|
|
48
|
+
}
|
|
49
|
+
}),
|
|
50
|
+
facetBy: new u({
|
|
51
|
+
componentName: "facetBy",
|
|
52
|
+
allowedTypes: ["String", "Int", "Long"],
|
|
53
|
+
strictlyDependsOnParents: !0,
|
|
54
|
+
parentComponents: ["y"],
|
|
55
|
+
dependsOn: ["y"],
|
|
56
|
+
settings: {
|
|
57
|
+
axesAllowed: !0,
|
|
58
|
+
dimensionConsumer: !0,
|
|
59
|
+
multipleSelectors: !0
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
filters: new u({
|
|
65
|
+
componentName: "filters",
|
|
66
|
+
allowedTypes: ["String", "Int", "Long", "Double", "Float"],
|
|
67
|
+
strictlyDependsOnParents: !0,
|
|
68
|
+
parentComponents: ["y"],
|
|
69
|
+
dependsOn: ["y"],
|
|
70
|
+
settings: {
|
|
71
|
+
axesAllowed: !0,
|
|
72
|
+
dimensionConsumer: !0,
|
|
73
|
+
multipleSelectors: !0
|
|
74
|
+
},
|
|
75
|
+
checkSourceBySpec: P
|
|
76
|
+
}),
|
|
77
|
+
tabBy: new u({
|
|
78
|
+
componentName: "tabBy",
|
|
79
|
+
allowedTypes: ["String", "Int"],
|
|
80
|
+
strictlyDependsOnParents: !0,
|
|
81
|
+
parentComponents: ["y"],
|
|
82
|
+
dependsOn: ["y"],
|
|
83
|
+
settings: {
|
|
84
|
+
axesAllowed: !0,
|
|
85
|
+
dimensionConsumer: !0
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
), O(this, "dataInputs", ["y"]), O(this, "dontAllowUnfilteredHighCardinality", !0);
|
|
90
|
+
}
|
|
91
|
+
async createDataByColumns(e, t) {
|
|
92
|
+
const p = t.components.y.selectorStates[0].selectedSource, l = C(p);
|
|
93
|
+
if (!p || !v(l))
|
|
94
|
+
throw Error("Y column is not valid");
|
|
95
|
+
const s = {
|
|
96
|
+
type: "columns",
|
|
97
|
+
id: F(t.components) ?? "",
|
|
98
|
+
values: {}
|
|
99
|
+
}, d = await T(e), m = [
|
|
100
|
+
...t.components.filters.selectorStates,
|
|
101
|
+
...t.components.tabBy.selectorStates
|
|
102
|
+
], r = k(m), g = m.map((a) => C(a.selectedSource)).filter(v), y = [p], S = await E(e, y), o = [t.components.primaryGrouping, t.components.secondaryGrouping, t.components.facetBy], i = [], A = [[]], B = [], h = [];
|
|
103
|
+
for (const { selectedSource: a, fixedAxes: n } of m)
|
|
104
|
+
h.push(...await D(
|
|
105
|
+
e,
|
|
106
|
+
d,
|
|
107
|
+
S,
|
|
108
|
+
a,
|
|
109
|
+
n
|
|
110
|
+
)), A.push(
|
|
111
|
+
(n ?? []).map(({ axisIdx: f, axisValue: w }) => ({ idx: f, value: w }))
|
|
112
|
+
);
|
|
113
|
+
for (const a of o)
|
|
114
|
+
for (const { selectedSource: n, fixedAxes: f } of a.selectorStates) {
|
|
115
|
+
i.push(C(n)), B.push(
|
|
116
|
+
(f ?? []).map(({ axisIdx: I, axisValue: L }) => ({ idx: I, value: L }))
|
|
117
|
+
), h.push(...await D(
|
|
118
|
+
e,
|
|
119
|
+
d,
|
|
120
|
+
S,
|
|
121
|
+
n,
|
|
122
|
+
f
|
|
123
|
+
));
|
|
124
|
+
const w = await x(e, n, y);
|
|
125
|
+
w && i.push(w);
|
|
126
|
+
}
|
|
127
|
+
const G = await e.pFrameProvider.getTableOuterJoin(
|
|
128
|
+
[l, ...h, ...g],
|
|
129
|
+
i,
|
|
130
|
+
r,
|
|
131
|
+
!0,
|
|
132
|
+
A,
|
|
133
|
+
B
|
|
134
|
+
);
|
|
135
|
+
return i.forEach((a) => {
|
|
136
|
+
const n = a.toCanonicalString();
|
|
137
|
+
s.values[n] = v(a) ? G.columnsData[n] : G.axesData[n];
|
|
138
|
+
}), s.values[l.toCanonicalString()] = G.columnsData[l.toCanonicalString()], { byColumns: s };
|
|
139
|
+
}
|
|
140
|
+
async createChartSettings(e, t) {
|
|
141
|
+
var p, l;
|
|
142
|
+
const s = t.components.y.selectorStates[0].selectedSource, d = C(s);
|
|
143
|
+
if (!s || !v(d))
|
|
144
|
+
throw Error("Y column is not valid");
|
|
145
|
+
const m = {
|
|
146
|
+
type: "column",
|
|
147
|
+
value: s,
|
|
148
|
+
label: await b(e, s, [])
|
|
149
|
+
}, r = [s];
|
|
150
|
+
let g;
|
|
151
|
+
if (t.components.primaryGrouping.selectorStates.length) {
|
|
152
|
+
const { selectedSource: o } = t.components.primaryGrouping.selectorStates[0];
|
|
153
|
+
g = {
|
|
154
|
+
columnName: {
|
|
155
|
+
type: "column",
|
|
156
|
+
value: o,
|
|
157
|
+
label: await b(e, o, r),
|
|
158
|
+
valueLabels: (p = await x(
|
|
159
|
+
e,
|
|
160
|
+
o,
|
|
161
|
+
r
|
|
162
|
+
)) == null ? void 0 : p.toCanonicalString()
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
let y;
|
|
167
|
+
if (t.components.secondaryGrouping.selectorStates.length) {
|
|
168
|
+
const { selectedSource: o } = t.components.secondaryGrouping.selectorStates[0];
|
|
169
|
+
y = {
|
|
170
|
+
columnName: {
|
|
171
|
+
type: "column",
|
|
172
|
+
value: o,
|
|
173
|
+
label: await b(e, o, r),
|
|
174
|
+
valueLabels: (l = await x(
|
|
175
|
+
e,
|
|
176
|
+
o,
|
|
177
|
+
r
|
|
178
|
+
)) == null ? void 0 : l.toCanonicalString()
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
const S = await Promise.all(t.components.facetBy.selectorStates.map(async (o) => {
|
|
183
|
+
var i;
|
|
184
|
+
return {
|
|
185
|
+
type: "column",
|
|
186
|
+
value: ((i = await x(e, o.selectedSource, r)) == null ? void 0 : i.toCanonicalString()) ?? o.selectedSource,
|
|
187
|
+
label: await b(e, o.selectedSource, r)
|
|
188
|
+
};
|
|
189
|
+
}));
|
|
190
|
+
return {
|
|
191
|
+
type: "discrete",
|
|
192
|
+
y: m,
|
|
193
|
+
primaryGrouping: g,
|
|
194
|
+
secondaryGrouping: y,
|
|
195
|
+
facetBy: S
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
export {
|
|
200
|
+
M as DiscreteStateController,
|
|
201
|
+
J as InitialDiscreteState
|
|
202
|
+
};
|
|
203
|
+
//# sourceMappingURL=discrete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discrete.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/discrete.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputState,\n InputStateParent,\n} from '../../common';\nimport {ControllerBase, PlotDataAndSettings} from '../ControllerBase';\nimport {ComponentController} from '../ComponentController';\nimport type {AxisId, ColumnId} from '../../spec';\nimport {columnOrAxisIdFromString, isColumnId} from '../../spec';\nimport type {DataStore, PValue} from '../../store';\nimport {\n checkSourceBySpecForFilters, createLinkerMap, getAxesSpecsFromSources,\n getColumnOrAxisLabel,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates, getLinkerColumnsForSource,\n} from '../../utils';\n\nexport interface DiscreteUIState extends InputStateParent<'discrete'> {\n type: 'discrete';\n components: {\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n primaryGrouping: ComponentStateSimple;\n secondaryGrouping: ComponentStateSimple;\n };\n}\n\nexport const InitialDiscreteState: DiscreteUIState = {\n type: 'discrete',\n components: {\n y: {type: 'simple', selectorStates: []},\n filters: {type: 'filter', selectorStates: []},\n tabBy: {type: 'filter', selectorStates: []},\n facetBy: {type: 'simple', selectorStates: []},\n primaryGrouping: {type: 'simple', selectorStates: []},\n secondaryGrouping: {type: 'simple', selectorStates: []},\n },\n dividedAxes: {},\n};\n\nexport function isDiscreteState(state: InputState): state is DiscreteUIState {\n return state.type == 'discrete';\n}\n\nexport class DiscreteStateController extends ControllerBase<DiscreteUIState> {\n dataInputs = ['y'];\n dontAllowUnfilteredHighCardinality = true;\n\n constructor() {\n super(\n {\n y: new ComponentController<DiscreteUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'Double', 'Long', 'Float'],\n settings: { isDataComponent: true },\n }),\n primaryGrouping: new ComponentController<DiscreteUIState, 'primaryGrouping'>({\n componentName: 'primaryGrouping',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['y'],\n dependsOn: ['y'],\n settings: {\n axesAllowed: true,\n homogeneous: true,\n },\n }),\n secondaryGrouping: new ComponentController<DiscreteUIState, 'secondaryGrouping'>({\n componentName: 'secondaryGrouping',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['y'],\n dependsOn: ['primaryGrouping'],\n settings: {\n axesAllowed: true,\n homogeneous: true,\n },\n }),\n facetBy: new ComponentController<DiscreteUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['y'],\n dependsOn: ['y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n },\n {\n filters: new ComponentController<DiscreteUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['y'],\n dependsOn: ['y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n checkSourceBySpec: checkSourceBySpecForFilters\n }),\n tabBy: new ComponentController<DiscreteUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['y'],\n dependsOn: ['y'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n },\n );\n }\n\n async createDataByColumns(store: DataStore, state: DiscreteUIState): Promise<PlotDataAndSettings['data']> {\n const yColumnIdString = state.components.y.selectorStates[0].selectedSource;\n const yColumnIdWithQ = columnOrAxisIdFromString(yColumnIdString);\n if (!yColumnIdString || !isColumnId(yColumnIdWithQ)) {\n throw Error('Y column is not valid');\n }\n const dataByColumns: DataByColumns = {\n type: 'columns',\n id: canonicalize(state.components) ?? '',\n values: {},\n };\n\n const linkerMap = await createLinkerMap(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 = [yColumnIdString];\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n const inputs = [state.components.primaryGrouping, state.components.secondaryGrouping, state.components.facetBy];\n\n const secondarySources: (ColumnId | AxisId)[] = []; // primary sources are the only Y column\n const primarySourcesFixedAxes:{idx: number, value: PValue}[][] = [[]];\n const secondarySourcesFixedAxes:{idx: number, value: PValue}[][] = [];\n const linkerColumns:ColumnId[] = [];\n\n for (const {selectedSource, fixedAxes} of filterSelectedStates) {\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n parentAxesList,\n selectedSource,\n fixedAxes\n ));\n primarySourcesFixedAxes.push(\n (fixedAxes ?? []).map(({axisIdx, axisValue}) => ({idx: axisIdx, value: axisValue as PValue}))\n );\n }\n\n for (const input of inputs) {\n for (const {selectedSource, fixedAxes} of input.selectorStates) {\n secondarySources.push(columnOrAxisIdFromString(selectedSource)!);\n secondarySourcesFixedAxes.push(\n (fixedAxes ?? []).map(({axisIdx, axisValue}) => ({idx: axisIdx, value: axisValue as PValue}))\n );\n linkerColumns.push(...await getLinkerColumnsForSource(\n store,\n linkerMap,\n parentAxesList,\n selectedSource,\n fixedAxes\n ));\n const labelsColumnId = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n if (labelsColumnId) {\n secondarySources.push(labelsColumnId);\n }\n }\n }\n const data = await store.pFrameProvider.getTableOuterJoin(\n [yColumnIdWithQ, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n true,\n primarySourcesFixedAxes,\n secondarySourcesFixedAxes\n );\n\n secondarySources.forEach(item => {\n const key = item.toCanonicalString();\n dataByColumns.values[key] = isColumnId(item)\n ? data.columnsData[key]\n : data.axesData[key];\n });\n dataByColumns.values[yColumnIdWithQ.toCanonicalString()] = data.columnsData[yColumnIdWithQ.toCanonicalString()];\n return {byColumns: dataByColumns};\n }\n\n async createChartSettings(store: DataStore, state: DiscreteUIState): Promise<Record<string, unknown>> {\n const yColumnIdString = state.components.y.selectorStates[0].selectedSource;\n const yColumnId = columnOrAxisIdFromString(yColumnIdString);\n if (!yColumnIdString || !isColumnId(yColumnId)) {\n throw Error('Y column is not valid');\n }\n const y = {\n type: 'column',\n value: yColumnIdString,\n label: await getColumnOrAxisLabel(store, yColumnIdString, []),\n };\n\n const parentSources = [yColumnIdString];\n\n let primaryGrouping;\n if (state.components.primaryGrouping.selectorStates.length) {\n const {selectedSource} = state.components.primaryGrouping.selectorStates[0];\n primaryGrouping = {\n columnName: {\n type: 'column',\n value: selectedSource,\n label: await getColumnOrAxisLabel(store, selectedSource, parentSources),\n valueLabels: (await getColumnOrAxisValueLabelsId(\n store,\n selectedSource,\n parentSources,\n ))?.toCanonicalString(),\n },\n };\n }\n let secondaryGrouping;\n if (state.components.secondaryGrouping.selectorStates.length) {\n const {selectedSource} = state.components.secondaryGrouping.selectorStates[0];\n secondaryGrouping = {\n columnName: {\n type: 'column',\n value: selectedSource,\n label: await getColumnOrAxisLabel(store, selectedSource, parentSources),\n valueLabels: (await getColumnOrAxisValueLabelsId(\n store,\n selectedSource,\n parentSources,\n ))?.toCanonicalString(),\n },\n };\n }\n const facetBy = await Promise.all(state.components.facetBy.selectorStates.map(async state => ({\n type: 'column',\n value:\n (await getColumnOrAxisValueLabelsId(store, state.selectedSource, parentSources))?.toCanonicalString() ??\n state.selectedSource,\n label: await getColumnOrAxisLabel(store, state.selectedSource, parentSources),\n })));\n\n return {\n type: 'discrete',\n y,\n primaryGrouping,\n secondaryGrouping,\n facetBy,\n };\n }\n}\n"],"names":["InitialDiscreteState","DiscreteStateController","ControllerBase","ComponentController","checkSourceBySpecForFilters","__publicField","store","state","yColumnIdString","yColumnIdWithQ","columnOrAxisIdFromString","isColumnId","dataByColumns","canonicalize","linkerMap","createLinkerMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","s","parentSources","parentAxesList","getAxesSpecsFromSources","inputs","secondarySources","primarySourcesFixedAxes","secondarySourcesFixedAxes","linkerColumns","selectedSource","fixedAxes","getLinkerColumnsForSource","axisIdx","axisValue","input","labelsColumnId","getColumnOrAxisValueLabelsId","data","item","key","yColumnId","y","getColumnOrAxisLabel","primaryGrouping","_a","secondaryGrouping","_b","facetBy"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
import q from "../../_virtual/canonicalize.js";
|
|
2
|
+
import { FORMAT as M } from "../../constants.js";
|
|
3
|
+
import { ControllerBase as z } from "../ControllerBase.js";
|
|
4
|
+
import { ComponentController as S } from "../ComponentController.js";
|
|
5
|
+
import { AxisId as w, columnOrAxisIdFromString as d, isColumnId as A } from "../../spec.js";
|
|
6
|
+
import { checkSourceBySpecForFilters as U, createLinkerMap as J, getFiltersFromStates as R, getAxesSpecsFromSources as Q, getLinkerColumnsForSource as V, getColumnOrAxisValueLabelsId as B, getColumnOrAxisLabel as C, getColumnOrAxisSpec as W } from "../../utils.js";
|
|
7
|
+
var Z = Object.defineProperty, _ = (c, e, t) => e in c ? Z(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t, E = (c, e, t) => _(c, typeof e != "symbol" ? e + "" : e, t);
|
|
8
|
+
const ae = {
|
|
9
|
+
type: "heatmap",
|
|
10
|
+
components: {
|
|
11
|
+
value: { type: "simple", selectorStates: [] },
|
|
12
|
+
x: { type: "simple", selectorStates: [] },
|
|
13
|
+
y: { type: "simple", selectorStates: [] },
|
|
14
|
+
xGroupBy: { type: "simple", selectorStates: [] },
|
|
15
|
+
yGroupBy: { type: "simple", selectorStates: [] },
|
|
16
|
+
filters: { type: "filter", selectorStates: [] },
|
|
17
|
+
tabBy: { type: "filter", selectorStates: [] },
|
|
18
|
+
facetBy: { type: "simple", selectorStates: [] },
|
|
19
|
+
annotationsX: { type: "simple", selectorStates: [] },
|
|
20
|
+
annotationsY: { type: "simple", selectorStates: [] },
|
|
21
|
+
tooltipContent: { type: "simple", selectorStates: [] }
|
|
22
|
+
},
|
|
23
|
+
dividedAxes: {}
|
|
24
|
+
};
|
|
25
|
+
function j(c) {
|
|
26
|
+
return c ? "kind" in c && c.kind === "PColumn" ? c.valueType === "String" : c.type === "String" : !0;
|
|
27
|
+
}
|
|
28
|
+
function F(c, e) {
|
|
29
|
+
if (!e.length)
|
|
30
|
+
return [];
|
|
31
|
+
const t = e.map((u) => d(u)), l = Object.values(c.columnsData)[0].length, o = [];
|
|
32
|
+
for (let u = 0; u < l; u++) {
|
|
33
|
+
const s = t.map((g) => {
|
|
34
|
+
const x = g.toCanonicalString();
|
|
35
|
+
return A(g) ? c.columnsData[x][u] : c.axesData[x][u];
|
|
36
|
+
}).join(", ");
|
|
37
|
+
o.push(s);
|
|
38
|
+
}
|
|
39
|
+
return o;
|
|
40
|
+
}
|
|
41
|
+
class le extends z {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(
|
|
44
|
+
{
|
|
45
|
+
value: new S({
|
|
46
|
+
componentName: "value",
|
|
47
|
+
allowedTypes: ["Int", "Long", "Double", "Float", "String"],
|
|
48
|
+
settings: {
|
|
49
|
+
isDataComponent: !0,
|
|
50
|
+
columnsAllowed: !0,
|
|
51
|
+
axesAllowed: !1,
|
|
52
|
+
required: !0
|
|
53
|
+
}
|
|
54
|
+
}),
|
|
55
|
+
x: new S({
|
|
56
|
+
componentName: "x",
|
|
57
|
+
allowedTypes: ["Int", "String", "Long"],
|
|
58
|
+
strictlyDependsOnParents: !0,
|
|
59
|
+
parentComponents: ["value"],
|
|
60
|
+
settings: {
|
|
61
|
+
required: !0,
|
|
62
|
+
dimensionConsumer: !0,
|
|
63
|
+
multipleSelectors: !0,
|
|
64
|
+
axesAllowed: !0,
|
|
65
|
+
columnsAllowed: !1
|
|
66
|
+
}
|
|
67
|
+
}),
|
|
68
|
+
xGroupBy: new S({
|
|
69
|
+
componentName: "xGroupBy",
|
|
70
|
+
allowedTypes: ["Int", "String", "Long"],
|
|
71
|
+
strictlyDependsOnParents: !0,
|
|
72
|
+
parentComponents: ["value"],
|
|
73
|
+
settings: {
|
|
74
|
+
dimensionConsumer: !0,
|
|
75
|
+
multipleSelectors: !0,
|
|
76
|
+
axesAllowed: !0,
|
|
77
|
+
columnsAllowed: !0
|
|
78
|
+
},
|
|
79
|
+
dependsOn: ["x"],
|
|
80
|
+
checkSourceBySpec: (e, t) => {
|
|
81
|
+
const l = /* @__PURE__ */ new Set([
|
|
82
|
+
...t.components.x.selectorStates.map((o) => o.selectedSource),
|
|
83
|
+
...t.components.xGroupBy.selectorStates.map((o) => o.selectedSource)
|
|
84
|
+
]);
|
|
85
|
+
return "kind" in e && e.kind === "PColumn" ? w.fromAxesSpec(e.axesSpec).every(
|
|
86
|
+
(o) => l.has(o.toCanonicalString())
|
|
87
|
+
) : !0;
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
y: new S({
|
|
91
|
+
componentName: "y",
|
|
92
|
+
allowedTypes: ["Int", "String", "Long"],
|
|
93
|
+
strictlyDependsOnParents: !0,
|
|
94
|
+
parentComponents: ["value"],
|
|
95
|
+
settings: {
|
|
96
|
+
required: !0,
|
|
97
|
+
dimensionConsumer: !0,
|
|
98
|
+
multipleSelectors: !0,
|
|
99
|
+
axesAllowed: !0,
|
|
100
|
+
columnsAllowed: !0
|
|
101
|
+
}
|
|
102
|
+
}),
|
|
103
|
+
yGroupBy: new S({
|
|
104
|
+
componentName: "yGroupBy",
|
|
105
|
+
allowedTypes: ["Int", "String", "Long"],
|
|
106
|
+
strictlyDependsOnParents: !0,
|
|
107
|
+
parentComponents: ["value"],
|
|
108
|
+
settings: {
|
|
109
|
+
dimensionConsumer: !0,
|
|
110
|
+
multipleSelectors: !0,
|
|
111
|
+
axesAllowed: !0,
|
|
112
|
+
columnsAllowed: !0
|
|
113
|
+
},
|
|
114
|
+
dependsOn: ["y"],
|
|
115
|
+
checkSourceBySpec: (e, t) => {
|
|
116
|
+
const l = /* @__PURE__ */ new Set([
|
|
117
|
+
...t.components.y.selectorStates.map((o) => o.selectedSource),
|
|
118
|
+
...t.components.yGroupBy.selectorStates.map((o) => o.selectedSource)
|
|
119
|
+
]);
|
|
120
|
+
return "kind" in e && e.kind === "PColumn" ? w.fromAxesSpec(e.axesSpec).every(
|
|
121
|
+
(o) => l.has(o.toCanonicalString())
|
|
122
|
+
) : !0;
|
|
123
|
+
}
|
|
124
|
+
}),
|
|
125
|
+
tooltipContent: new S({
|
|
126
|
+
componentName: "tooltipContent",
|
|
127
|
+
allowedTypes: ["String", "Int", "Long", "Float", "Double"],
|
|
128
|
+
strictlyDependsOnParents: !0,
|
|
129
|
+
parentComponents: ["value"],
|
|
130
|
+
dependsOn: ["value"],
|
|
131
|
+
settings: {
|
|
132
|
+
columnsAllowed: !0,
|
|
133
|
+
axesAllowed: !0,
|
|
134
|
+
multipleSelectors: !0
|
|
135
|
+
}
|
|
136
|
+
}),
|
|
137
|
+
facetBy: new S({
|
|
138
|
+
componentName: "facetBy",
|
|
139
|
+
allowedTypes: ["String", "Int", "Long"],
|
|
140
|
+
strictlyDependsOnParents: !0,
|
|
141
|
+
parentComponents: ["value"],
|
|
142
|
+
dependsOn: ["value"],
|
|
143
|
+
settings: {
|
|
144
|
+
axesAllowed: !0,
|
|
145
|
+
dimensionConsumer: !0,
|
|
146
|
+
multipleSelectors: !0
|
|
147
|
+
}
|
|
148
|
+
}),
|
|
149
|
+
annotationsX: new S({
|
|
150
|
+
componentName: "annotationsX",
|
|
151
|
+
allowedTypes: ["Int", "Long", "Double", "Float", "String"],
|
|
152
|
+
parentComponents: ["value"],
|
|
153
|
+
settings: {
|
|
154
|
+
axesAllowed: !0,
|
|
155
|
+
multipleSelectors: !0
|
|
156
|
+
},
|
|
157
|
+
dependsOn: ["x"],
|
|
158
|
+
checkSourceBySpec: (e, t) => {
|
|
159
|
+
const l = /* @__PURE__ */ new Set([
|
|
160
|
+
...t.components.x.selectorStates.map((o) => o.selectedSource),
|
|
161
|
+
...t.components.xGroupBy.selectorStates.map((o) => o.selectedSource)
|
|
162
|
+
]);
|
|
163
|
+
return "kind" in e && e.kind === "PColumn" ? w.fromAxesSpec(e.axesSpec).every(
|
|
164
|
+
(o) => l.has(o.toCanonicalString())
|
|
165
|
+
) : l.has(w.fromAxisSpec(e).toCanonicalString());
|
|
166
|
+
}
|
|
167
|
+
}),
|
|
168
|
+
annotationsY: new S({
|
|
169
|
+
componentName: "annotationsY",
|
|
170
|
+
allowedTypes: ["Int", "Long", "Double", "Float", "String"],
|
|
171
|
+
parentComponents: ["value"],
|
|
172
|
+
settings: {
|
|
173
|
+
axesAllowed: !0,
|
|
174
|
+
multipleSelectors: !0
|
|
175
|
+
},
|
|
176
|
+
dependsOn: ["y"],
|
|
177
|
+
checkSourceBySpec: (e, t) => {
|
|
178
|
+
const l = /* @__PURE__ */ new Set([
|
|
179
|
+
...t.components.y.selectorStates.map((o) => o.selectedSource),
|
|
180
|
+
...t.components.yGroupBy.selectorStates.map((o) => o.selectedSource)
|
|
181
|
+
]);
|
|
182
|
+
return "kind" in e && e.kind === "PColumn" ? w.fromAxesSpec(e.axesSpec).every(
|
|
183
|
+
(o) => l.has(o.toCanonicalString())
|
|
184
|
+
) : l.has(w.fromAxisSpec(e).toCanonicalString());
|
|
185
|
+
}
|
|
186
|
+
})
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
filters: new S({
|
|
190
|
+
componentName: "filters",
|
|
191
|
+
allowedTypes: ["String", "Int", "Long", "Double", "Long"],
|
|
192
|
+
strictlyDependsOnParents: !0,
|
|
193
|
+
parentComponents: ["value"],
|
|
194
|
+
dependsOn: ["value"],
|
|
195
|
+
settings: {
|
|
196
|
+
columnsAllowed: !0,
|
|
197
|
+
axesAllowed: !0,
|
|
198
|
+
dimensionConsumer: !0,
|
|
199
|
+
multipleSelectors: !0
|
|
200
|
+
},
|
|
201
|
+
checkSourceBySpec: U
|
|
202
|
+
}),
|
|
203
|
+
tabBy: new S({
|
|
204
|
+
componentName: "tabBy",
|
|
205
|
+
allowedTypes: ["String", "Int"],
|
|
206
|
+
strictlyDependsOnParents: !0,
|
|
207
|
+
parentComponents: ["value"],
|
|
208
|
+
dependsOn: ["value"],
|
|
209
|
+
settings: {
|
|
210
|
+
columnsAllowed: !0,
|
|
211
|
+
axesAllowed: !0,
|
|
212
|
+
dimensionConsumer: !0
|
|
213
|
+
}
|
|
214
|
+
})
|
|
215
|
+
}
|
|
216
|
+
), E(this, "dataInputs", ["value"]), E(this, "dontAllowUnfilteredHighCardinality", !0);
|
|
217
|
+
}
|
|
218
|
+
async getMustBeConsumedAxes(e, t) {
|
|
219
|
+
if (!t.components.value.selectorStates.length)
|
|
220
|
+
return /* @__PURE__ */ new Set();
|
|
221
|
+
const l = t.components.value.selectorStates[0].selectedSource, o = await e.pFrameProvider.getColumnSpecById(d(l));
|
|
222
|
+
return o ? new Set(o.axesSpec.map((u) => w.fromAxisSpec(u).toCanonicalString())) : /* @__PURE__ */ new Set();
|
|
223
|
+
}
|
|
224
|
+
async createDataByColumns(e, t) {
|
|
225
|
+
var l;
|
|
226
|
+
const o = (l = t.components.value.selectorStates[0]) == null ? void 0 : l.selectedSource;
|
|
227
|
+
if (!o)
|
|
228
|
+
throw Error("Value column is not valid");
|
|
229
|
+
const u = d(o);
|
|
230
|
+
if (!A(u))
|
|
231
|
+
throw Error("Value column is not valid");
|
|
232
|
+
const s = {
|
|
233
|
+
type: "columns",
|
|
234
|
+
id: q(t.components) ?? "",
|
|
235
|
+
values: {}
|
|
236
|
+
}, g = await J(e), x = [
|
|
237
|
+
...t.components.filters.selectorStates,
|
|
238
|
+
...t.components.tabBy.selectorStates
|
|
239
|
+
], T = R(x), N = x.map((a) => d(a.selectedSource)).filter(A), b = [o], O = await Q(e, b), f = [
|
|
240
|
+
t.components.facetBy,
|
|
241
|
+
t.components.annotationsX,
|
|
242
|
+
t.components.annotationsY,
|
|
243
|
+
t.components.x,
|
|
244
|
+
t.components.y,
|
|
245
|
+
t.components.xGroupBy,
|
|
246
|
+
t.components.yGroupBy,
|
|
247
|
+
t.components.tooltipContent
|
|
248
|
+
], h = [], I = [[]], D = [], P = [];
|
|
249
|
+
for (const { selectedSource: a, fixedAxes: i } of x)
|
|
250
|
+
P.push(...await V(
|
|
251
|
+
e,
|
|
252
|
+
g,
|
|
253
|
+
O,
|
|
254
|
+
a,
|
|
255
|
+
i
|
|
256
|
+
)), I.push(
|
|
257
|
+
(i ?? []).map(({ axisIdx: G, axisValue: k }) => ({ idx: G, value: k }))
|
|
258
|
+
);
|
|
259
|
+
for (const a of f)
|
|
260
|
+
for (const { selectedSource: i, fixedAxes: G } of a.selectorStates) {
|
|
261
|
+
h.push(d(i)), D.push(
|
|
262
|
+
(G ?? []).map(({ axisIdx: Y, axisValue: H }) => ({ idx: Y, value: H }))
|
|
263
|
+
), P.push(...await V(
|
|
264
|
+
e,
|
|
265
|
+
g,
|
|
266
|
+
O,
|
|
267
|
+
i,
|
|
268
|
+
G
|
|
269
|
+
));
|
|
270
|
+
const k = await B(e, i, b);
|
|
271
|
+
k && h.push(k);
|
|
272
|
+
}
|
|
273
|
+
const y = await e.pFrameProvider.getTableOuterJoin(
|
|
274
|
+
[u, ...P, ...N],
|
|
275
|
+
h,
|
|
276
|
+
T,
|
|
277
|
+
!0,
|
|
278
|
+
I,
|
|
279
|
+
D
|
|
280
|
+
);
|
|
281
|
+
h.forEach((a) => {
|
|
282
|
+
const i = a.toCanonicalString();
|
|
283
|
+
s.values[i] = A(a) ? y.columnsData[i] : y.axesData[i];
|
|
284
|
+
}), s.values[u.toCanonicalString()] = y.columnsData[u.toCanonicalString()];
|
|
285
|
+
const n = t.components.x.selectorStates.concat(t.components.xGroupBy.selectorStates).map((a) => a.selectedSource), r = n.join(", ");
|
|
286
|
+
s.values[r] = F(y, n);
|
|
287
|
+
const p = t.components.x.selectorStates.map((a) => a.selectedSource), m = await Promise.all(
|
|
288
|
+
p.map(
|
|
289
|
+
async (a) => {
|
|
290
|
+
var i;
|
|
291
|
+
return ((i = await B(e, a, b)) == null ? void 0 : i.toCanonicalString()) ?? a;
|
|
292
|
+
}
|
|
293
|
+
)
|
|
294
|
+
);
|
|
295
|
+
s.values.xLabelsKey = F(y, m);
|
|
296
|
+
const v = t.components.y.selectorStates.concat(t.components.yGroupBy.selectorStates).map((a) => a.selectedSource), L = v.join(", ");
|
|
297
|
+
s.values[L] = F(y, v);
|
|
298
|
+
const K = t.components.y.selectorStates.map((a) => a.selectedSource), X = await Promise.all(
|
|
299
|
+
K.map(
|
|
300
|
+
async (a) => {
|
|
301
|
+
var i;
|
|
302
|
+
return ((i = await B(e, a, b)) == null ? void 0 : i.toCanonicalString()) ?? a;
|
|
303
|
+
}
|
|
304
|
+
)
|
|
305
|
+
);
|
|
306
|
+
return s.values.yLabelsKey = F(y, X), { byColumns: s };
|
|
307
|
+
}
|
|
308
|
+
async createChartSettings(e, t) {
|
|
309
|
+
var l;
|
|
310
|
+
const o = (l = t.components.value.selectorStates[0]) == null ? void 0 : l.selectedSource;
|
|
311
|
+
if (!o)
|
|
312
|
+
throw Error("Value column is not valid");
|
|
313
|
+
const u = d(o);
|
|
314
|
+
if (!A(u))
|
|
315
|
+
throw Error("Value column is not valid");
|
|
316
|
+
const s = [o], g = {
|
|
317
|
+
type: "column",
|
|
318
|
+
value: o,
|
|
319
|
+
label: await C(e, o, [])
|
|
320
|
+
}, x = t.components.x.selectorStates.concat(t.components.xGroupBy.selectorStates).map(({ selectedSource: n }) => d(n)).map((n) => n.toCanonicalString()).join(", "), T = t.components.y.selectorStates.concat(t.components.yGroupBy.selectorStates).map(({ selectedSource: n }) => d(n)).map((n) => n.toCanonicalString()).join(", "), N = await Promise.all(
|
|
321
|
+
t.components.facetBy.selectorStates.map(async (n) => {
|
|
322
|
+
var r;
|
|
323
|
+
return {
|
|
324
|
+
type: "column",
|
|
325
|
+
value: ((r = await B(e, n.selectedSource, s)) == null ? void 0 : r.toCanonicalString()) ?? n.selectedSource
|
|
326
|
+
};
|
|
327
|
+
})
|
|
328
|
+
), b = await Promise.all(
|
|
329
|
+
t.components.xGroupBy.selectorStates.map(async (n) => {
|
|
330
|
+
var r;
|
|
331
|
+
return {
|
|
332
|
+
type: "column",
|
|
333
|
+
label: await C(e, n.selectedSource, s),
|
|
334
|
+
value: n.selectedSource,
|
|
335
|
+
valueLabels: ((r = await B(e, n.selectedSource, s)) == null ? void 0 : r.toCanonicalString()) ?? n.selectedSource
|
|
336
|
+
};
|
|
337
|
+
})
|
|
338
|
+
), O = await Promise.all(
|
|
339
|
+
t.components.yGroupBy.selectorStates.map(async (n) => {
|
|
340
|
+
var r;
|
|
341
|
+
return {
|
|
342
|
+
type: "column",
|
|
343
|
+
label: await C(e, n.selectedSource, s),
|
|
344
|
+
value: n.selectedSource,
|
|
345
|
+
valueLabels: ((r = await B(e, n.selectedSource, s)) == null ? void 0 : r.toCanonicalString()) ?? n.selectedSource
|
|
346
|
+
};
|
|
347
|
+
})
|
|
348
|
+
), f = await e.pFrameProvider.getColumnSpecById(u), h = await Promise.all(
|
|
349
|
+
t.components.annotationsX.selectorStates.map(async (n) => {
|
|
350
|
+
var r;
|
|
351
|
+
const p = n.selectedSource, m = d(p), v = A(m) ? await e.pFrameProvider.getColumnSpecById(m) : ((r = f == null ? void 0 : f.axesSpec) == null ? void 0 : r.find(
|
|
352
|
+
(L) => w.fromAxisSpec(L).toCanonicalString() === p
|
|
353
|
+
)) ?? null;
|
|
354
|
+
return {
|
|
355
|
+
axis: "x",
|
|
356
|
+
valueColumn: {
|
|
357
|
+
type: "column",
|
|
358
|
+
value: p,
|
|
359
|
+
label: await C(e, p, s)
|
|
360
|
+
},
|
|
361
|
+
type: j(v) ? "discrete" : "continuous"
|
|
362
|
+
};
|
|
363
|
+
})
|
|
364
|
+
), I = await Promise.all(
|
|
365
|
+
t.components.annotationsY.selectorStates.map(async (n) => {
|
|
366
|
+
var r;
|
|
367
|
+
const p = n.selectedSource, m = d(p), v = A(m) ? await e.pFrameProvider.getColumnSpecById(m) : ((r = f == null ? void 0 : f.axesSpec) == null ? void 0 : r.find(
|
|
368
|
+
(L) => w.fromAxisSpec(L).toCanonicalString() === p
|
|
369
|
+
)) ?? null;
|
|
370
|
+
return {
|
|
371
|
+
axis: "y",
|
|
372
|
+
valueColumn: {
|
|
373
|
+
type: "column",
|
|
374
|
+
value: p,
|
|
375
|
+
label: await C(e, p, s)
|
|
376
|
+
},
|
|
377
|
+
type: j(v) ? "discrete" : "continuous"
|
|
378
|
+
};
|
|
379
|
+
})
|
|
380
|
+
), D = (await Promise.all(
|
|
381
|
+
t.components.x.selectorStates.map(
|
|
382
|
+
(n) => C(e, n.selectedSource, s)
|
|
383
|
+
)
|
|
384
|
+
)).join(", "), P = (await Promise.all(
|
|
385
|
+
t.components.y.selectorStates.map(
|
|
386
|
+
(n) => C(e, n.selectedSource, s)
|
|
387
|
+
)
|
|
388
|
+
)).join(", "), y = await Promise.all(
|
|
389
|
+
t.components.tooltipContent.selectorStates.map(async (n) => {
|
|
390
|
+
var r, p;
|
|
391
|
+
const m = n.selectedSource, v = await W(e, m, s);
|
|
392
|
+
return {
|
|
393
|
+
type: "column",
|
|
394
|
+
label: await C(e, m, s) || m,
|
|
395
|
+
value: m,
|
|
396
|
+
valueLabels: ((r = await B(e, m, s)) == null ? void 0 : r.toCanonicalString()) ?? m,
|
|
397
|
+
format: ((p = v == null ? void 0 : v.annotations) == null ? void 0 : p[M]) ?? ".0%"
|
|
398
|
+
};
|
|
399
|
+
})
|
|
400
|
+
);
|
|
401
|
+
return {
|
|
402
|
+
type: "heatmap",
|
|
403
|
+
valueColumn: g,
|
|
404
|
+
valueType: j(f) ? "discrete" : "continuous",
|
|
405
|
+
xColumn: {
|
|
406
|
+
type: "column",
|
|
407
|
+
value: x,
|
|
408
|
+
label: D,
|
|
409
|
+
valueLabels: "xLabelsKey"
|
|
410
|
+
},
|
|
411
|
+
yColumn: {
|
|
412
|
+
type: "column",
|
|
413
|
+
value: T,
|
|
414
|
+
label: P,
|
|
415
|
+
valueLabels: "yLabelsKey"
|
|
416
|
+
},
|
|
417
|
+
facetBy: N,
|
|
418
|
+
xGroupBy: b,
|
|
419
|
+
yGroupBy: O,
|
|
420
|
+
annotations: [...h, ...I],
|
|
421
|
+
tooltips: {
|
|
422
|
+
show: !0,
|
|
423
|
+
content: y
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
export {
|
|
429
|
+
le as HeatmapStateController,
|
|
430
|
+
ae as InitialHeatmapState
|
|
431
|
+
};
|
|
432
|
+
//# sourceMappingURL=heatmap.js.map
|