@milaboratories/graph-maker 1.1.166 → 1.1.168
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/constantsCommon.d.ts +2 -9
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +78 -83
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +8 -2
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/DiscreteForm.vue.js +26 -20
- package/dist/GraphMaker/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js +56 -38
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.js +48 -30
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.js +37 -31
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot/Scatter.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +30 -24
- package/dist/GraphMaker/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js.map +1 -1
- package/dist/GraphMaker/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +33 -27
- package/dist/GraphMaker/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.js +8 -2
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.js +22 -16
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +2 -0
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js +17 -11
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +26 -20
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.js +29 -23
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +83 -68
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +25 -19
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js +7 -5
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/dist/GraphMaker/utils/getUsedAesInMapping.js +37 -31
- package/dist/GraphMaker/utils/getUsedAesInMapping.js.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.js +36 -31
- package/dist/GraphMaker/utils/loadDefaultSources.js.map +1 -1
- package/dist/_virtual/stringify.js +5 -0
- package/dist/_virtual/stringify.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js +8 -8
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +8 -8
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedBar.js +54 -29
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedBar.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-array/src/min.js +12 -6
- package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-array/src/min.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +2 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +106 -107
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js +120 -121
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ControllerBase.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +83 -84
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js +11 -11
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +123 -124
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js +8 -8
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +116 -117
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +100 -102
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +148 -119
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/components/PlDataTable.js +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +5 -5
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +8 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +182 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/errors.js +18 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/errors.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/json.js +12 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/json.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/plid.js +7 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/plid.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/ref.js +8 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/node_modules/@milaboratories/pl-model-common/dist/ref.js.map +1 -0
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +105 -111
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +158 -163
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
- package/dist/node_modules/@milaboratories/pl-error-like/dist/error_like_shape.js +36 -0
- package/dist/node_modules/@milaboratories/pl-error-like/dist/error_like_shape.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +8 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +52 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/plid.js +7 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/plid.js.map +1 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/ref.js +8 -0
- package/dist/node_modules/@milaboratories/pl-model-common/dist/ref.js.map +1 -0
- package/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +16 -0
- package/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js.map +1 -0
- package/dist/node_modules/json-stringify-safe/stringify.js +20 -0
- package/dist/node_modules/json-stringify-safe/stringify.js.map +1 -0
- package/dist/node_modules/zod/lib/index.js +2978 -0
- package/dist/node_modules/zod/lib/index.js.map +1 -0
- package/package.json +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +0 -18
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +0 -1
package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const oe = {
|
|
1
|
+
import k from "../../_virtual/canonicalize.js";
|
|
2
|
+
import { ControllerBase as M } from "../ControllerBase.js";
|
|
3
|
+
import { ComponentController as w } from "../ComponentController.js";
|
|
4
|
+
import { AxisId as J, columnOrAxisIdFromString as C, isColumnId as c } from "../../spec.js";
|
|
5
|
+
import { createLinkerMap as U, createMultipliesByMap as Z, getFiltersFromStates as $, getAxesSpecsFromSources as H, getLinkerColumnsForSource as T, getColumnOrAxisValueLabelsId as b, getColumnOrAxisLabel as x, getColumnOrAxisSpec as K, getFormat as X } from "../../utils.js";
|
|
6
|
+
var Y = Object.defineProperty, G = (m, e, t) => e in m ? Y(m, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : m[e] = t, j = (m, e, t) => G(m, typeof e != "symbol" ? e + "" : e, t);
|
|
7
|
+
const te = {
|
|
9
8
|
type: "bubble",
|
|
10
9
|
components: {
|
|
11
10
|
valueSize: { type: "simple", selectorStates: [] },
|
|
@@ -19,23 +18,23 @@ const oe = {
|
|
|
19
18
|
},
|
|
20
19
|
dividedAxes: {}
|
|
21
20
|
};
|
|
22
|
-
function
|
|
21
|
+
function O(m, e) {
|
|
23
22
|
if (!e.length)
|
|
24
23
|
return [];
|
|
25
|
-
const t = e.map((l) =>
|
|
26
|
-
for (let l = 0; l <
|
|
27
|
-
const
|
|
24
|
+
const t = e.map((l) => C(l)), y = Object.values(m.columnsData)[0].length, r = [];
|
|
25
|
+
for (let l = 0; l < y; l++) {
|
|
26
|
+
const u = t.map((p) => {
|
|
28
27
|
const d = p.toCanonicalString();
|
|
29
28
|
return c(p) ? m.columnsData[d][l] : m.axesData[d][l];
|
|
30
29
|
}).join(", ");
|
|
31
|
-
|
|
30
|
+
r.push(u);
|
|
32
31
|
}
|
|
33
|
-
return
|
|
32
|
+
return r;
|
|
34
33
|
}
|
|
35
|
-
class
|
|
34
|
+
class oe extends M {
|
|
36
35
|
constructor() {
|
|
37
36
|
super({
|
|
38
|
-
valueSize: new
|
|
37
|
+
valueSize: new w({
|
|
39
38
|
componentName: "valueSize",
|
|
40
39
|
allowedTypes: ["Int", "Long", "Double", "Float"],
|
|
41
40
|
strictlyDependsOnParents: !0,
|
|
@@ -47,7 +46,7 @@ class le extends W {
|
|
|
47
46
|
required: !0
|
|
48
47
|
}
|
|
49
48
|
}),
|
|
50
|
-
valueColor: new
|
|
49
|
+
valueColor: new w({
|
|
51
50
|
componentName: "valueColor",
|
|
52
51
|
allowedTypes: ["Int", "Long", "Double", "Float"],
|
|
53
52
|
strictlyDependsOnParents: !0,
|
|
@@ -59,7 +58,7 @@ class le extends W {
|
|
|
59
58
|
required: !0
|
|
60
59
|
}
|
|
61
60
|
}),
|
|
62
|
-
x: new
|
|
61
|
+
x: new w({
|
|
63
62
|
componentName: "x",
|
|
64
63
|
allowedTypes: ["Int", "String", "Long"],
|
|
65
64
|
strictlyDependsOnParents: !0,
|
|
@@ -72,7 +71,7 @@ class le extends W {
|
|
|
72
71
|
columnsAllowed: !1
|
|
73
72
|
}
|
|
74
73
|
}),
|
|
75
|
-
y: new
|
|
74
|
+
y: new w({
|
|
76
75
|
componentName: "y",
|
|
77
76
|
allowedTypes: ["Int", "String", "Long"],
|
|
78
77
|
strictlyDependsOnParents: !0,
|
|
@@ -85,7 +84,7 @@ class le extends W {
|
|
|
85
84
|
columnsAllowed: !1
|
|
86
85
|
}
|
|
87
86
|
}),
|
|
88
|
-
tooltipContent: new
|
|
87
|
+
tooltipContent: new w({
|
|
89
88
|
componentName: "tooltipContent",
|
|
90
89
|
allowedTypes: ["String", "Int", "Long", "Float", "Double"],
|
|
91
90
|
strictlyDependsOnParents: !0,
|
|
@@ -96,7 +95,7 @@ class le extends W {
|
|
|
96
95
|
multipleSelectors: !0
|
|
97
96
|
}
|
|
98
97
|
}),
|
|
99
|
-
facetBy: new
|
|
98
|
+
facetBy: new w({
|
|
100
99
|
componentName: "facetBy",
|
|
101
100
|
allowedTypes: ["String", "Int", "Long"],
|
|
102
101
|
strictlyDependsOnParents: !0,
|
|
@@ -108,7 +107,7 @@ class le extends W {
|
|
|
108
107
|
}
|
|
109
108
|
})
|
|
110
109
|
}, {
|
|
111
|
-
filters: new
|
|
110
|
+
filters: new w({
|
|
112
111
|
componentName: "filters",
|
|
113
112
|
allowedTypes: ["String", "Int", "Long", "Double", "Long"],
|
|
114
113
|
strictlyDependsOnParents: !0,
|
|
@@ -120,7 +119,7 @@ class le extends W {
|
|
|
120
119
|
multipleSelectors: !0
|
|
121
120
|
}
|
|
122
121
|
}),
|
|
123
|
-
tabBy: new
|
|
122
|
+
tabBy: new w({
|
|
124
123
|
componentName: "tabBy",
|
|
125
124
|
allowedTypes: ["String", "Int"],
|
|
126
125
|
strictlyDependsOnParents: !0,
|
|
@@ -136,136 +135,136 @@ class le extends W {
|
|
|
136
135
|
getMustBeConsumedAxes(e, t) {
|
|
137
136
|
if (!e.components.valueColor.selectorStates.length)
|
|
138
137
|
return /* @__PURE__ */ new Set();
|
|
139
|
-
const
|
|
140
|
-
return !
|
|
138
|
+
const y = e.components.valueColor.selectorStates[0].selectedSource, r = t.get(y);
|
|
139
|
+
return !r || r.kind !== "column" ? /* @__PURE__ */ new Set() : new Set(r.spec.axesSpec.map((l) => J.fromAxisSpec(l).toCanonicalString()));
|
|
141
140
|
}
|
|
142
141
|
async createDataByColumns(e, t) {
|
|
143
|
-
var
|
|
144
|
-
const l = (
|
|
145
|
-
if (!l || !
|
|
142
|
+
var y, r;
|
|
143
|
+
const l = (y = t.components.valueColor.selectorStates[0]) == null ? void 0 : y.selectedSource, u = (r = t.components.valueSize.selectorStates[0]) == null ? void 0 : r.selectedSource;
|
|
144
|
+
if (!l || !u)
|
|
146
145
|
throw Error("Value column is not valid");
|
|
147
|
-
const p =
|
|
146
|
+
const p = C(l), d = C(u);
|
|
148
147
|
if (!p || !d || !c(p) && !c(d))
|
|
149
148
|
throw Error("Value column is not valid");
|
|
150
|
-
const
|
|
149
|
+
const n = {
|
|
151
150
|
type: "columns",
|
|
152
|
-
id:
|
|
151
|
+
id: k(t.components) ?? "",
|
|
153
152
|
values: {}
|
|
154
|
-
},
|
|
153
|
+
}, A = await U(e), D = await Z(e), f = [
|
|
155
154
|
...t.components.filters.selectorStates,
|
|
156
155
|
...t.components.tabBy.selectorStates
|
|
157
|
-
],
|
|
156
|
+
], P = $(f), B = f.map((o) => C(o.selectedSource)).filter(c), L = [p, d].filter(c), g = L.map((o) => o.toCanonicalString()), h = await H(e, g), a = [
|
|
158
157
|
t.components.facetBy,
|
|
159
158
|
t.components.x,
|
|
160
159
|
t.components.y,
|
|
161
160
|
t.components.tooltipContent
|
|
162
|
-
], S = [],
|
|
163
|
-
for (const { selectedSource: o } of
|
|
164
|
-
|
|
161
|
+
], S = [], v = [];
|
|
162
|
+
for (const { selectedSource: o } of f)
|
|
163
|
+
v.push(...await T(
|
|
165
164
|
e,
|
|
165
|
+
A,
|
|
166
166
|
D,
|
|
167
167
|
h,
|
|
168
|
-
B,
|
|
169
168
|
o
|
|
170
169
|
));
|
|
171
170
|
for (const o of a)
|
|
172
|
-
for (const { selectedSource:
|
|
173
|
-
S.push(
|
|
171
|
+
for (const { selectedSource: s } of o.selectorStates) {
|
|
172
|
+
S.push(C(s)), v.push(...await T(
|
|
174
173
|
e,
|
|
174
|
+
A,
|
|
175
175
|
D,
|
|
176
176
|
h,
|
|
177
|
-
|
|
178
|
-
r
|
|
177
|
+
s
|
|
179
178
|
));
|
|
180
|
-
const
|
|
181
|
-
|
|
179
|
+
const F = await b(e, s, g);
|
|
180
|
+
F && S.push(F);
|
|
182
181
|
}
|
|
183
|
-
const
|
|
184
|
-
[...L, ...
|
|
182
|
+
const i = await e.pFrameProvider.getTableOuterJoin(
|
|
183
|
+
[...L, ...v, ...B],
|
|
185
184
|
S,
|
|
186
|
-
|
|
185
|
+
P,
|
|
187
186
|
!0
|
|
188
187
|
);
|
|
189
188
|
S.forEach((o) => {
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
}),
|
|
193
|
-
const
|
|
189
|
+
const s = o.toCanonicalString();
|
|
190
|
+
n.values[s] = c(o) ? i.columnsData[s] : i.axesData[s];
|
|
191
|
+
}), n.values[l] = c(p) ? i.columnsData[l] : i.axesData[l], n.values[u] = c(d) ? i.columnsData[u] : i.axesData[u];
|
|
192
|
+
const z = t.components.x.selectorStates.map((o) => o.selectedSource), N = z.join(", "), E = await Promise.all(z.map(
|
|
194
193
|
async (o) => {
|
|
195
|
-
var
|
|
196
|
-
return ((
|
|
194
|
+
var s;
|
|
195
|
+
return ((s = await b(e, o, g)) == null ? void 0 : s.toCanonicalString()) ?? o;
|
|
197
196
|
}
|
|
198
197
|
));
|
|
199
|
-
|
|
200
|
-
const
|
|
198
|
+
n.values[N] = O(i, z), n.values.xLabels = O(i, E);
|
|
199
|
+
const I = t.components.y.selectorStates.map((o) => o.selectedSource), V = I.join(", "), q = await Promise.all(I.map(
|
|
201
200
|
async (o) => {
|
|
202
|
-
var
|
|
203
|
-
return ((
|
|
201
|
+
var s;
|
|
202
|
+
return ((s = await b(e, o, g)) == null ? void 0 : s.toCanonicalString()) ?? o;
|
|
204
203
|
}
|
|
205
204
|
));
|
|
206
|
-
return
|
|
205
|
+
return n.values[V] = O(i, I), n.values.yLabels = O(i, q), { byColumns: n };
|
|
207
206
|
}
|
|
208
207
|
async createChartSettings(e, t) {
|
|
209
|
-
var
|
|
210
|
-
const l = (
|
|
211
|
-
if (!l || !
|
|
208
|
+
var y, r;
|
|
209
|
+
const l = (y = t.components.valueColor.selectorStates[0]) == null ? void 0 : y.selectedSource, u = (r = t.components.valueSize.selectorStates[0]) == null ? void 0 : r.selectedSource;
|
|
210
|
+
if (!l || !u)
|
|
212
211
|
throw Error("Value column is not valid");
|
|
213
|
-
const p =
|
|
212
|
+
const p = C(l), d = C(u);
|
|
214
213
|
if (!c(p) && !c(d))
|
|
215
214
|
throw Error("Value column is not valid");
|
|
216
|
-
const
|
|
215
|
+
const n = [p, d].filter(c).map((a) => a.toCanonicalString()), A = {
|
|
217
216
|
type: "column",
|
|
218
217
|
value: l,
|
|
219
|
-
label: await
|
|
220
|
-
},
|
|
218
|
+
label: await x(e, l, [])
|
|
219
|
+
}, D = {
|
|
221
220
|
type: "column",
|
|
222
|
-
value:
|
|
223
|
-
label: await
|
|
224
|
-
},
|
|
221
|
+
value: u,
|
|
222
|
+
label: await x(e, u, [])
|
|
223
|
+
}, f = t.components.x.selectorStates.map(({ selectedSource: a }) => a).join(", "), P = t.components.y.selectorStates.map(({ selectedSource: a }) => a).join(", "), B = await Promise.all(t.components.facetBy.selectorStates.map(async (a) => {
|
|
225
224
|
var S;
|
|
226
225
|
return {
|
|
227
226
|
type: "column",
|
|
228
|
-
value: ((S = await
|
|
227
|
+
value: ((S = await b(e, a.selectedSource, n)) == null ? void 0 : S.toCanonicalString()) ?? a.selectedSource
|
|
229
228
|
};
|
|
230
|
-
})), L = (await Promise.all(t.components.x.selectorStates.map((a) =>
|
|
229
|
+
})), L = (await Promise.all(t.components.x.selectorStates.map((a) => x(e, a.selectedSource, n)))).join(", "), g = (await Promise.all(t.components.y.selectorStates.map((a) => x(e, a.selectedSource, n)))).join(", "), h = await Promise.all(
|
|
231
230
|
t.components.tooltipContent.selectorStates.map(async (a) => {
|
|
232
|
-
var S
|
|
233
|
-
const
|
|
231
|
+
var S;
|
|
232
|
+
const v = a.selectedSource, i = await K(e, v, n);
|
|
234
233
|
return {
|
|
235
234
|
type: "column",
|
|
236
|
-
label: await
|
|
237
|
-
value:
|
|
238
|
-
valueLabels: ((S = await
|
|
239
|
-
format: (
|
|
235
|
+
label: await x(e, v, n) || v,
|
|
236
|
+
value: v,
|
|
237
|
+
valueLabels: ((S = await b(e, v, n)) == null ? void 0 : S.toCanonicalString()) ?? v,
|
|
238
|
+
format: X(i)
|
|
240
239
|
};
|
|
241
240
|
})
|
|
242
241
|
);
|
|
243
242
|
return {
|
|
244
243
|
type: "bubble",
|
|
245
|
-
valueColor:
|
|
246
|
-
valueSize:
|
|
244
|
+
valueColor: A,
|
|
245
|
+
valueSize: D,
|
|
247
246
|
xColumn: {
|
|
248
247
|
type: "column",
|
|
249
|
-
value:
|
|
248
|
+
value: f,
|
|
250
249
|
label: L,
|
|
251
250
|
valueLabels: "xLabels"
|
|
252
251
|
},
|
|
253
252
|
yColumn: {
|
|
254
253
|
type: "column",
|
|
255
|
-
value:
|
|
256
|
-
label:
|
|
254
|
+
value: P,
|
|
255
|
+
label: g,
|
|
257
256
|
valueLabels: "yLabels"
|
|
258
257
|
},
|
|
259
|
-
facetBy:
|
|
258
|
+
facetBy: B,
|
|
260
259
|
tooltips: {
|
|
261
260
|
show: !0,
|
|
262
|
-
content:
|
|
261
|
+
content: h
|
|
263
262
|
}
|
|
264
263
|
};
|
|
265
264
|
}
|
|
266
265
|
}
|
|
267
266
|
export {
|
|
268
|
-
|
|
269
|
-
|
|
267
|
+
oe as BubbleStateController,
|
|
268
|
+
te as InitialBubbleState
|
|
270
269
|
};
|
|
271
270
|
//# sourceMappingURL=bubble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/bubble.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport {FORMAT} from '../../constants';\nimport {ControllerBase, PlotDataAndSettings} from '../ControllerBase';\nimport {ComponentController} from '../ComponentController';\nimport {columnOrAxisIdFromString, isColumnId} from '../../spec';\nimport type {DataStore} from '../../store';\nimport {\n createLinkerMap, createMultipliesByMap, getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates, getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\nimport {AxisId, ColumnId} from '../../spec';\nimport type {ColumnsProvider} from '../../pframe/ColumnsProvider';\n\nexport interface BubbleUIState extends InputStateParent<'bubble'> {\n type: 'bubble';\n components: {\n valueSize: ComponentStateSimple;\n valueColor: ComponentStateSimple;\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n };\n}\n\nexport const InitialBubbleState: BubbleUIState = {\n type: 'bubble',\n components: {\n valueSize: {type: 'simple', selectorStates: []},\n valueColor: {type: 'simple', selectorStates: []},\n x: {type: 'simple', selectorStates: []},\n y: {type: 'simple', selectorStates: []},\n filters: {type: 'filter', selectorStates: []},\n tabBy: {type: 'filter', selectorStates: []},\n facetBy: {type: 'simple', selectorStates: []},\n tooltipContent: {type: 'simple', selectorStates: []},\n },\n dividedAxes: {},\n};\n\nfunction getMultiSourceColumn(data: Awaited<ReturnType<ColumnsProvider['getTableOuterJoin']>>, selectedSources: string[]) {\n if (!selectedSources.length) {\n return [];\n }\n const selectedIds = selectedSources.map(str => columnOrAxisIdFromString(str));\n const n = Object.values(data.columnsData)[0].length;\n const result: string[] = [];\n for (let i = 0; i < n; i++) {\n const value = selectedIds\n .map((id) => {\n const key = id.toCanonicalString();\n return isColumnId(id)\n ? data.columnsData[key][i]\n : data.axesData[key][i];\n })\n .join(', ');\n result.push(value);\n }\n return result;\n}\n\nexport class BubbleStateController extends ControllerBase<BubbleUIState> {\n dataInputs = ['valueSize', 'valueColor'];\n dontAllowUnfilteredHighCardinality = true;\n constructor() {\n super({\n valueSize: new ComponentController<BubbleUIState, 'valueSize'>({\n componentName: 'valueSize',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueColor'],\n settings: {\n isDataComponent: true,\n columnsAllowed: true,\n axesAllowed: false,\n required: true,\n }\n }),\n valueColor: new ComponentController<BubbleUIState, 'valueColor'>({\n componentName: 'valueColor',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize'],\n settings: {\n isDataComponent: true,\n columnsAllowed: true,\n axesAllowed: false,\n required: true,\n },\n }),\n x: new ComponentController<BubbleUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'String', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n required: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n axesAllowed: true,\n columnsAllowed: false,\n },\n }),\n y: new ComponentController<BubbleUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'String', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n required: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n axesAllowed: true,\n columnsAllowed: false,\n },\n }),\n tooltipContent: new ComponentController<BubbleUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n facetBy: new ComponentController<BubbleUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n })\n }, {\n filters: new ComponentController<BubbleUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n tabBy: new ComponentController<BubbleUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n });\n }\n\n getMustBeConsumedAxes(state: BubbleUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.valueColor.selectorStates.length) {\n return new Set<string>();\n }\n const sourceId = state.components.valueColor.selectorStates[0].selectedSource;\n const data = optionsInfo.get(sourceId);\n if (!data || data.kind !== 'column') {\n return new Set<string>();\n }\n return new Set(data.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString()))\n }\n\n async createDataByColumns(store: DataStore, state: BubbleUIState): Promise<PlotDataAndSettings['data']> {\n const valueColorColumnIdString = state.components.valueColor.selectorStates[0]?.selectedSource;\n const valueSizeColumnIdString = state.components.valueSize.selectorStates[0]?.selectedSource;\n if (!valueColorColumnIdString || !valueSizeColumnIdString) {\n throw Error('Value column is not valid');\n }\n const valueColorColumnId = columnOrAxisIdFromString(valueColorColumnIdString);\n const valueSizeColumnId = columnOrAxisIdFromString(valueSizeColumnIdString);\n if ((!valueColorColumnId || !valueSizeColumnId) || !isColumnId(valueColorColumnId) && !isColumnId(valueSizeColumnId)) {\n throw Error('Value 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 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 primaryColumns = ([valueColorColumnId, valueSizeColumnId]).filter(isColumnId);\n const parentSources = primaryColumns.map((v) => v.toCanonicalString());\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n const inputs = [\n state.components.facetBy,\n state.components.x,\n state.components.y,\n state.components.tooltipContent\n ];\n const secondarySources: (ColumnId | AxisId)[] = []; // primary sources are the only value column\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 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 [...primaryColumns, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n true\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[valueColorColumnIdString] = isColumnId(valueColorColumnId)\n ? data.columnsData[valueColorColumnIdString]\n : data.axesData[valueColorColumnIdString]\n dataByColumns.values[valueSizeColumnIdString] = isColumnId(valueSizeColumnId)\n ? data.columnsData[valueSizeColumnIdString]\n : data.axesData[valueSizeColumnIdString]\n\n const xAxes = state.components.x.selectorStates.map(state => state.selectedSource);\n const xKey = xAxes.join(', ');\n const xAxesLabeled = await Promise.all(xAxes.map(\n async id => (await getColumnOrAxisValueLabelsId(store, id, parentSources))?.toCanonicalString() ?? id,\n ));\n dataByColumns.values[xKey] = getMultiSourceColumn(data, xAxes);\n dataByColumns.values.xLabels = getMultiSourceColumn(data, xAxesLabeled);\n\n // y column should contain yGroup axes\n const yAxes = state.components.y.selectorStates.map(state => state.selectedSource);\n const yKey = yAxes.join(', ');\n const yAxesLabeled = await Promise.all(yAxes.map(\n async id => (await getColumnOrAxisValueLabelsId(store, id, parentSources))?.toCanonicalString() ?? id,\n ));\n dataByColumns.values[yKey] = getMultiSourceColumn(data, yAxes);\n dataByColumns.values.yLabels = getMultiSourceColumn(data, yAxesLabeled);\n\n return {byColumns: dataByColumns};\n }\n\n async createChartSettings(store: DataStore, state: BubbleUIState): Promise<Record<string, unknown>> {\n const valueColorColumnIdString = state.components.valueColor.selectorStates[0]?.selectedSource;\n const valueSizeColumnIdString = state.components.valueSize.selectorStates[0]?.selectedSource;\n if (!valueColorColumnIdString || !valueSizeColumnIdString) {\n throw Error('Value column is not valid');\n }\n const valueColorColumnId = columnOrAxisIdFromString(valueColorColumnIdString);\n const valueSizeColumnId = columnOrAxisIdFromString(valueSizeColumnIdString);\n if (!isColumnId(valueColorColumnId) && !isColumnId(valueSizeColumnId)) {\n throw Error('Value column is not valid');\n }\n\n const parentSources = ([valueColorColumnId, valueSizeColumnId]).filter(isColumnId).map((v) => v.toCanonicalString());\n const valueColor = {\n type: 'column',\n value: valueColorColumnIdString,\n label: await getColumnOrAxisLabel(store, valueColorColumnIdString, []),\n };\n const valueSize = {\n type: 'column',\n value: valueSizeColumnIdString,\n label: await getColumnOrAxisLabel(store, valueSizeColumnIdString, []),\n };\n const xAxes = state.components.x.selectorStates.map(({selectedSource}) => selectedSource)\n const xKey = xAxes.join(', ');\n\n const yAxes = state.components.y.selectorStates.map(({selectedSource}) => selectedSource)\n const yKey = yAxes.join(', ');\n\n const facetBy = await Promise.all(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 xAxisTitle = (await Promise.all(state.components.x.selectorStates\n .map(state => getColumnOrAxisLabel(store, state.selectedSource, parentSources))))\n .join(', ');\n const yAxisTitle = (await Promise.all(state.components.y.selectorStates\n .map(state => getColumnOrAxisLabel(store, state.selectedSource, parentSources))))\n .join(', ');\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\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:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: spec?.annotations?.[FORMAT] ?? '.0%'\n };\n })\n );\n\n return {\n type: 'bubble',\n valueColor: valueColor,\n valueSize: valueSize,\n xColumn: {\n type: 'column',\n value: xKey,\n label: xAxisTitle,\n valueLabels: 'xLabels'\n },\n yColumn: {\n type: 'column',\n value: yKey,\n label: yAxisTitle,\n valueLabels: 'yLabels'\n },\n facetBy,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialBubbleState","getMultiSourceColumn","data","selectedSources","selectedIds","str","columnOrAxisIdFromString","n","result","i","value","id","key","isColumnId","BubbleStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceId","s","AxisId","store","valueColorColumnIdString","_a","valueSizeColumnIdString","_b","valueColorColumnId","valueSizeColumnId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","primaryColumns","parentSources","v","parentAxesList","getAxesSpecsFromSources","inputs","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","input","labelsColumnId","getColumnOrAxisValueLabelsId","item","xAxes","xKey","xAxesLabeled","yAxes","yKey","yAxesLabeled","valueColor","getColumnOrAxisLabel","valueSize","facetBy","selectorState","xAxisTitle","yAxisTitle","tooltipContent","source","spec","getColumnOrAxisSpec","FORMAT"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"bubble.js","sources":["../../../../../../../node_modules/@milaboratories/pf-plots/src/controllers/controllersByChartType/bubble.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n DataByColumns,\n InputStateParent,\n} from '../../common';\nimport {ControllerBase, PlotDataAndSettings} from '../ControllerBase';\nimport {ComponentController} from '../ComponentController';\nimport {columnOrAxisIdFromString, isColumnId} from '../../spec';\nimport type {DataStore} from '../../store';\nimport {\n createLinkerMap, createMultipliesByMap, getAxesSpecsFromSources,\n getColumnOrAxisLabel, getColumnOrAxisSpec,\n getColumnOrAxisValueLabelsId,\n getFiltersFromStates, getFormat, getLinkerColumnsForSource,\n OptionsInfo,\n} from '../../utils';\nimport {AxisId, ColumnId} from '../../spec';\nimport type {ColumnsProvider} from '../../pframe/ColumnsProvider';\n\nexport interface BubbleUIState extends InputStateParent<'bubble'> {\n type: 'bubble';\n components: {\n valueSize: ComponentStateSimple;\n valueColor: ComponentStateSimple;\n x: ComponentStateSimple;\n y: ComponentStateSimple;\n filters: ComponentStateFilter;\n tabBy: ComponentStateFilter;\n facetBy: ComponentStateSimple;\n tooltipContent: ComponentStateSimple;\n };\n}\n\nexport const InitialBubbleState: BubbleUIState = {\n type: 'bubble',\n components: {\n valueSize: {type: 'simple', selectorStates: []},\n valueColor: {type: 'simple', selectorStates: []},\n x: {type: 'simple', selectorStates: []},\n y: {type: 'simple', selectorStates: []},\n filters: {type: 'filter', selectorStates: []},\n tabBy: {type: 'filter', selectorStates: []},\n facetBy: {type: 'simple', selectorStates: []},\n tooltipContent: {type: 'simple', selectorStates: []},\n },\n dividedAxes: {},\n};\n\nfunction getMultiSourceColumn(data: Awaited<ReturnType<ColumnsProvider['getTableOuterJoin']>>, selectedSources: string[]) {\n if (!selectedSources.length) {\n return [];\n }\n const selectedIds = selectedSources.map(str => columnOrAxisIdFromString(str));\n const n = Object.values(data.columnsData)[0].length;\n const result: string[] = [];\n for (let i = 0; i < n; i++) {\n const value = selectedIds\n .map((id) => {\n const key = id.toCanonicalString();\n return isColumnId(id)\n ? data.columnsData[key][i]\n : data.axesData[key][i];\n })\n .join(', ');\n result.push(value);\n }\n return result;\n}\n\nexport class BubbleStateController extends ControllerBase<BubbleUIState> {\n dataInputs = ['valueSize', 'valueColor'];\n dontAllowUnfilteredHighCardinality = true;\n constructor() {\n super({\n valueSize: new ComponentController<BubbleUIState, 'valueSize'>({\n componentName: 'valueSize',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueColor'],\n settings: {\n isDataComponent: true,\n columnsAllowed: true,\n axesAllowed: false,\n required: true,\n }\n }),\n valueColor: new ComponentController<BubbleUIState, 'valueColor'>({\n componentName: 'valueColor',\n allowedTypes: ['Int', 'Long', 'Double', 'Float'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize'],\n settings: {\n isDataComponent: true,\n columnsAllowed: true,\n axesAllowed: false,\n required: true,\n },\n }),\n x: new ComponentController<BubbleUIState, 'x'>({\n componentName: 'x',\n allowedTypes: ['Int', 'String', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n required: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n axesAllowed: true,\n columnsAllowed: false,\n },\n }),\n y: new ComponentController<BubbleUIState, 'y'>({\n componentName: 'y',\n allowedTypes: ['Int', 'String', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n required: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n axesAllowed: true,\n columnsAllowed: false,\n },\n }),\n tooltipContent: new ComponentController<BubbleUIState, 'tooltipContent'>({\n componentName: 'tooltipContent',\n allowedTypes: ['String', 'Int', 'Long', 'Float', 'Double'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n multipleSelectors: true,\n },\n }),\n facetBy: new ComponentController<BubbleUIState, 'facetBy'>({\n componentName: 'facetBy',\n allowedTypes: ['String', 'Int', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n })\n }, {\n filters: new ComponentController<BubbleUIState, 'filters'>({\n componentName: 'filters',\n allowedTypes: ['String', 'Int', 'Long', 'Double', 'Long'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n dimensionConsumer: true,\n multipleSelectors: true,\n },\n }),\n tabBy: new ComponentController<BubbleUIState, 'tabBy'>({\n componentName: 'tabBy',\n allowedTypes: ['String', 'Int'],\n strictlyDependsOnParents: true,\n parentComponents: ['valueSize', 'valueColor'],\n settings: {\n columnsAllowed: true,\n axesAllowed: true,\n dimensionConsumer: true,\n },\n }),\n });\n }\n\n getMustBeConsumedAxes(state: BubbleUIState, optionsInfo: OptionsInfo): Set<string> {\n if (!state.components.valueColor.selectorStates.length) {\n return new Set<string>();\n }\n const sourceId = state.components.valueColor.selectorStates[0].selectedSource;\n const data = optionsInfo.get(sourceId);\n if (!data || data.kind !== 'column') {\n return new Set<string>();\n }\n return new Set(data.spec.axesSpec.map((s) => AxisId.fromAxisSpec(s).toCanonicalString()))\n }\n\n async createDataByColumns(store: DataStore, state: BubbleUIState): Promise<PlotDataAndSettings['data']> {\n const valueColorColumnIdString = state.components.valueColor.selectorStates[0]?.selectedSource;\n const valueSizeColumnIdString = state.components.valueSize.selectorStates[0]?.selectedSource;\n if (!valueColorColumnIdString || !valueSizeColumnIdString) {\n throw Error('Value column is not valid');\n }\n const valueColorColumnId = columnOrAxisIdFromString(valueColorColumnIdString);\n const valueSizeColumnId = columnOrAxisIdFromString(valueSizeColumnIdString);\n if ((!valueColorColumnId || !valueSizeColumnId) || !isColumnId(valueColorColumnId) && !isColumnId(valueSizeColumnId)) {\n throw Error('Value 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 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 primaryColumns = ([valueColorColumnId, valueSizeColumnId]).filter(isColumnId);\n const parentSources = primaryColumns.map((v) => v.toCanonicalString());\n const parentAxesList = await getAxesSpecsFromSources(store, parentSources);\n const inputs = [\n state.components.facetBy,\n state.components.x,\n state.components.y,\n state.components.tooltipContent\n ];\n const secondarySources: (ColumnId | AxisId)[] = []; // primary sources are the only value column\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 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 [...primaryColumns, ...linkerColumns, ...filterColumns],\n secondarySources,\n filters,\n true\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[valueColorColumnIdString] = isColumnId(valueColorColumnId)\n ? data.columnsData[valueColorColumnIdString]\n : data.axesData[valueColorColumnIdString]\n dataByColumns.values[valueSizeColumnIdString] = isColumnId(valueSizeColumnId)\n ? data.columnsData[valueSizeColumnIdString]\n : data.axesData[valueSizeColumnIdString]\n\n const xAxes = state.components.x.selectorStates.map(state => state.selectedSource);\n const xKey = xAxes.join(', ');\n const xAxesLabeled = await Promise.all(xAxes.map(\n async id => (await getColumnOrAxisValueLabelsId(store, id, parentSources))?.toCanonicalString() ?? id,\n ));\n dataByColumns.values[xKey] = getMultiSourceColumn(data, xAxes);\n dataByColumns.values.xLabels = getMultiSourceColumn(data, xAxesLabeled);\n\n // y column should contain yGroup axes\n const yAxes = state.components.y.selectorStates.map(state => state.selectedSource);\n const yKey = yAxes.join(', ');\n const yAxesLabeled = await Promise.all(yAxes.map(\n async id => (await getColumnOrAxisValueLabelsId(store, id, parentSources))?.toCanonicalString() ?? id,\n ));\n dataByColumns.values[yKey] = getMultiSourceColumn(data, yAxes);\n dataByColumns.values.yLabels = getMultiSourceColumn(data, yAxesLabeled);\n\n return {byColumns: dataByColumns};\n }\n\n async createChartSettings(store: DataStore, state: BubbleUIState): Promise<Record<string, unknown>> {\n const valueColorColumnIdString = state.components.valueColor.selectorStates[0]?.selectedSource;\n const valueSizeColumnIdString = state.components.valueSize.selectorStates[0]?.selectedSource;\n if (!valueColorColumnIdString || !valueSizeColumnIdString) {\n throw Error('Value column is not valid');\n }\n const valueColorColumnId = columnOrAxisIdFromString(valueColorColumnIdString);\n const valueSizeColumnId = columnOrAxisIdFromString(valueSizeColumnIdString);\n if (!isColumnId(valueColorColumnId) && !isColumnId(valueSizeColumnId)) {\n throw Error('Value column is not valid');\n }\n\n const parentSources = ([valueColorColumnId, valueSizeColumnId]).filter(isColumnId).map((v) => v.toCanonicalString());\n const valueColor = {\n type: 'column',\n value: valueColorColumnIdString,\n label: await getColumnOrAxisLabel(store, valueColorColumnIdString, []),\n };\n const valueSize = {\n type: 'column',\n value: valueSizeColumnIdString,\n label: await getColumnOrAxisLabel(store, valueSizeColumnIdString, []),\n };\n const xAxes = state.components.x.selectorStates.map(({selectedSource}) => selectedSource)\n const xKey = xAxes.join(', ');\n\n const yAxes = state.components.y.selectorStates.map(({selectedSource}) => selectedSource)\n const yKey = yAxes.join(', ');\n\n const facetBy = await Promise.all(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 xAxisTitle = (await Promise.all(state.components.x.selectorStates\n .map(state => getColumnOrAxisLabel(store, state.selectedSource, parentSources))))\n .join(', ');\n const yAxisTitle = (await Promise.all(state.components.y.selectorStates\n .map(state => getColumnOrAxisLabel(store, state.selectedSource, parentSources))))\n .join(', ');\n\n const tooltipContent = await Promise.all(\n state.components.tooltipContent.selectorStates.map(async selectorState => {\n const source = selectorState.selectedSource;\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:\n (await getColumnOrAxisValueLabelsId(store, source, parentSources))?.toCanonicalString() ??\n source,\n format: getFormat(spec)\n };\n })\n );\n\n return {\n type: 'bubble',\n valueColor: valueColor,\n valueSize: valueSize,\n xColumn: {\n type: 'column',\n value: xKey,\n label: xAxisTitle,\n valueLabels: 'xLabels'\n },\n yColumn: {\n type: 'column',\n value: yKey,\n label: yAxisTitle,\n valueLabels: 'yLabels'\n },\n facetBy,\n tooltips: {\n show: true,\n content: tooltipContent\n }\n };\n }\n}\n"],"names":["InitialBubbleState","getMultiSourceColumn","data","selectedSources","selectedIds","str","columnOrAxisIdFromString","n","result","i","value","id","key","isColumnId","BubbleStateController","ControllerBase","ComponentController","__publicField","state","optionsInfo","sourceId","s","AxisId","store","valueColorColumnIdString","_a","valueSizeColumnIdString","_b","valueColorColumnId","valueSizeColumnId","dataByColumns","canonicalize","linkerMap","createLinkerMap","multipliesByMap","createMultipliesByMap","filterSelectedStates","filters","getFiltersFromStates","filterColumns","primaryColumns","parentSources","v","parentAxesList","getAxesSpecsFromSources","inputs","secondarySources","linkerColumns","selectedSource","getLinkerColumnsForSource","input","labelsColumnId","getColumnOrAxisValueLabelsId","item","xAxes","xKey","xAxesLabeled","yAxes","yKey","yAxesLabeled","valueColor","getColumnOrAxisLabel","valueSize","facetBy","selectorState","xAxisTitle","yAxisTitle","tooltipContent","source","spec","getColumnOrAxisSpec","getFormat"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js
CHANGED
|
@@ -4,7 +4,7 @@ import { ComponentController as a } from "../ComponentController.js";
|
|
|
4
4
|
import { columnOrAxisIdFromString as c, isColumnId as f } from "../../spec.js";
|
|
5
5
|
import { createLinkerMap as B, getFiltersFromStates as E, getAxesSpecsFromSources as $, createMultipliesByMap as z, getLinkerColumnsForSource as P, getColumnOrAxisValueLabelsId as D, getColumnOrAxisLabel as A } from "../../utils.js";
|
|
6
6
|
var q = Object.defineProperty, G = (N, t, e) => t in N ? q(N, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : N[t] = e, M = (N, t, e) => G(N, t + "", e);
|
|
7
|
-
const T = "pl7.app/dendrogram/nodeId", I = "id",
|
|
7
|
+
const T = "pl7.app/dendrogram/nodeId", I = "id", Q = {
|
|
8
8
|
type: "dendro",
|
|
9
9
|
components: {
|
|
10
10
|
value: { type: "simple", selectorStates: [] },
|
|
@@ -25,7 +25,7 @@ const T = "pl7.app/dendrogram/nodeId", I = "id", R = {
|
|
|
25
25
|
},
|
|
26
26
|
dividedAxes: {}
|
|
27
27
|
};
|
|
28
|
-
class
|
|
28
|
+
class R extends W {
|
|
29
29
|
constructor() {
|
|
30
30
|
super(
|
|
31
31
|
{
|
|
@@ -436,7 +436,7 @@ class H extends W {
|
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
438
|
export {
|
|
439
|
-
|
|
440
|
-
|
|
439
|
+
R as DendroStateController,
|
|
440
|
+
Q as InitialDendroState
|
|
441
441
|
};
|
|
442
442
|
//# sourceMappingURL=dendro.js.map
|
|
@@ -2,9 +2,9 @@ import x from "../../_virtual/canonicalize.js";
|
|
|
2
2
|
import { ControllerBase as A } from "../ControllerBase.js";
|
|
3
3
|
import { ComponentController as p } from "../ComponentController.js";
|
|
4
4
|
import { columnOrAxisIdFromString as f, isColumnId as C } from "../../spec.js";
|
|
5
|
-
import { createLinkerMap as I, createMultipliesByMap as L, getFiltersFromStates as F, getAxesSpecsFromSources as N, getLinkerColumnsForSource as
|
|
6
|
-
var P = Object.defineProperty, T = (i, e, t) => e in i ? P(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t,
|
|
7
|
-
const
|
|
5
|
+
import { createLinkerMap as I, createMultipliesByMap as L, getFiltersFromStates as F, getAxesSpecsFromSources as N, getLinkerColumnsForSource as B, getColumnOrAxisValueLabelsId as v, getColumnOrAxisLabel as b } from "../../utils.js";
|
|
6
|
+
var P = Object.defineProperty, T = (i, e, t) => e in i ? P(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t, D = (i, e, t) => T(i, typeof e != "symbol" ? e + "" : e, t);
|
|
7
|
+
const J = {
|
|
8
8
|
type: "discrete",
|
|
9
9
|
components: {
|
|
10
10
|
y: { type: "simple", selectorStates: [] },
|
|
@@ -16,7 +16,7 @@ const Y = {
|
|
|
16
16
|
},
|
|
17
17
|
dividedAxes: {}
|
|
18
18
|
};
|
|
19
|
-
class
|
|
19
|
+
class Z extends A {
|
|
20
20
|
constructor() {
|
|
21
21
|
super(
|
|
22
22
|
{
|
|
@@ -85,7 +85,7 @@ class j extends A {
|
|
|
85
85
|
}
|
|
86
86
|
})
|
|
87
87
|
}
|
|
88
|
-
),
|
|
88
|
+
), D(this, "dataInputs", ["y"]), D(this, "dontAllowUnfilteredHighCardinality", !0);
|
|
89
89
|
}
|
|
90
90
|
async createDataByColumns(e, t) {
|
|
91
91
|
const c = t.components.y.selectorStates[0].selectedSource, a = f(c);
|
|
@@ -100,7 +100,7 @@ class j extends A {
|
|
|
100
100
|
...t.components.tabBy.selectorStates
|
|
101
101
|
], y = F(n), d = n.map((r) => f(r.selectedSource)).filter(C), g = [c], o = await N(e, g), S = [t.components.primaryGrouping, t.components.secondaryGrouping, t.components.facetBy], w = [], h = [];
|
|
102
102
|
for (const { selectedSource: r } of n)
|
|
103
|
-
h.push(...await
|
|
103
|
+
h.push(...await B(
|
|
104
104
|
e,
|
|
105
105
|
u,
|
|
106
106
|
m,
|
|
@@ -109,15 +109,15 @@ class j extends A {
|
|
|
109
109
|
));
|
|
110
110
|
for (const r of S)
|
|
111
111
|
for (const { selectedSource: l } of r.selectorStates) {
|
|
112
|
-
w.push(f(l)), h.push(...await
|
|
112
|
+
w.push(f(l)), h.push(...await B(
|
|
113
113
|
e,
|
|
114
114
|
u,
|
|
115
115
|
m,
|
|
116
116
|
o,
|
|
117
117
|
l
|
|
118
118
|
));
|
|
119
|
-
const
|
|
120
|
-
|
|
119
|
+
const O = await v(e, l, g);
|
|
120
|
+
O && w.push(O);
|
|
121
121
|
}
|
|
122
122
|
const G = await e.pFrameProvider.getTableOuterJoin(
|
|
123
123
|
[a, ...h, ...d],
|
|
@@ -190,7 +190,7 @@ class j extends A {
|
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
export {
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
Z as DiscreteStateController,
|
|
194
|
+
J as InitialDiscreteState
|
|
195
195
|
};
|
|
196
196
|
//# sourceMappingURL=discrete.js.map
|