@milaboratories/graph-maker 1.1.150 → 1.1.151
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/DragAndDrop/DnDBasketChip.vue.d.ts +3 -10
- package/dist/GraphMaker/components/DragAndDrop/DnDBasketChip.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DnDBasketChip.vue.js +42 -83
- package/dist/GraphMaker/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DnDRangeChip.vue.d.ts +1 -5
- package/dist/GraphMaker/components/DragAndDrop/DnDRangeChip.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DnDRangeChip.vue.js +43 -85
- package/dist/GraphMaker/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DndBasket.vue.d.ts +1 -3
- package/dist/GraphMaker/components/DragAndDrop/DndBasket.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DndBasket.vue.js +73 -85
- package/dist/GraphMaker/components/DragAndDrop/DndBasket.vue.js.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.d.ts +1 -5
- package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.js +51 -91
- package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
- package/dist/GraphMaker/components/DragAndDrop/types.d.ts +0 -19
- package/dist/GraphMaker/components/DragAndDrop/types.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.d.ts +0 -1
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +45 -46
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.js +115 -145
- package/dist/GraphMaker/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.d.ts.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.js +95 -125
- package/dist/GraphMaker/forms/DataMappingForm/useBaskets.js.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/utils.d.ts.map +1 -1
- package/dist/GraphMaker/forms/DataMappingForm/utils.js +77 -153
- package/dist/GraphMaker/forms/DataMappingForm/utils.js.map +1 -1
- package/dist/GraphMaker/store.d.ts.map +1 -1
- package/dist/GraphMaker/store.js +41 -43
- package/dist/GraphMaker/store.js.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.d.ts +1 -2
- package/dist/GraphMaker/utils/loadDefaultSources.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadDefaultSources.js +43 -47
- 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 +34 -36
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +6 -5
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +146 -149
- 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 +165 -218
- 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 +95 -102
- 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 +145 -156
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/dendro.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js +68 -75
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/discrete.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +154 -159
- 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 +48 -55
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/histogram.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +114 -122
- 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 +111 -119
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/index.js +4 -4
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +70 -69
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js +2 -2
- package/dist/node_modules/@milaboratories/pf-plots/dist/spec.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +183 -187
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,74 +1,22 @@
|
|
|
1
1
|
import "./node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js";
|
|
2
|
-
import { getNormalizedAxesList as
|
|
3
|
-
import
|
|
4
|
-
import { LinkerMap as
|
|
2
|
+
import { getNormalizedAxesList as x } from "./node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js";
|
|
3
|
+
import L from "./_virtual/canonicalize.js";
|
|
4
|
+
import { LinkerMap as E } from "./node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/linker_columns.js";
|
|
5
5
|
import "./node_modules/@milaboratories/pl-model-common/dist/plid.js";
|
|
6
6
|
import "./node_modules/@milaboratories/pl-model-common/dist/ref.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (S(u)) {
|
|
13
|
-
const s = await e.pFrameProvider.getColumnSpecById(u);
|
|
14
|
-
if (!s)
|
|
15
|
-
return;
|
|
16
|
-
const v = G(
|
|
17
|
-
s,
|
|
18
|
-
i,
|
|
19
|
-
t,
|
|
20
|
-
c
|
|
21
|
-
).map((m) => d.fromAxisSpec(m).toCanonicalString()), B = new Set(v), P = s.axesSpec.map((m) => d.fromAxisSpec(m).toCanonicalString()), b = {};
|
|
22
|
-
r && P.forEach((m, x) => {
|
|
23
|
-
B.has(m) && (b[m] = x);
|
|
24
|
-
});
|
|
25
|
-
const k = {
|
|
26
|
-
kind: "column",
|
|
27
|
-
name: s.name,
|
|
28
|
-
label: a ?? await h(e, n, []),
|
|
29
|
-
type: s.valueType,
|
|
30
|
-
spec: s,
|
|
31
|
-
annotations: s.annotations,
|
|
32
|
-
isSubsetFilter: ((l = s.annotations) == null ? void 0 : l[I]) === "true",
|
|
33
|
-
isDiscreteFilter: s.valueType === "String" || ((p = s.annotations) == null ? void 0 : p[A]) === "true",
|
|
34
|
-
axesToBeFixed: v,
|
|
35
|
-
axesToBeFixedIndexes: b
|
|
36
|
-
};
|
|
37
|
-
o.set(u.toCanonicalString(), k);
|
|
38
|
-
for (const m of s.axesSpec) {
|
|
39
|
-
const x = d.fromAxisSpec(m).toCanonicalString();
|
|
40
|
-
if (o.has(x))
|
|
41
|
-
continue;
|
|
42
|
-
const N = z(m), D = {
|
|
43
|
-
kind: "axis",
|
|
44
|
-
name: m.name,
|
|
45
|
-
label: await h(e, x, [n]),
|
|
46
|
-
type: m.type,
|
|
47
|
-
mustBeConsumed: N,
|
|
48
|
-
dividable: !1,
|
|
49
|
-
spec: m,
|
|
50
|
-
annotations: m.annotations,
|
|
51
|
-
isSubsetFilter: ((y = m.annotations) == null ? void 0 : y[I]) === "true",
|
|
52
|
-
isDiscreteFilter: m.type === "String" || ((g = m.annotations) == null ? void 0 : g[A]) === "true",
|
|
53
|
-
parentSources: [n]
|
|
54
|
-
};
|
|
55
|
-
o.set(x, D);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function oe(e) {
|
|
60
|
-
const n = f(e), { name: a, type: o } = n;
|
|
61
|
-
return S(n) ? {
|
|
7
|
+
import { ColumnId as F, AxisId as f, columnOrAxisIdFromString as g, isColumnId as y, isAxisId as C } from "./spec.js";
|
|
8
|
+
import { IS_LINKER_COLUMN as P, MULTIPLIES_BY as A, COLUMN_LABEL_KEY as k, IS_VIRTUAL_COLUMN as _, SUBSET_FILTER_KEY as O, AXIS_NATURE_KEY as $, COLUMN_NAME_KEY as B, COLUMN_DOMAIN_KEY as T } from "./constants.js";
|
|
9
|
+
function X(e) {
|
|
10
|
+
const t = g(e), { name: a, type: o } = t;
|
|
11
|
+
return y(t) ? {
|
|
62
12
|
kind: "column",
|
|
63
13
|
name: "",
|
|
64
14
|
label: " ",
|
|
65
|
-
type:
|
|
66
|
-
spec: { axesSpec: [], kind: "PColumn", valueType:
|
|
15
|
+
type: t.type,
|
|
16
|
+
spec: { axesSpec: [], kind: "PColumn", valueType: t.type, name: a },
|
|
67
17
|
annotations: void 0,
|
|
68
18
|
isSubsetFilter: !1,
|
|
69
|
-
isDiscreteFilter:
|
|
70
|
-
axesToBeFixed: [],
|
|
71
|
-
axesToBeFixedIndexes: {}
|
|
19
|
+
isDiscreteFilter: t.type === "String"
|
|
72
20
|
} : {
|
|
73
21
|
kind: "axis",
|
|
74
22
|
name: "",
|
|
@@ -80,211 +28,259 @@ function oe(e) {
|
|
|
80
28
|
annotations: void 0,
|
|
81
29
|
isSubsetFilter: !1,
|
|
82
30
|
isDiscreteFilter: o === "String",
|
|
31
|
+
isNonHomogenous: !1,
|
|
83
32
|
parentSources: []
|
|
84
33
|
};
|
|
85
34
|
}
|
|
86
|
-
function
|
|
35
|
+
function Z(e) {
|
|
87
36
|
return {
|
|
88
37
|
type: e.type,
|
|
89
38
|
components: { ...e.components },
|
|
90
39
|
dividedAxes: { ...e.dividedAxes }
|
|
91
40
|
};
|
|
92
41
|
}
|
|
93
|
-
function
|
|
94
|
-
|
|
95
|
-
|
|
42
|
+
function h(e, t) {
|
|
43
|
+
if (t === "Int" || t === "Long")
|
|
44
|
+
return Math.floor(e);
|
|
45
|
+
}
|
|
46
|
+
function V(e) {
|
|
47
|
+
const { selectedSource: t, type: a, selectedFilterRange: o, selectedFilterValue: r } = e, n = g(t);
|
|
48
|
+
if (!n)
|
|
96
49
|
throw Error("Empty source selected");
|
|
97
50
|
if (a === "range") {
|
|
98
|
-
const
|
|
99
|
-
return (o == null ? void 0 : o.max) !== void 0 &&
|
|
51
|
+
const i = [];
|
|
52
|
+
return (o == null ? void 0 : o.max) !== void 0 && i.push({
|
|
100
53
|
type: "bySingleColumnV2",
|
|
101
|
-
column: C(
|
|
54
|
+
column: C(n) ? { type: "axis", id: n.toPFrameId() } : { type: "column", id: n.name },
|
|
102
55
|
predicate: {
|
|
103
56
|
operator: "LessOrEqual",
|
|
104
|
-
reference: o.max
|
|
57
|
+
reference: h(o.max, n.type)
|
|
105
58
|
}
|
|
106
|
-
}), (o == null ? void 0 : o.min) !== void 0 &&
|
|
59
|
+
}), (o == null ? void 0 : o.min) !== void 0 && i.push({
|
|
107
60
|
type: "bySingleColumnV2",
|
|
108
|
-
column: C(
|
|
61
|
+
column: C(n) ? { type: "axis", id: n.toPFrameId() } : { type: "column", id: n.name },
|
|
109
62
|
predicate: {
|
|
110
63
|
operator: "GreaterOrEqual",
|
|
111
|
-
reference: o
|
|
64
|
+
reference: h(o.min, n.type)
|
|
112
65
|
}
|
|
113
|
-
}),
|
|
66
|
+
}), i;
|
|
114
67
|
} else if (a === "subset")
|
|
115
68
|
return [
|
|
116
69
|
{
|
|
117
70
|
type: "bySingleColumnV2",
|
|
118
|
-
column: C(
|
|
71
|
+
column: C(n) ? { type: "axis", id: n.toPFrameId() } : { type: "column", id: n.name },
|
|
119
72
|
predicate: {
|
|
120
73
|
operator: "Not",
|
|
121
74
|
operand: { operator: "IsNA" }
|
|
122
75
|
}
|
|
123
76
|
}
|
|
124
77
|
];
|
|
125
|
-
return typeof
|
|
78
|
+
return typeof r > "u" ? [] : [
|
|
126
79
|
{
|
|
127
80
|
type: "bySingleColumnV2",
|
|
128
|
-
column: C(
|
|
81
|
+
column: C(n) ? { type: "axis", id: n.toPFrameId() } : {
|
|
129
82
|
type: "column",
|
|
130
|
-
id:
|
|
83
|
+
id: n.name
|
|
131
84
|
},
|
|
132
85
|
predicate: {
|
|
133
86
|
operator: "Equal",
|
|
134
|
-
reference:
|
|
87
|
+
reference: n.type === "String" ? String(r) : Number(r)
|
|
135
88
|
}
|
|
136
89
|
}
|
|
137
90
|
];
|
|
138
91
|
}
|
|
139
|
-
function
|
|
140
|
-
const
|
|
92
|
+
function ee(e) {
|
|
93
|
+
const t = [];
|
|
141
94
|
for (const a of e)
|
|
142
|
-
|
|
143
|
-
return
|
|
95
|
+
t.push(...V(a));
|
|
96
|
+
return t;
|
|
144
97
|
}
|
|
145
|
-
function
|
|
146
|
-
var
|
|
98
|
+
function b(e) {
|
|
99
|
+
var t, a;
|
|
147
100
|
if ("kind" in e && e.kind === "PColumn") {
|
|
148
|
-
const
|
|
149
|
-
return
|
|
101
|
+
const n = e.name ?? ((t = e.annotations) == null ? void 0 : t[B]), i = e.domain ?? ((a = e.annotations) == null ? void 0 : a[T]);
|
|
102
|
+
return L({ name: n, domain: i });
|
|
150
103
|
}
|
|
151
|
-
const o = e.name,
|
|
152
|
-
return
|
|
104
|
+
const o = e.name, r = e.domain;
|
|
105
|
+
return L({ name: o, domain: r });
|
|
153
106
|
}
|
|
154
|
-
async function
|
|
107
|
+
async function N(e, t, a) {
|
|
155
108
|
for (const o of a) {
|
|
156
|
-
const
|
|
157
|
-
if (
|
|
158
|
-
const
|
|
159
|
-
(
|
|
109
|
+
const r = g(o);
|
|
110
|
+
if (y(r)) {
|
|
111
|
+
const n = await e.pFrameProvider.getColumnSpecById(r), i = ((n == null ? void 0 : n.axesSpec) ?? []).find(
|
|
112
|
+
(s) => f.fromAxisSpec(s).toCanonicalString() === t.toCanonicalString()
|
|
160
113
|
);
|
|
161
|
-
if (
|
|
162
|
-
return
|
|
114
|
+
if (i)
|
|
115
|
+
return i;
|
|
163
116
|
}
|
|
164
117
|
}
|
|
165
118
|
return null;
|
|
166
119
|
}
|
|
167
|
-
const
|
|
168
|
-
async function
|
|
169
|
-
const o =
|
|
170
|
-
if (
|
|
120
|
+
const D = "pl7.app/label";
|
|
121
|
+
async function R(e, t, a) {
|
|
122
|
+
const o = g(t);
|
|
123
|
+
if (y(o))
|
|
171
124
|
return;
|
|
172
|
-
async function
|
|
173
|
-
const
|
|
174
|
-
return
|
|
125
|
+
async function r(c) {
|
|
126
|
+
const l = await N(e, c, a);
|
|
127
|
+
return l ? b(l) : null;
|
|
175
128
|
}
|
|
176
|
-
const
|
|
177
|
-
return
|
|
129
|
+
const n = await e.pFrameProvider.getColumnsFull([], !1, void 0, [D]), i = await r(o), s = n.find(({ spec: c }) => c && c.axesSpec.length === 1 && b(c.axesSpec[0]) === i);
|
|
130
|
+
return s ? new F({ name: s.columnId, type: s.spec.valueType }) : void 0;
|
|
178
131
|
}
|
|
179
|
-
async function
|
|
180
|
-
const o =
|
|
181
|
-
let
|
|
182
|
-
return
|
|
132
|
+
async function U(e, t, a) {
|
|
133
|
+
const o = g(t), r = await R(e, t, a);
|
|
134
|
+
let n;
|
|
135
|
+
return y(o) ? n = await e.pFrameProvider.getColumnSpecById(r ?? o) : n = r ? await e.pFrameProvider.getColumnSpecById(r) : await N(e, o, a), n;
|
|
183
136
|
}
|
|
184
|
-
async function
|
|
137
|
+
async function ne(e, t, a) {
|
|
185
138
|
var o;
|
|
186
|
-
const
|
|
187
|
-
if (!
|
|
139
|
+
const r = await U(e, t, a);
|
|
140
|
+
if (!r)
|
|
188
141
|
return "";
|
|
189
|
-
const
|
|
190
|
-
return e.labelsModifier(
|
|
142
|
+
const n = ((o = r.annotations) == null ? void 0 : o[k]) ?? r.name;
|
|
143
|
+
return e.labelsModifier(r.name, n);
|
|
191
144
|
}
|
|
192
|
-
function
|
|
193
|
-
var
|
|
194
|
-
const o = (a = (
|
|
145
|
+
function te(e) {
|
|
146
|
+
var t, a;
|
|
147
|
+
const o = (a = (t = e.annotations) == null ? void 0 : t[$]) == null ? void 0 : a.toLowerCase();
|
|
195
148
|
return !!o && o !== "homogenous" && o !== "homogeneous";
|
|
196
149
|
}
|
|
197
|
-
function
|
|
198
|
-
var
|
|
199
|
-
return ((
|
|
200
|
-
}
|
|
201
|
-
function se(e) {
|
|
202
|
-
var n, a;
|
|
203
|
-
return !e.name.includes("metadata") && ((n = e.annotations) == null ? void 0 : n[$]) !== "true" && ((a = e.annotations) == null ? void 0 : a[I]) !== "true";
|
|
150
|
+
function oe(e) {
|
|
151
|
+
var t, a;
|
|
152
|
+
return !e.name.includes("metadata") && ((t = e.annotations) == null ? void 0 : t[_]) !== "true" && ((a = e.annotations) == null ? void 0 : a[O]) !== "true";
|
|
204
153
|
}
|
|
205
|
-
async function
|
|
154
|
+
async function ae(e, t) {
|
|
206
155
|
const a = /* @__PURE__ */ new Set(), o = [];
|
|
207
|
-
for (const
|
|
208
|
-
const
|
|
209
|
-
if (
|
|
210
|
-
const
|
|
211
|
-
if (!
|
|
156
|
+
for (const r of t) {
|
|
157
|
+
const n = g(r);
|
|
158
|
+
if (y(n)) {
|
|
159
|
+
const i = await e.pFrameProvider.getColumnSpecById(n);
|
|
160
|
+
if (!i)
|
|
212
161
|
continue;
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
a.has(
|
|
162
|
+
i.axesSpec.forEach((s) => {
|
|
163
|
+
const c = f.fromAxisSpec(s).toCanonicalString();
|
|
164
|
+
a.has(c) || (a.add(c), o.push(s));
|
|
216
165
|
});
|
|
217
166
|
}
|
|
218
167
|
}
|
|
219
168
|
return o;
|
|
220
169
|
}
|
|
221
|
-
async function
|
|
222
|
-
const
|
|
170
|
+
async function re(e) {
|
|
171
|
+
const t = await e.pFrameProvider.getColumnsFull(
|
|
223
172
|
[],
|
|
224
173
|
!1,
|
|
225
174
|
void 0,
|
|
226
175
|
void 0,
|
|
227
|
-
{ [
|
|
176
|
+
{ [P]: "true" }
|
|
228
177
|
);
|
|
229
|
-
return
|
|
178
|
+
return E.fromColumns(t);
|
|
230
179
|
}
|
|
231
|
-
async function
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
180
|
+
async function ie(e) {
|
|
181
|
+
var t, a, o, r;
|
|
182
|
+
const n = await e.pFrameProvider.getColumnsFull(
|
|
183
|
+
[],
|
|
184
|
+
!1,
|
|
185
|
+
void 0,
|
|
186
|
+
void 0,
|
|
187
|
+
void 0,
|
|
188
|
+
[A]
|
|
189
|
+
), i = /* @__PURE__ */ new Map();
|
|
190
|
+
for (const s of n) {
|
|
191
|
+
const c = s.spec.axesSpec, l = (a = (t = s.spec) == null ? void 0 : t.annotations) == null ? void 0 : a[A];
|
|
192
|
+
if (c.length !== 2 || !l)
|
|
193
|
+
continue;
|
|
194
|
+
const m = new F({ name: s.columnId, type: s.spec.valueType }).toCanonicalString();
|
|
195
|
+
try {
|
|
196
|
+
const [d] = JSON.parse(l), [u, p] = c, S = f.fromAxisSpec(u).toCanonicalString(), v = f.fromAxisSpec(p).toCanonicalString();
|
|
197
|
+
u.name === d ? (i.get(v) || i.set(v, /* @__PURE__ */ new Map()), i.get(v).set(S, { parentSource: m, spec: u })) : p.name === d && (i.get(S) || i.set(S, /* @__PURE__ */ new Map()), i.get(S).set(v, { parentSource: m, spec: p }));
|
|
198
|
+
} catch {
|
|
199
|
+
console.error(`Wrong format for annotation ${A}: ${(r = (o = s.spec) == null ? void 0 : o.annotations) == null ? void 0 : r[A]}`);
|
|
242
200
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
201
|
+
}
|
|
202
|
+
return i;
|
|
203
|
+
}
|
|
204
|
+
function K(e, t, a, o) {
|
|
205
|
+
var r;
|
|
206
|
+
const n = e.toCanonicalString(), i = [...new Set(o.map((m) => f.fromAxisSpec(m).toCanonicalString()))].find((m) => {
|
|
207
|
+
var d;
|
|
208
|
+
return (d = a.get(m)) == null ? void 0 : d.get(n);
|
|
209
|
+
}), s = i ? (r = a.get(i)) == null ? void 0 : r.get(n) : null;
|
|
210
|
+
if (s)
|
|
211
|
+
return [g(s.parentSource)];
|
|
212
|
+
const c = x(o), l = x(
|
|
213
|
+
t.getReachableByLinkersAxesFromAxes(c)
|
|
214
|
+
).find((m) => f.fromAxisSpec(m).toCanonicalString() === n);
|
|
215
|
+
return l ? t.getLinkerColumnsForAxes({ from: c, to: [l], throwWhenNoLinkExists: !1 }).map((m) => new F({ name: m.columnId, type: m.spec.valueType })) : [];
|
|
216
|
+
}
|
|
217
|
+
async function Y(e, t, a, o, r) {
|
|
218
|
+
const n = await t.pFrameProvider.getColumnSpecById(e);
|
|
219
|
+
if (!n)
|
|
220
|
+
return [];
|
|
221
|
+
let i = [];
|
|
222
|
+
const s = new Set(r.map((u) => f.fromAxisSpec(u).toCanonicalString())), c = [...s], l = n.axesSpec.filter((u) => {
|
|
223
|
+
var p;
|
|
224
|
+
const S = f.fromAxisSpec(u).toCanonicalString();
|
|
225
|
+
if (s.has(S))
|
|
226
|
+
return !1;
|
|
227
|
+
const v = c.find((M) => {
|
|
228
|
+
var w;
|
|
229
|
+
return (w = o.get(M)) == null ? void 0 : w.get(S);
|
|
230
|
+
}), I = v ? (p = o.get(v)) == null ? void 0 : p.get(S) : null;
|
|
231
|
+
return I ? (i.push(g(I.parentSource)), !1) : !0;
|
|
232
|
+
}), m = x(r), d = x(l);
|
|
233
|
+
return i = i.concat(a.getLinkerColumnsForAxes({ from: m, to: d, throwWhenNoLinkExists: !1 }).map((u) => new F({ name: u.columnId, type: u.spec.valueType }))), i;
|
|
234
|
+
}
|
|
235
|
+
async function se(e, t, a, o, r) {
|
|
236
|
+
const n = g(r);
|
|
237
|
+
return y(n) ? Y(n, e, t, a, o) : K(n, t, a, o);
|
|
248
238
|
}
|
|
249
|
-
function
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
239
|
+
function le(e, t, a, o) {
|
|
240
|
+
const r = new Set(t.map((l) => f.fromAxisSpec(l).toCanonicalString())), n = [...r], i = x(e.axesSpec).filter(
|
|
241
|
+
// axes in data axes list are allowed, check the rest
|
|
242
|
+
(l) => !r.has(f.fromAxisSpec(l).toCanonicalString())
|
|
243
|
+
), s = x(t), c = E.getAxesRoots(i);
|
|
244
|
+
return a.getNonLinkableAxes(s, c).filter((l) => {
|
|
245
|
+
const m = f.fromAxisSpec(l).toCanonicalString();
|
|
246
|
+
return !n.some((d) => {
|
|
247
|
+
var u;
|
|
248
|
+
return ((u = o.get(d)) == null ? void 0 : u.get(m)) !== void 0;
|
|
249
|
+
});
|
|
250
|
+
});
|
|
254
251
|
}
|
|
255
|
-
function
|
|
256
|
-
const a =
|
|
257
|
-
for (let
|
|
258
|
-
let
|
|
259
|
-
for (let
|
|
260
|
-
const { selectedSource:
|
|
261
|
-
if (
|
|
262
|
-
let
|
|
263
|
-
|
|
252
|
+
function ce(e, t) {
|
|
253
|
+
const a = t.columnsData[Object.keys(t.columnsData)[0]].length, o = new Int32Array(a).fill(0);
|
|
254
|
+
for (let r = 0; r < a; r++) {
|
|
255
|
+
let n = !1;
|
|
256
|
+
for (let i = 0; i < e.length; i++) {
|
|
257
|
+
const { selectedSource: s, selectedFilterValue: c, selectedFilterRange: l, type: m } = e[i], d = g(s), u = (y(d) ? t.columnsData[s] : t.axesData[s])[r];
|
|
258
|
+
if (c !== void 0 && (n = n || u === c), l !== void 0 && (l.min !== void 0 || l.max !== void 0) && typeof u == "number") {
|
|
259
|
+
let p = !0;
|
|
260
|
+
l.min !== void 0 && (p = p && u >= l.min), l.max !== void 0 && (p = p && u <= l.max), n = n || p;
|
|
264
261
|
}
|
|
265
|
-
|
|
262
|
+
m === "subset" && (n = n || u != null);
|
|
266
263
|
}
|
|
267
|
-
|
|
264
|
+
n && (o[r] = 1);
|
|
268
265
|
}
|
|
269
266
|
return o;
|
|
270
267
|
}
|
|
271
268
|
export {
|
|
272
|
-
te as
|
|
273
|
-
|
|
274
|
-
re as
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
ae as getStateCopy
|
|
269
|
+
te as axisIsNonHomogenous,
|
|
270
|
+
ce as createHighlightColumn,
|
|
271
|
+
re as createLinkerMap,
|
|
272
|
+
ie as createMultipliesByMap,
|
|
273
|
+
oe as dataColumnPredicateDefault,
|
|
274
|
+
ae as getAxesSpecsFromSources,
|
|
275
|
+
ne as getColumnOrAxisLabel,
|
|
276
|
+
U as getColumnOrAxisSpec,
|
|
277
|
+
R as getColumnOrAxisValueLabelsId,
|
|
278
|
+
X as getDefaultInfo,
|
|
279
|
+
V as getFilterFromState,
|
|
280
|
+
ee as getFiltersFromStates,
|
|
281
|
+
b as getGlobalId,
|
|
282
|
+
se as getLinkerColumnsForSource,
|
|
283
|
+
le as getNotAllowedAxes,
|
|
284
|
+
Z as getStateCopy
|
|
289
285
|
};
|
|
290
286
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/@milaboratories/pf-plots/src/utils.ts"],"sourcesContent":["import {getNormalizedAxesList, LinkerMap, SingleValuePredicateV2} from '@milaboratories/pl-model-common';\nimport {SelectorState} from './common';\nimport {TableOuterJoinResult} from './pframe/ColumnsProvider';\nimport type {DataStore, PValue} from './store';\nimport type {ColumnOrAxisIdString} from './spec';\nimport {isAxisId} from './spec';\nimport {AxisId, ColumnId, columnOrAxisIdFromString, isColumnId} from './spec';\nimport type {AxisData, ColumnData, InputState, SelectorStateFilter} from './common';\nimport {\n AXIS_NATURE_KEY,\n COLUMN_DOMAIN_KEY,\n COLUMN_LABEL_KEY,\n COLUMN_NAME_KEY, DISCRETE_FILTER_KEY, IS_LINKER_COLUMN,\n IS_VIRTUAL_COLUMN,\n SUBSET_FILTER_KEY,\n} from './constants';\nimport {\n AxisSpec,\n type PColumnSpec,\n type PObjectId,\n type PTableRecordSingleValueFilterV2,\n} from '@milaboratories/pl-model-common';\nimport canonicalize from 'canonicalize';\nimport { DemoDataStore } from './demoStore';\n\nexport async function addSourceInfoToMap( // by column id / axis id, without qualifications\n store: DataStore,\n selectedIdStr: ColumnOrAxisIdString,\n label: string | undefined,\n dataMap: Map<string, ColumnData | AxisData>,\n dataAxesList: AxisSpec[],\n dataAxes: Set<ColumnOrAxisIdString>,\n fixedAxesAllowed = true,\n linkerMap: LinkerMap\n) {\n const sourceId = columnOrAxisIdFromString(selectedIdStr);\n if (isColumnId(sourceId)) {\n const columnSpec = await store.pFrameProvider.getColumnSpecById(sourceId);\n if (!columnSpec) {\n return;\n }\n const extraAxesIds = getNotAllowedAxes(\n columnSpec,\n dataAxesList,\n dataAxes,\n linkerMap\n ).map((axisSpec) => AxisId.fromAxisSpec(axisSpec).toCanonicalString());\n\n const extraAxesSet = new Set(extraAxesIds);\n const axesIds = columnSpec.axesSpec.map(axisSpec => AxisId.fromAxisSpec(axisSpec).toCanonicalString());\n const extraAxesIndexes: Record<string, number> = {};\n if (fixedAxesAllowed) {\n axesIds.forEach((id, idx) => {\n if (extraAxesSet.has(id)) {\n extraAxesIndexes[id] = idx;\n }\n });\n }\n const columnInfo: ColumnData = {\n kind: 'column',\n name: columnSpec.name,\n label: label ?? (await getColumnOrAxisLabel(store, selectedIdStr, [])),\n type: columnSpec.valueType,\n spec: columnSpec,\n annotations: columnSpec.annotations,\n isSubsetFilter: columnSpec.annotations?.[SUBSET_FILTER_KEY] === 'true',\n isDiscreteFilter: columnSpec.valueType === 'String' || columnSpec.annotations?.[DISCRETE_FILTER_KEY] === 'true',\n axesToBeFixed: extraAxesIds,\n axesToBeFixedIndexes: extraAxesIndexes,\n };\n dataMap.set(sourceId.toCanonicalString(), columnInfo);\n for (const axisSpec of columnSpec.axesSpec) {\n const axisId = AxisId.fromAxisSpec(axisSpec);\n const axisIdStr = axisId.toCanonicalString();\n if (dataMap.has(axisIdStr)) {\n continue;\n }\n const mustBeConsumed = axisMustBeConsumed(axisSpec);\n const axisInfo: AxisData = {\n kind: 'axis',\n name: axisSpec.name,\n label: await getColumnOrAxisLabel(store, axisIdStr, [selectedIdStr]),\n type: axisSpec.type,\n mustBeConsumed,\n dividable: false,\n spec: axisSpec,\n annotations: axisSpec.annotations,\n isSubsetFilter: axisSpec.annotations?.[SUBSET_FILTER_KEY] === 'true',\n isDiscreteFilter: axisSpec.type === 'String' || axisSpec.annotations?.[DISCRETE_FILTER_KEY] === 'true',\n parentSources: [selectedIdStr],\n };\n dataMap.set(axisIdStr, axisInfo);\n }\n }\n}\n\nexport function getDefaultInfo(sourceIdStr: ColumnOrAxisIdString): ColumnData | AxisData {\n const item = columnOrAxisIdFromString(sourceIdStr);\n const {name, type} = item;\n if (isColumnId(item)) {\n return {\n kind: 'column',\n name: '',\n label: ' ',\n type: item.type,\n spec: {axesSpec: [], kind: 'PColumn', valueType: item.type, name},\n annotations: undefined,\n isSubsetFilter: false,\n isDiscreteFilter: item.type === 'String',\n axesToBeFixed: [],\n axesToBeFixedIndexes: {}\n };\n }\n return {\n kind: 'axis',\n name: '',\n label: ' ',\n type: type,\n spec: {type, name},\n mustBeConsumed: false,\n dividable: false,\n annotations: undefined,\n isSubsetFilter: false,\n isDiscreteFilter: type === 'String',\n parentSources: [],\n };\n}\n\nexport function getStateCopy<State extends InputState>(state: State): State {\n return {\n type: state.type,\n components: {...state.components},\n dividedAxes: {...state.dividedAxes},\n } as State;\n}\n\nexport function getFilterFromState(state: SelectorStateFilter): PTableRecordSingleValueFilterV2[] {\n const {selectedSource, type, selectedFilterRange, selectedFilterValue} = state;\n const id = columnOrAxisIdFromString(selectedSource);\n if (!id) {\n throw Error('Empty source selected');\n }\n if (type === 'range') {\n const rangeFilters = [];\n if (selectedFilterRange?.max !== undefined) {\n rangeFilters.push({\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? {type: 'axis' as const, id: id.toPFrameId()} : {type: 'column' as const, id: id.name as PObjectId},\n predicate: {\n operator: 'LessOrEqual',\n reference: selectedFilterRange.max\n } as SingleValuePredicateV2,\n })\n }\n if (selectedFilterRange?.min !== undefined) {\n rangeFilters.push({\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? {type: 'axis' as const, id: id.toPFrameId()} : {type: 'column' as const, id: id.name as PObjectId},\n predicate: {\n operator: 'GreaterOrEqual',\n reference: selectedFilterRange?.min as number,\n } as SingleValuePredicateV2,\n })\n }\n return rangeFilters;\n } else if (type === 'subset') {\n return [\n {\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? {type: 'axis' as const, id: id.toPFrameId()} : {type: 'column' as const, id: id.name as PObjectId},\n predicate: {\n operator: 'Not',\n operand: { operator: 'IsNA' }\n } as SingleValuePredicateV2,\n },\n ]\n }\n if (typeof selectedFilterValue === 'undefined') {\n return [];\n }\n return [\n {\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? {type: 'axis' as const, id: id.toPFrameId()} : {\n type: 'column' as const,\n id: id.name as PObjectId,\n },\n predicate: {\n operator: 'Equal',\n reference:\n id.type === 'String'\n ? String(selectedFilterValue)\n : (Number(selectedFilterValue) as string | number),\n } as SingleValuePredicateV2,\n },\n ];\n}\n\nexport function getFiltersFromStates(states: SelectorStateFilter[]): PTableRecordSingleValueFilterV2[] {\n const result: PTableRecordSingleValueFilterV2[] = [];\n for (const state of states) {\n result.push(...getFilterFromState(state));\n }\n return result;\n}\n\nexport function getGlobalId(spec: PColumnSpec): string;\nexport function getGlobalId(spec: AxisSpec): string;\nexport function getGlobalId(spec: AxisSpec | PColumnSpec): string {\n if ('kind' in spec && spec.kind === 'PColumn') {\n const name = spec.name ?? spec.annotations?.[COLUMN_NAME_KEY];\n const domain = spec.domain ?? spec.annotations?.[COLUMN_DOMAIN_KEY];\n return canonicalize({name, domain})!;\n }\n const name = spec.name;\n const domain = spec.domain;\n return canonicalize({name, domain})!;\n}\n\nasync function getAxisSpecFromParents(store: DataStore, axisId: AxisId, parentSources: ColumnOrAxisIdString[]) {\n for (const parentSource of parentSources) {\n const parentId = columnOrAxisIdFromString(parentSource);\n if (isColumnId(parentId)) {\n const columnSpec = await store.pFrameProvider.getColumnSpecById(parentId);\n const spec = (columnSpec?.axesSpec ?? []).find(\n s => AxisId.fromAxisSpec(s).toCanonicalString() === axisId.toCanonicalString(),\n );\n if (spec) {\n return spec;\n }\n }\n }\n return null;\n}\n\nconst LABEL_COLUMN_NAME = 'pl7.app/label';\n\nexport async function getColumnOrAxisValueLabelsId(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n): Promise<ColumnId | undefined> {\n const id = columnOrAxisIdFromString(selectedSource);\n if (isColumnId(id)) {\n return undefined;\n }\n async function getAxisGlobalId(axisId: AxisId) {\n const spec = await getAxisSpecFromParents(store, axisId, parentSources);\n return spec ? getGlobalId(spec) : null;\n }\n const labelColumns = await store.pFrameProvider.getColumnsFull([], false, undefined, [LABEL_COLUMN_NAME]);\n const sourceGlobalId = await getAxisGlobalId(id);\n const labelColumn = labelColumns.find(({spec}) => {\n return spec && spec.axesSpec.length === 1 && getGlobalId(spec.axesSpec[0]) === sourceGlobalId;\n });\n return labelColumn ? new ColumnId({name: labelColumn.columnId, type: labelColumn.spec.valueType}) : undefined;\n}\n\nexport async function getColumnOrAxisSpec(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n) {\n const selectedId = columnOrAxisIdFromString(selectedSource);\n const labelsColumn = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n\n let spec: AxisSpec | PColumnSpec | null;\n if (isColumnId(selectedId)) {\n spec = await store.pFrameProvider.getColumnSpecById(labelsColumn ?? selectedId);\n } else {\n spec = labelsColumn\n ? await store.pFrameProvider.getColumnSpecById(labelsColumn)\n : await getAxisSpecFromParents(store, selectedId, parentSources);\n }\n return spec;\n}\n\nexport async function getColumnOrAxisLabel(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n) {\n const spec = await getColumnOrAxisSpec(store, selectedSource, parentSources);\n if (!spec) {\n return '';\n }\n const label = spec.annotations?.[COLUMN_LABEL_KEY] ?? spec.name;\n return store.labelsModifier(spec.name, label);\n}\n\nexport function axisMustBeConsumed(spec: AxisSpec) {\n const axisNature = spec.annotations?.[AXIS_NATURE_KEY]?.toLowerCase();\n return Boolean(axisNature) && axisNature !== 'homogenous' && axisNature !== 'homogeneous';\n}\n\nexport function checkSourceBySpecForFilters(spec: PColumnSpec | AxisSpec) {\n //const type = 'kind' in spec && spec.kind === 'PColumn' ? spec.valueType : spec.type;\n if (spec.annotations?.[SUBSET_FILTER_KEY] === 'true') {\n return true;\n }\n if (spec.annotations?.[DISCRETE_FILTER_KEY] === 'true') {\n return true;\n }\n //return type === 'Double' || type === 'Float' || type === 'Int' || type === 'Long'\n return true;\n}\n\nexport function dataColumnPredicateDefault(spec: PColumnSpec) {\n return !spec.name.includes('metadata') && !(spec.annotations?.[IS_VIRTUAL_COLUMN] === 'true') && !(spec.annotations?.[SUBSET_FILTER_KEY] === 'true');\n}\n\nexport async function getAxesSpecsFromSources(store:DataStore, idStrs: ColumnOrAxisIdString[]):Promise<AxisSpec[]>{\n const set = new Set<ColumnOrAxisIdString>();\n const result:AxisSpec[] = [];\n for(const idStr of idStrs) {\n const id = columnOrAxisIdFromString(idStr);\n if (isColumnId(id)) {\n const spec = await store.pFrameProvider.getColumnSpecById(id);\n if (!spec) {\n continue;\n }\n spec.axesSpec.forEach(axisSpec => {\n const id = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n if (!set.has(id)) {\n set.add(id);\n result.push(axisSpec);\n }\n })\n }\n }\n return result;\n}\n\nexport async function createLinkerMap(store: DemoDataStore) {\n const allLinkerColumns = await store.pFrameProvider.getColumnsFull(\n [], false, undefined, undefined,\n {[IS_LINKER_COLUMN]: 'true'},\n );\n return LinkerMap.fromColumns(allLinkerColumns);\n}\n\nexport async function getLinkerColumnsForSource(\n store: DataStore,\n linkerMap: LinkerMap,\n dataInputAxes: AxisSpec[],\n secondarySource: ColumnOrAxisIdString,\n fixedAxesOfSecondaryColumn: SelectorState['fixedAxes']\n):Promise<ColumnId[]> {\n const columnOrAxisId = columnOrAxisIdFromString(secondarySource);\n if (!isColumnId(columnOrAxisId)) {\n return [];\n }\n const secondaryColumnSpec = await store.pFrameProvider.getColumnSpecById(columnOrAxisId);\n if (!secondaryColumnSpec) {\n return [];\n }\n const allColumnAxesWithoutFixed = secondaryColumnSpec.axesSpec.filter(\n (axisSpec) => {\n const axisId = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n return !fixedAxesOfSecondaryColumn?.some(el => el.axisSource === axisId);\n });\n\n const dataInputAxesSet = new Set(dataInputAxes.map(axisSpec => AxisId.fromAxisSpec(axisSpec).toCanonicalString()));\n const rightPartAxes = allColumnAxesWithoutFixed.filter((axisSpec) => { // right part from column minus 'fixedAxes'\n const axisId = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n return !dataInputAxesSet.has(axisId);\n });\n\n const from = getNormalizedAxesList(dataInputAxes);\n const to = getNormalizedAxesList(rightPartAxes);\n\n return linkerMap.getLinkerColumnsForAxes({from,to}).map(v => new ColumnId({name: v.columnId, type: v.spec.valueType}));\n}\n\nexport function getNotAllowedAxes(\n columnSpec: PColumnSpec,\n dataInputAxesList: AxisSpec[], // axes from data-input\n someset: Set<unknown>, \n linkerMap: LinkerMap, // composite linkers, without chains\n): AxisSpec[] {\n const dataInputAxesSet = new Set(dataInputAxesList.map((v) => AxisId.fromAxisSpec(v).toCanonicalString()))\n const allColumnAxes = getNormalizedAxesList(columnSpec.axesSpec);\n // remove from the column axes - axes from data inputs\n const rightPartAxes = allColumnAxes.filter(\n (axisSpec:AxisSpec) => !dataInputAxesSet.has(AxisId.fromAxisSpec(axisSpec).toCanonicalString())\n );\n\n const sourceAxes = getNormalizedAxesList(dataInputAxesList);\n const targetAxes = LinkerMap.getAxesRoots(rightPartAxes);\n\n return linkerMap.getNonLinkableAxes(sourceAxes, targetAxes);\n}\n\nexport function createHighlightColumn(highlightSelectedStates:SelectorStateFilter[], data: TableOuterJoinResult) {\n const dataLength = data.columnsData[Object.keys(data.columnsData)[0]].length;\n const highlightColumn = new Int32Array(dataLength).fill(0);\n for (let rowIdx = 0; rowIdx < dataLength; rowIdx++) {\n let res = false;\n for (let i = 0; i < highlightSelectedStates.length; i++) {\n const {selectedSource, selectedFilterValue, selectedFilterRange, type} = highlightSelectedStates[i];\n const sourceId = columnOrAxisIdFromString(selectedSource);\n const value = (isColumnId(sourceId) ? data.columnsData[selectedSource] : data.axesData[selectedSource])[rowIdx];\n if (selectedFilterValue !== undefined) {\n res = res || value === selectedFilterValue;\n }\n if (selectedFilterRange !== undefined && (selectedFilterRange.min !== undefined || selectedFilterRange.max !== undefined) && typeof value === 'number') {\n let rangeResult = true;\n if (selectedFilterRange.min !== undefined) {\n rangeResult = rangeResult && value >= selectedFilterRange.min;\n }\n if (selectedFilterRange.max !== undefined) {\n rangeResult = rangeResult && value <= selectedFilterRange.max;\n }\n res = res || rangeResult;\n }\n if (type === 'subset') {\n res = res || (value !== null && value !== undefined);\n }\n }\n if (res) {\n highlightColumn[rowIdx] = 1;\n }\n }\n return highlightColumn as unknown as PValue[];\n}\n"],"names":["addSourceInfoToMap","store","selectedIdStr","label","dataMap","dataAxesList","dataAxes","fixedAxesAllowed","linkerMap","sourceId","columnOrAxisIdFromString","isColumnId","columnSpec","extraAxesIds","getNotAllowedAxes","axisSpec","AxisId","extraAxesSet","axesIds","extraAxesIndexes","id","idx","columnInfo","getColumnOrAxisLabel","_a","SUBSET_FILTER_KEY","_b","DISCRETE_FILTER_KEY","axisIdStr","mustBeConsumed","axisMustBeConsumed","axisInfo","_c","_d","getDefaultInfo","sourceIdStr","item","name","type","getStateCopy","state","getFilterFromState","selectedSource","selectedFilterRange","selectedFilterValue","rangeFilters","isAxisId","getFiltersFromStates","states","result","getGlobalId","spec","COLUMN_NAME_KEY","domain","COLUMN_DOMAIN_KEY","canonicalize","getAxisSpecFromParents","axisId","parentSources","parentSource","parentId","s","LABEL_COLUMN_NAME","getColumnOrAxisValueLabelsId","getAxisGlobalId","labelColumns","sourceGlobalId","labelColumn","ColumnId","getColumnOrAxisSpec","selectedId","labelsColumn","COLUMN_LABEL_KEY","axisNature","AXIS_NATURE_KEY","checkSourceBySpecForFilters","dataColumnPredicateDefault","IS_VIRTUAL_COLUMN","getAxesSpecsFromSources","idStrs","set","idStr","createLinkerMap","allLinkerColumns","IS_LINKER_COLUMN","LinkerMap","getLinkerColumnsForSource","dataInputAxes","secondarySource","fixedAxesOfSecondaryColumn","columnOrAxisId","secondaryColumnSpec","allColumnAxesWithoutFixed","el","dataInputAxesSet","rightPartAxes","from","getNormalizedAxesList","to","v","dataInputAxesList","someset","sourceAxes","targetAxes","createHighlightColumn","highlightSelectedStates","data","dataLength","highlightColumn","rowIdx","res","i","value","rangeResult"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/@milaboratories/pf-plots/src/utils.ts"],"sourcesContent":["import { getNormalizedAxesList, LinkerMap, SingleValuePredicateV2, ValueType } from '@milaboratories/pl-model-common';\nimport { TableOuterJoinResult } from './pframe/ColumnsProvider';\nimport type { DataStore, PValue } from './store';\nimport type { ColumnOrAxisIdString } from './spec';\nimport { isAxisId } from './spec';\nimport { AxisId, ColumnId, columnOrAxisIdFromString, isColumnId } from './spec';\nimport type { AxisData, ColumnData, InputState, SelectorStateFilter } from './common';\nimport {\n AXIS_NATURE_KEY,\n COLUMN_DOMAIN_KEY,\n COLUMN_LABEL_KEY,\n COLUMN_NAME_KEY, IS_LINKER_COLUMN,\n IS_VIRTUAL_COLUMN,\n MULTIPLIES_BY,\n SUBSET_FILTER_KEY,\n} from './constants';\nimport {\n AxisSpec,\n type PColumnSpec,\n type PObjectId,\n type PTableRecordSingleValueFilterV2,\n} from '@milaboratories/pl-model-common';\nimport canonicalize from 'canonicalize';\nimport { DemoDataStore } from './demoStore';\n\nexport type OptionsInfo = Map<ColumnOrAxisIdString, ColumnData | AxisData>;\nexport function getDefaultInfo(sourceIdStr: ColumnOrAxisIdString): ColumnData | AxisData {\n const item = columnOrAxisIdFromString(sourceIdStr);\n const { name, type } = item;\n if (isColumnId(item)) {\n return {\n kind: 'column',\n name: '',\n label: ' ',\n type: item.type,\n spec: { axesSpec: [], kind: 'PColumn', valueType: item.type, name },\n annotations: undefined,\n isSubsetFilter: false,\n isDiscreteFilter: item.type === 'String'\n };\n }\n return {\n kind: 'axis',\n name: '',\n label: ' ',\n type: type,\n spec: { type, name },\n mustBeConsumed: false,\n dividable: false,\n annotations: undefined,\n isSubsetFilter: false,\n isDiscreteFilter: type === 'String',\n isNonHomogenous: false,\n parentSources: [],\n };\n}\n\nexport function getStateCopy<State extends InputState>(state: State): State {\n return {\n type: state.type,\n components: { ...state.components },\n dividedAxes: { ...state.dividedAxes },\n } as State;\n}\n\nfunction normalizeFilterReference(v: number, valueType: ValueType) {\n if (valueType === 'Int' || valueType === 'Long') {\n return Math.floor(v);\n }\n return \n}\nexport function getFilterFromState(state: SelectorStateFilter): PTableRecordSingleValueFilterV2[] {\n const { selectedSource, type, selectedFilterRange, selectedFilterValue } = state;\n const id = columnOrAxisIdFromString(selectedSource);\n if (!id) {\n throw Error('Empty source selected');\n }\n if (type === 'range') {\n const rangeFilters = [];\n if (selectedFilterRange?.max !== undefined) {\n rangeFilters.push({\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? { type: 'axis' as const, id: id.toPFrameId() } : { type: 'column' as const, id: id.name as PObjectId },\n predicate: {\n operator: 'LessOrEqual',\n reference: normalizeFilterReference(selectedFilterRange.max, id.type)\n } as SingleValuePredicateV2,\n })\n }\n if (selectedFilterRange?.min !== undefined) {\n rangeFilters.push({\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? { type: 'axis' as const, id: id.toPFrameId() } : { type: 'column' as const, id: id.name as PObjectId },\n predicate: {\n operator: 'GreaterOrEqual',\n reference: normalizeFilterReference(selectedFilterRange.min, id.type)\n } as SingleValuePredicateV2,\n })\n }\n return rangeFilters;\n } else if (type === 'subset') {\n return [\n {\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? { type: 'axis' as const, id: id.toPFrameId() } : { type: 'column' as const, id: id.name as PObjectId },\n predicate: {\n operator: 'Not',\n operand: { operator: 'IsNA' }\n } as SingleValuePredicateV2,\n },\n ]\n }\n if (typeof selectedFilterValue === 'undefined') {\n return [];\n }\n return [\n {\n type: 'bySingleColumnV2' as const,\n column: isAxisId(id) ? { type: 'axis' as const, id: id.toPFrameId() } : {\n type: 'column' as const,\n id: id.name as PObjectId,\n },\n predicate: {\n operator: 'Equal',\n reference:\n id.type === 'String'\n ? String(selectedFilterValue)\n : (Number(selectedFilterValue) as string | number),\n } as SingleValuePredicateV2,\n },\n ];\n}\n\nexport function getFiltersFromStates(states: SelectorStateFilter[]): PTableRecordSingleValueFilterV2[] {\n const result: PTableRecordSingleValueFilterV2[] = [];\n for (const state of states) {\n result.push(...getFilterFromState(state));\n }\n return result;\n}\n\nexport function getGlobalId(spec: PColumnSpec): string;\nexport function getGlobalId(spec: AxisSpec): string;\nexport function getGlobalId(spec: AxisSpec | PColumnSpec): string {\n if ('kind' in spec && spec.kind === 'PColumn') {\n const name = spec.name ?? spec.annotations?.[COLUMN_NAME_KEY];\n const domain = spec.domain ?? spec.annotations?.[COLUMN_DOMAIN_KEY];\n return canonicalize({ name, domain })!;\n }\n const name = spec.name;\n const domain = spec.domain;\n return canonicalize({ name, domain })!;\n}\n\nasync function getAxisSpecFromParents(store: DataStore, axisId: AxisId, parentSources: ColumnOrAxisIdString[]) {\n for (const parentSource of parentSources) {\n const parentId = columnOrAxisIdFromString(parentSource);\n if (isColumnId(parentId)) {\n const columnSpec = await store.pFrameProvider.getColumnSpecById(parentId);\n const spec = (columnSpec?.axesSpec ?? []).find(\n s => AxisId.fromAxisSpec(s).toCanonicalString() === axisId.toCanonicalString(),\n );\n if (spec) {\n return spec;\n }\n }\n }\n return null;\n}\n\nconst LABEL_COLUMN_NAME = 'pl7.app/label';\n\nexport async function getColumnOrAxisValueLabelsId(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n): Promise<ColumnId | undefined> {\n const id = columnOrAxisIdFromString(selectedSource);\n if (isColumnId(id)) {\n return undefined;\n }\n async function getAxisGlobalId(axisId: AxisId) {\n const spec = await getAxisSpecFromParents(store, axisId, parentSources);\n return spec ? getGlobalId(spec) : null;\n }\n const labelColumns = await store.pFrameProvider.getColumnsFull([], false, undefined, [LABEL_COLUMN_NAME]);\n const sourceGlobalId = await getAxisGlobalId(id);\n const labelColumn = labelColumns.find(({ spec }) => {\n return spec && spec.axesSpec.length === 1 && getGlobalId(spec.axesSpec[0]) === sourceGlobalId;\n });\n return labelColumn ? new ColumnId({ name: labelColumn.columnId, type: labelColumn.spec.valueType }) : undefined;\n}\n\nexport async function getColumnOrAxisSpec(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n) {\n const selectedId = columnOrAxisIdFromString(selectedSource);\n const labelsColumn = await getColumnOrAxisValueLabelsId(store, selectedSource, parentSources);\n\n let spec: AxisSpec | PColumnSpec | null;\n if (isColumnId(selectedId)) {\n spec = await store.pFrameProvider.getColumnSpecById(labelsColumn ?? selectedId);\n } else {\n spec = labelsColumn\n ? await store.pFrameProvider.getColumnSpecById(labelsColumn)\n : await getAxisSpecFromParents(store, selectedId, parentSources);\n }\n return spec;\n}\n\nexport async function getColumnOrAxisLabel(\n store: DataStore,\n selectedSource: ColumnOrAxisIdString,\n parentSources: ColumnOrAxisIdString[],\n) {\n const spec = await getColumnOrAxisSpec(store, selectedSource, parentSources);\n if (!spec) {\n return '';\n }\n const label = spec.annotations?.[COLUMN_LABEL_KEY] ?? spec.name;\n return store.labelsModifier(spec.name, label);\n}\n\nexport function axisIsNonHomogenous(spec: AxisSpec) {\n const axisNature = spec.annotations?.[AXIS_NATURE_KEY]?.toLowerCase();\n return Boolean(axisNature) && axisNature !== 'homogenous' && axisNature !== 'homogeneous';\n}\n\nexport function dataColumnPredicateDefault(spec: PColumnSpec) {\n return !spec.name.includes('metadata') && !(spec.annotations?.[IS_VIRTUAL_COLUMN] === 'true') && !(spec.annotations?.[SUBSET_FILTER_KEY] === 'true');\n}\n\nexport async function getAxesSpecsFromSources(store: DataStore, idStrs: ColumnOrAxisIdString[]): Promise<AxisSpec[]> {\n const set = new Set<ColumnOrAxisIdString>();\n const result: AxisSpec[] = [];\n for (const idStr of idStrs) {\n const id = columnOrAxisIdFromString(idStr);\n if (isColumnId(id)) {\n const spec = await store.pFrameProvider.getColumnSpecById(id);\n if (!spec) {\n continue;\n }\n spec.axesSpec.forEach(axisSpec => {\n const id = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n if (!set.has(id)) {\n set.add(id);\n result.push(axisSpec);\n }\n })\n }\n }\n return result;\n}\n\nexport async function createLinkerMap(store: DemoDataStore) {\n const allLinkerColumns = await store.pFrameProvider.getColumnsFull(\n [], false, undefined, undefined,\n { [IS_LINKER_COLUMN]: 'true' },\n );\n\n return LinkerMap.fromColumns(allLinkerColumns);\n}\n\nexport type MultipliesByMap = Map<ColumnOrAxisIdString, Map<ColumnOrAxisIdString, { parentSource: ColumnOrAxisIdString, spec: AxisSpec }>>;\nexport async function createMultipliesByMap(store: DemoDataStore): Promise<MultipliesByMap> {\n const allMultiplyingColumns = await store.pFrameProvider.getColumnsFull(\n [], false, undefined, undefined, undefined, [MULTIPLIES_BY]\n );\n\n const result: MultipliesByMap = new Map();\n\n for (const multiplyingColumn of allMultiplyingColumns) {\n const axes = multiplyingColumn.spec.axesSpec;\n const annotationData = multiplyingColumn.spec?.annotations?.[MULTIPLIES_BY];\n if (axes.length !== 2 || !annotationData) {\n continue;\n }\n const columnIdStr = new ColumnId({ name: multiplyingColumn.columnId, type: multiplyingColumn.spec.valueType }).toCanonicalString();\n try {\n const [multipliesBy] = JSON.parse(annotationData);\n const [axis1, axis2] = axes;\n const id1 = AxisId.fromAxisSpec(axis1).toCanonicalString();\n const id2 = AxisId.fromAxisSpec(axis2).toCanonicalString();\n if (axis1.name === multipliesBy) {\n if (!result.get(id2)) {\n result.set(id2, new Map());\n }\n result.get(id2)!.set(id1, { parentSource: columnIdStr, spec: axis1 })\n } else if (axis2.name === multipliesBy) {\n if (!result.get(id1)) {\n result.set(id1, new Map());\n }\n result.get(id1)!.set(id2, { parentSource: columnIdStr, spec: axis2 });\n }\n } catch (e) {\n console.error(`Wrong format for annotation ${MULTIPLIES_BY}: ${multiplyingColumn.spec?.annotations?.[MULTIPLIES_BY]}`);\n }\n }\n return result;\n}\n\nfunction getLinkerColumnsForAxis(\n secondaryAxisId: AxisId,\n linkerMap: LinkerMap,\n multipliesByMap: MultipliesByMap,\n dataInputAxes: AxisSpec[],\n) {\n const axisIdStr = secondaryAxisId.toCanonicalString();\n const dataInputAxesSet = new Set(dataInputAxes.map(axisSpec => AxisId.fromAxisSpec(axisSpec).toCanonicalString()));\n const dataInputAxesIds = [...dataInputAxesSet];\n\n // check multipliesBy columns\n const dataAxesIdWithLink = dataInputAxesIds.find((dataInputId) => multipliesByMap.get(dataInputId)?.get(axisIdStr));\n const linkerEl = dataAxesIdWithLink ? multipliesByMap.get(dataAxesIdWithLink)?.get(axisIdStr) : null;\n if (linkerEl) {\n // we need only 1 multipliesBy column to link single axis\n return [columnOrAxisIdFromString(linkerEl.parentSource)];\n }\n\n const normalizedDataAxes = getNormalizedAxesList(dataInputAxes);\n // else check regular linkers\n const axesAvailableWithLinkers = getNormalizedAxesList(\n linkerMap.getReachableByLinkersAxesFromAxes(normalizedDataAxes)\n );\n const axisSpec = axesAvailableWithLinkers.find((spec) => AxisId.fromAxisSpec(spec).toCanonicalString() === axisIdStr);\n\n if (!axisSpec) {\n return [];\n }\n return linkerMap.getLinkerColumnsForAxes({ from: normalizedDataAxes, to: [axisSpec], throwWhenNoLinkExists: false }).map(v => new ColumnId({ name: v.columnId, type: v.spec.valueType }));\n}\nasync function getLinkerColumnsForColumn(\n secondaryColumnId: ColumnId,\n store: DataStore,\n linkerMap: LinkerMap,\n multipliesByMap: MultipliesByMap,\n dataInputAxes: AxisSpec[],\n) {\n const secondaryColumnSpec = await store.pFrameProvider.getColumnSpecById(secondaryColumnId);\n if (!secondaryColumnSpec) {\n return [];\n }\n let linkers: ColumnId[] = [];\n const dataInputAxesSet = new Set(dataInputAxes.map(axisSpec => AxisId.fromAxisSpec(axisSpec).toCanonicalString()));\n const dataInputAxesIds = [...dataInputAxesSet];\n const rightPartAxes = secondaryColumnSpec.axesSpec.filter((axisSpec) => { // right part from column minus 'fixedAxes'\n const axisId = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n if (dataInputAxesSet.has(axisId)) {\n return false;\n }\n const dataAxesIdWithLink = dataInputAxesIds.find((dataInputId) => multipliesByMap.get(dataInputId)?.get(axisId));\n const linkerEl = dataAxesIdWithLink ? multipliesByMap.get(dataAxesIdWithLink)?.get(axisId) : null;\n if (linkerEl) {\n linkers.push(columnOrAxisIdFromString(linkerEl.parentSource));\n return false;\n }\n return true;\n });\n\n const from = getNormalizedAxesList(dataInputAxes);\n const to = getNormalizedAxesList(rightPartAxes);\n\n linkers = linkers.concat(linkerMap.getLinkerColumnsForAxes({ from, to, throwWhenNoLinkExists: false }).map(v => new ColumnId({ name: v.columnId, type: v.spec.valueType })));\n return linkers;\n}\nexport async function getLinkerColumnsForSource(\n store: DataStore,\n linkerMap: LinkerMap,\n multipliesByMap: MultipliesByMap,\n dataInputAxes: AxisSpec[],\n secondarySource: ColumnOrAxisIdString,\n): Promise<ColumnId[]> {\n const columnOrAxisId = columnOrAxisIdFromString(secondarySource);\n return isColumnId(columnOrAxisId)\n ? getLinkerColumnsForColumn(columnOrAxisId, store, linkerMap, multipliesByMap, dataInputAxes)\n : getLinkerColumnsForAxis(columnOrAxisId, linkerMap, multipliesByMap, dataInputAxes);\n}\n\nexport function getNotAllowedAxes(\n columnSpec: PColumnSpec,\n dataInputAxesList: AxisSpec[], // axes from data-input\n linkerMap: LinkerMap, // composite linkers, without chains\n multipliesByMap: MultipliesByMap,\n): AxisSpec[] {\n const dataInputAxesSet = new Set(dataInputAxesList.map((v) => AxisId.fromAxisSpec(v).toCanonicalString()))\n const dataInputAxesIds = [...dataInputAxesSet];\n\n // check non-linkable axes only from this column\n const allColumnAxes = getNormalizedAxesList(columnSpec.axesSpec);\n // remove from the column axes - axes from data inputs\n const rightPartAxes = allColumnAxes.filter( // axes in data axes list are allowed, check the rest\n (axisSpec: AxisSpec) => !dataInputAxesSet.has(AxisId.fromAxisSpec(axisSpec).toCanonicalString())\n );\n\n const sourceAxes = getNormalizedAxesList(dataInputAxesList);\n const targetAxes = LinkerMap.getAxesRoots(rightPartAxes);\n\n const nonLinkableByLinkerMap = linkerMap.getNonLinkableAxes(sourceAxes, targetAxes); // rest probably reduced\n const filtered = nonLinkableByLinkerMap.filter((axisSpec) => {\n const freeId = AxisId.fromAxisSpec(axisSpec).toCanonicalString();\n return !dataInputAxesIds.some((id) => multipliesByMap.get(id)?.get(freeId) !== undefined);\n });\n return filtered;\n}\n\nexport function createHighlightColumn(highlightSelectedStates: SelectorStateFilter[], data: TableOuterJoinResult) {\n const dataLength = data.columnsData[Object.keys(data.columnsData)[0]].length;\n const highlightColumn = new Int32Array(dataLength).fill(0);\n for (let rowIdx = 0; rowIdx < dataLength; rowIdx++) {\n let res = false;\n for (let i = 0; i < highlightSelectedStates.length; i++) {\n const { selectedSource, selectedFilterValue, selectedFilterRange, type } = highlightSelectedStates[i];\n const sourceId = columnOrAxisIdFromString(selectedSource);\n const value = (isColumnId(sourceId) ? data.columnsData[selectedSource] : data.axesData[selectedSource])[rowIdx];\n if (selectedFilterValue !== undefined) {\n res = res || value === selectedFilterValue;\n }\n if (selectedFilterRange !== undefined && (selectedFilterRange.min !== undefined || selectedFilterRange.max !== undefined) && typeof value === 'number') {\n let rangeResult = true;\n if (selectedFilterRange.min !== undefined) {\n rangeResult = rangeResult && value >= selectedFilterRange.min;\n }\n if (selectedFilterRange.max !== undefined) {\n rangeResult = rangeResult && value <= selectedFilterRange.max;\n }\n res = res || rangeResult;\n }\n if (type === 'subset') {\n res = res || (value !== null && value !== undefined);\n }\n }\n if (res) {\n highlightColumn[rowIdx] = 1;\n }\n }\n return highlightColumn as unknown as PValue[];\n}\n"],"names":["getDefaultInfo","sourceIdStr","item","columnOrAxisIdFromString","name","type","isColumnId","getStateCopy","state","normalizeFilterReference","v","valueType","getFilterFromState","selectedSource","selectedFilterRange","selectedFilterValue","id","rangeFilters","isAxisId","getFiltersFromStates","states","result","getGlobalId","spec","_a","COLUMN_NAME_KEY","domain","_b","COLUMN_DOMAIN_KEY","canonicalize","getAxisSpecFromParents","store","axisId","parentSources","parentSource","parentId","columnSpec","AxisId","LABEL_COLUMN_NAME","getColumnOrAxisValueLabelsId","getAxisGlobalId","labelColumns","sourceGlobalId","labelColumn","ColumnId","getColumnOrAxisSpec","selectedId","labelsColumn","getColumnOrAxisLabel","label","COLUMN_LABEL_KEY","axisIsNonHomogenous","axisNature","AXIS_NATURE_KEY","dataColumnPredicateDefault","IS_VIRTUAL_COLUMN","SUBSET_FILTER_KEY","getAxesSpecsFromSources","idStrs","set","idStr","axisSpec","createLinkerMap","allLinkerColumns","IS_LINKER_COLUMN","LinkerMap","createMultipliesByMap","allMultiplyingColumns","MULTIPLIES_BY","multiplyingColumn","axes","annotationData","columnIdStr","multipliesBy","axis1","axis2","id1","id2","_d","_c","getLinkerColumnsForAxis","secondaryAxisId","linkerMap","multipliesByMap","dataInputAxes","axisIdStr","dataAxesIdWithLink","dataInputId","linkerEl","normalizedDataAxes","getNormalizedAxesList","getLinkerColumnsForColumn","secondaryColumnId","secondaryColumnSpec","linkers","dataInputAxesSet","dataInputAxesIds","rightPartAxes","from","to","c","getLinkerColumnsForSource","secondarySource","columnOrAxisId","getNotAllowedAxes","dataInputAxesList","sourceAxes","targetAxes","freeId","createHighlightColumn","highlightSelectedStates","data","dataLength","highlightColumn","rowIdx","res","i","sourceId","value","rangeResult"],"mappings":"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","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/graph-maker",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.151",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/lib.js",
|
|
6
6
|
"types": "dist/lib.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@ag-grid-community/core": "^32.3.3",
|
|
39
39
|
"@milaboratories/helpers": "^1.6.15",
|
|
40
40
|
"@milaboratories/miplots4": "^1.0.141",
|
|
41
|
-
"@milaboratories/pf-plots": "^1.1.
|
|
41
|
+
"@milaboratories/pf-plots": "^1.1.31",
|
|
42
42
|
"@platforma-sdk/model": "^1.42.21",
|
|
43
43
|
"@platforma-sdk/ui-vue": "^1.39.16",
|
|
44
44
|
"@types/d3-hierarchy": "^3.1.7",
|