@milaboratories/graph-maker 1.1.141 → 1.1.142
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/LassoControls/index.vue.js +1 -1
- package/dist/GraphMaker/constantsCommon.d.ts +8 -0
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +94 -83
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts +3 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js +90 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js +5 -0
- package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js.map +1 -0
- package/dist/GraphMaker/forms/LayersForm/index.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/index.vue.js +45 -43
- package/dist/GraphMaker/forms/LayersForm/index.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.d.ts.map +1 -1
- package/dist/GraphMaker/index.vue.js +0 -1
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/types.d.ts +1 -1
- package/dist/GraphMaker/types.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +16 -0
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js +84 -70
- package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js +185 -164
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js +120 -103
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/ChartsGroup.js +4 -4
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js +105 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js +66 -59
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +57 -54
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js +17 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +24 -9
- package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import { l as
|
|
1
|
+
import { l as B } from "../node_modules/lodash/lodash.js";
|
|
2
2
|
import { renderToString as A } from "../node_modules/react-dom/server.browser.js";
|
|
3
3
|
import { AbstractChart as $ } from "../AbstractChart.js";
|
|
4
4
|
import { NO_GROUPED as f } from "../DataFrame.js";
|
|
5
5
|
import R from "./ChartRenderer.js";
|
|
6
|
-
import { MAX_GROUPS_COUNT as
|
|
7
|
-
import { DiscreteSettingsImpl as C, StatLayer as
|
|
8
|
-
import { getBoxesData as
|
|
9
|
-
import { getViolinsData as
|
|
10
|
-
import { getSinaData as
|
|
11
|
-
import { getDotsData as
|
|
12
|
-
import { getLinesData as
|
|
13
|
-
import { getErrorBarsData as
|
|
14
|
-
import { getBarsData as
|
|
15
|
-
import { getStackedBarsData as
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
6
|
+
import { MAX_GROUPS_COUNT as G, MAX_FACETS_COUNT as U } from "./constants.js";
|
|
7
|
+
import { DiscreteSettingsImpl as C, StatLayer as S, BoxLayer as P, ViolinLayer as T, DotLayer as x, LineLayer as O, ErrorBarLayer as K, BarLayer as F, StackedBarLayer as I, StackedAreaLayer as V, BinnedDotsLayer as H, PairedPointsLayer as j, SinaLayer as q, LogoPlotLayer as M } from "./DiscreteSettingsImpl.js";
|
|
8
|
+
import { getBoxesData as W } from "./layers/boxes.js";
|
|
9
|
+
import { getViolinsData as X } from "./layers/violins.js";
|
|
10
|
+
import { getSinaData as z } from "./layers/sina.js";
|
|
11
|
+
import { getDotsData as J } from "./layers/dots.js";
|
|
12
|
+
import { getLinesData as Q } from "./layers/lines.js";
|
|
13
|
+
import { getErrorBarsData as Y } from "./layers/errorbars.js";
|
|
14
|
+
import { getBarsData as Z } from "./layers/bar.js";
|
|
15
|
+
import { getStackedBarsData as tt } from "./layers/stackedBar.js";
|
|
16
|
+
import { getStackedAreaData as at } from "./layers/stackedArea.js";
|
|
17
|
+
import { getBinnedDotsData as et } from "./layers/binnedDots.js";
|
|
18
|
+
import { getPairedPointsData as rt } from "./layers/pairedPoints.js";
|
|
19
|
+
import { getLogoData as st } from "./layers/logo.js";
|
|
20
|
+
import { getStatsData as it } from "./layers/stats/index.js";
|
|
20
21
|
import { getFacetStringKey as L } from "./utils/getFacetStringKey.js";
|
|
21
|
-
var
|
|
22
|
+
var nt = Object.defineProperty, ot = (o, a, t) => a in o ? nt(o, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[a] = t, D = (o, a, t) => ot(o, typeof a != "symbol" ? a + "" : a, t);
|
|
22
23
|
function w(o, a, t = null) {
|
|
23
24
|
const s = a.value, i = o.getColumnCategories(s);
|
|
24
|
-
return
|
|
25
|
+
return B.intersection(t ?? i, i).map(String);
|
|
25
26
|
}
|
|
26
|
-
function
|
|
27
|
+
function E(o) {
|
|
27
28
|
if (!o.length)
|
|
28
29
|
return [];
|
|
29
30
|
let a = [[]];
|
|
@@ -50,14 +51,14 @@ function v(o, a) {
|
|
|
50
51
|
)
|
|
51
52
|
) : r, l = o.getColumnCategories(t, !a.allowNullGroup);
|
|
52
53
|
return {
|
|
53
|
-
keys: a.order === void 0 ? l :
|
|
54
|
+
keys: a.order === void 0 ? l : B.intersection(a.order.map(String), l),
|
|
54
55
|
value: t,
|
|
55
56
|
label: a.columnName.label ?? t,
|
|
56
57
|
valueLabels: i.reduce((r, u) => (r[u] = n(u), r), {}),
|
|
57
58
|
inheritedAes: a.inheritedAes ?? null
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
|
-
class
|
|
61
|
+
class Nt extends $ {
|
|
61
62
|
constructor(a, t, s) {
|
|
62
63
|
super(a, t), D(this, "settings"), D(this, "chartRenderer", new R()), D(this, "onTooltipHintSwitch", () => {
|
|
63
64
|
}), D(this, "calculatedData", null), this.settings = new C(t), s && (this.onTooltipHintSwitch = s[0]);
|
|
@@ -87,8 +88,8 @@ class Et extends $ {
|
|
|
87
88
|
return this._updateChart(), A(this.chartRenderer.component);
|
|
88
89
|
}
|
|
89
90
|
_needUpdateCalculatedDataBySettings(a, t) {
|
|
90
|
-
var s, i, n, l, r, u,
|
|
91
|
-
return a.chartSettings.yAxis.scale !== t.chartSettings.yAxis.scale || (((s = a.primaryGrouping) == null ? void 0 : s.columnName.value) ?? "") !== (((i = t.primaryGrouping) == null ? void 0 : i.columnName.value) ?? "") || (((n = a.secondaryGrouping) == null ? void 0 : n.columnName.value) ?? "") !== (((l = t.secondaryGrouping) == null ? void 0 : l.columnName.value) ?? "") || (((r = a.primaryGrouping) == null ? void 0 : r.allowNullGroup) ?? "") !== (((u = t.primaryGrouping) == null ? void 0 : u.allowNullGroup) ?? "") || (((
|
|
91
|
+
var s, i, n, l, r, u, h, d;
|
|
92
|
+
return a.chartSettings.yAxis.scale !== t.chartSettings.yAxis.scale || (((s = a.primaryGrouping) == null ? void 0 : s.columnName.value) ?? "") !== (((i = t.primaryGrouping) == null ? void 0 : i.columnName.value) ?? "") || (((n = a.secondaryGrouping) == null ? void 0 : n.columnName.value) ?? "") !== (((l = t.secondaryGrouping) == null ? void 0 : l.columnName.value) ?? "") || (((r = a.primaryGrouping) == null ? void 0 : r.allowNullGroup) ?? "") !== (((u = t.primaryGrouping) == null ? void 0 : u.allowNullGroup) ?? "") || (((h = a.secondaryGrouping) == null ? void 0 : h.allowNullGroup) ?? "") !== (((d = t.secondaryGrouping) == null ? void 0 : d.allowNullGroup) ?? "") || a.facetBy.some((g, m) => {
|
|
92
93
|
var p;
|
|
93
94
|
return g.value !== ((p = t.facetBy[m]) == null ? void 0 : p.value);
|
|
94
95
|
}) || a.layers.length !== t.layers.length || a.layers.some((g, m) => !g.isEqualForCalculation(t.layers[m]));
|
|
@@ -101,12 +102,12 @@ class Et extends $ {
|
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
104
|
_updateData() {
|
|
104
|
-
const { chartSettings: a, y: t, keyColumn: s, facetBy: i, layers: n, facetSettings: l } = this.settings, { yAxis: r } = a, u = this.data.getColumn(t.value).every((e) => e === null || !(Number(e) < 0)),
|
|
105
|
-
if (!m &&
|
|
106
|
-
throw Error(`Too many primary groups (${
|
|
107
|
-
if (!m &&
|
|
108
|
-
throw Error(`Too many secondary groups (${
|
|
109
|
-
const p = i.length ?
|
|
105
|
+
const { chartSettings: a, y: t, keyColumn: s, facetBy: i, layers: n, facetSettings: l } = this.settings, { yAxis: r } = a, u = this.data.getColumn(t.value).every((e) => e === null || !(Number(e) < 0)), h = v(this.data, this.settings.primaryGrouping), d = v(this.data, this.settings.secondaryGrouping), g = i.map((e) => e.value), m = n.some((e) => e.type === "logo" || e.type === "bar");
|
|
106
|
+
if (!m && h.keys.length > G)
|
|
107
|
+
throw Error(`Too many primary groups (${h.keys.length})`);
|
|
108
|
+
if (!m && d.keys.length > G)
|
|
109
|
+
throw Error(`Too many secondary groups (${d.keys.length})`);
|
|
110
|
+
const p = i.length ? E(
|
|
110
111
|
i.map((e) => {
|
|
111
112
|
var y;
|
|
112
113
|
return w(this.data, e, (y = l == null ? void 0 : l.order) == null ? void 0 : y[e.value]);
|
|
@@ -114,47 +115,49 @@ class Et extends $ {
|
|
|
114
115
|
) : [[f]];
|
|
115
116
|
if (p.length > U)
|
|
116
117
|
throw Error(`Too many facets (${p.length})`);
|
|
117
|
-
this.data.setGrouping([...g,
|
|
118
|
+
this.data.setGrouping([...g, h.value, d.value]);
|
|
118
119
|
const c = {
|
|
119
120
|
facet: p,
|
|
120
|
-
primary:
|
|
121
|
-
secondary:
|
|
121
|
+
primary: h.value !== null ? h.keys : [f],
|
|
122
|
+
secondary: d.value !== null ? d.keys : [f]
|
|
122
123
|
}, _ = c.facet.reduce((e, y) => (e[L(y)] = c.primary.filter(
|
|
123
|
-
(
|
|
124
|
-
).map(String), e), {}),
|
|
124
|
+
(b) => this.data.getRowsByGrouping([...y, b]).length > 0
|
|
125
|
+
).map(String), e), {}), k = n.filter((e) => !(e instanceof S)).map((e) => {
|
|
125
126
|
if (e instanceof P)
|
|
126
|
-
return
|
|
127
|
+
return W(e, c, this.data, t, s, r);
|
|
127
128
|
if (e instanceof T)
|
|
128
|
-
return
|
|
129
|
+
return X(e, c, this.data, t, r);
|
|
129
130
|
if (e instanceof x)
|
|
130
|
-
return
|
|
131
|
+
return J(e, c, this.data, t, r, s);
|
|
131
132
|
if (e instanceof O)
|
|
132
|
-
return J(e, c, this.data, t, r);
|
|
133
|
-
if (e instanceof K)
|
|
134
133
|
return Q(e, c, this.data, t, r);
|
|
135
|
-
if (e instanceof
|
|
134
|
+
if (e instanceof K)
|
|
136
135
|
return Y(e, c, this.data, t, r);
|
|
136
|
+
if (e instanceof F)
|
|
137
|
+
return Z(e, c, this.data, t, r);
|
|
137
138
|
if (e instanceof I)
|
|
138
|
-
return
|
|
139
|
+
return tt(e, c, this.data, t);
|
|
139
140
|
if (e instanceof V)
|
|
140
|
-
return
|
|
141
|
+
return at(e, c, this.data, t);
|
|
142
|
+
if (e instanceof H)
|
|
143
|
+
return et(e, c, this.data, t, r);
|
|
141
144
|
if (e instanceof j)
|
|
142
|
-
return
|
|
145
|
+
return rt(e, c, this.data, t, r);
|
|
143
146
|
if (e instanceof q)
|
|
144
|
-
return
|
|
145
|
-
if (e instanceof
|
|
146
|
-
return
|
|
147
|
+
return z(e, c, this.data, t, r);
|
|
148
|
+
if (e instanceof M)
|
|
149
|
+
return st(e, c, this.data, t);
|
|
147
150
|
throw new Error("Unknown layer type");
|
|
148
|
-
}), N = n.filter((e) => e instanceof
|
|
149
|
-
if (
|
|
151
|
+
}), N = n.filter((e) => e instanceof S).map((e) => {
|
|
152
|
+
if (h.value === null)
|
|
150
153
|
throw new Error("Cannot calculate p-value without data grouping");
|
|
151
|
-
return
|
|
154
|
+
return it(e, c.facet, c.primary, t, this.data);
|
|
152
155
|
});
|
|
153
156
|
this.calculatedData = {
|
|
154
|
-
layersData:
|
|
157
|
+
layersData: k,
|
|
155
158
|
statsLayersData: N,
|
|
156
|
-
primaryGrouping:
|
|
157
|
-
secondaryGrouping:
|
|
159
|
+
primaryGrouping: h,
|
|
160
|
+
secondaryGrouping: d,
|
|
158
161
|
facetKeyLists: p,
|
|
159
162
|
nonEmptyGroupsByFacets: _,
|
|
160
163
|
onlyPositive: u
|
|
@@ -163,12 +166,12 @@ class Et extends $ {
|
|
|
163
166
|
_updateAesInData() {
|
|
164
167
|
if (this.calculatedData === null)
|
|
165
168
|
return;
|
|
166
|
-
const { layers: a, facetBy: t, primaryGrouping: s, secondaryGrouping: i, facetSettings: n } = this.settings, l = a.filter((r) => !(r instanceof
|
|
169
|
+
const { layers: a, facetBy: t, primaryGrouping: s, secondaryGrouping: i, facetSettings: n } = this.settings, l = a.filter((r) => !(r instanceof S));
|
|
167
170
|
for (let r = 0; r < l.length; r++) {
|
|
168
171
|
const u = l[r];
|
|
169
172
|
"aes" in u && (this.calculatedData.layersData[r].aes = u.aes);
|
|
170
173
|
}
|
|
171
|
-
this.calculatedData.primaryGrouping = v(this.data, s), this.calculatedData.secondaryGrouping = v(this.data, i), this.calculatedData.facetKeyLists = t.length ?
|
|
174
|
+
this.calculatedData.primaryGrouping = v(this.data, s), this.calculatedData.secondaryGrouping = v(this.data, i), this.calculatedData.facetKeyLists = t.length ? E(
|
|
172
175
|
t.map((r) => {
|
|
173
176
|
var u;
|
|
174
177
|
return w(this.data, r, (u = n == null ? void 0 : n.order) == null ? void 0 : u[r.value]);
|
|
@@ -198,6 +201,6 @@ class Et extends $ {
|
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
export {
|
|
201
|
-
|
|
204
|
+
Nt as ChartDiscrete
|
|
202
205
|
};
|
|
203
206
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/discrete/index.ts"],"sourcesContent":["import { intersection } from 'lodash';\nimport { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame, GroupKey } from '../DataFrame';\nimport { NO_GROUPED } from '../DataFrame';\nimport type { Category, ColumnName, DataValue, DiscreteEventHandlers, DiscreteSettings, GroupingData } from '../types';\nimport ChartRenderer from './ChartRenderer';\nimport { MAX_FACETS_COUNT, MAX_GROUPS_COUNT } from './constants';\nimport {\n BarLayer,\n BinnedDotsLayer,\n BoxLayer,\n DiscreteSettingsImpl,\n DotLayer,\n ErrorBarLayer,\n LineLayer,\n LogoPlotLayer,\n PairedPointsLayer,\n SinaLayer,\n StackedBarLayer,\n StatLayer,\n ViolinLayer,\n} from './DiscreteSettingsImpl';\nimport {\n getBarsData,\n getBinnedDotsData,\n getBoxesData,\n getDotsData,\n getErrorBarsData,\n getLinesData,\n getPairedPointsData,\n getSinaData,\n getStackedBarsData,\n getStatsData,\n getViolinsData,\n} from './layers';\nimport { getLogoData } from './layers/logo';\nimport type { LayerData, StatsData } from './layers/types';\nimport { getFacetStringKey } from './utils/getFacetStringKey';\n\nfunction getGroupingKeys(data: DataFrame, column: ColumnName, order: DataValue[] | null = null) {\n const groupingColumn = column.value;\n const availableKeys = data.getColumnCategories(groupingColumn);\n return intersection(order ?? availableKeys, availableKeys).map(String);\n}\n\n// all combinations with 1 key from each list\nfunction getKeysCombinations(keysLists: string[][]) {\n if (!keysLists.length) {\n return [];\n }\n let result: string[][] = [[]];\n keysLists.forEach(keys => {\n const nextResult: string[][] = [];\n keys.forEach(key => {\n nextResult.push(...result.map(resultItem => [...resultItem, key]));\n });\n result = nextResult;\n });\n return result;\n}\n\nfunction getGroupingData(\n data: DataFrame,\n grouping: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping']\n): GroupingData {\n if (!grouping) {\n return {\n keys: ['null'],\n value: null,\n label: '',\n valueLabels: {null: ''},\n inheritedAes: null,\n };\n }\n\n const groupingColumnId = grouping.columnName.value;\n const groupingColumnLabelId = grouping.columnName.valueLabels;\n const categories = data.getColumnCategories(groupingColumnId, false);\n const getValueLabel = (category: Category) => {\n return groupingColumnLabelId \n ? String(\n data.getColumnValue(\n groupingColumnLabelId,\n data.getColumnCategoryRowIndex(groupingColumnId, category)\n )\n )\n : category;\n };\n \n const keys = data.getColumnCategories(groupingColumnId, !grouping.allowNullGroup);\n const orderedKeys = grouping.order === undefined ? keys : intersection(grouping.order.map(String), keys);\n\n return {\n keys: orderedKeys,\n value: groupingColumnId,\n label: grouping.columnName.label ?? groupingColumnId,\n valueLabels: categories.reduce((res: Record<string, string>, category: Category) => {\n res[category] = getValueLabel(category);\n return res;\n }, {}),\n inheritedAes: grouping.inheritedAes ?? null,\n };\n}\n\nexport class ChartDiscrete extends AbstractChart {\n settings: DiscreteSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n layersData: LayerData[];\n statsLayersData: StatsData[];\n primaryGrouping: GroupingData;\n secondaryGrouping: GroupingData;\n facetKeyLists: GroupKey[][];\n nonEmptyGroupsByFacets: Record<string, string[]>;\n onlyPositive: boolean;\n } | null = null;\n\n constructor(data: DataFrame, settings: DiscreteSettings, eventHandlers?: DiscreteEventHandlers) {\n super(data, settings);\n\n this.settings = new DiscreteSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: DiscreteSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new DiscreteSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for discrete');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: DiscreteSettingsImpl, settings: DiscreteSettingsImpl) {\n return (\n prevSettings.chartSettings.yAxis.scale !== settings.chartSettings.yAxis.scale ||\n (prevSettings.primaryGrouping?.columnName.value ?? '') !==\n (settings.primaryGrouping?.columnName.value ?? '') ||\n (prevSettings.secondaryGrouping?.columnName.value ?? '') !==\n (settings.secondaryGrouping?.columnName.value ?? '') ||\n (prevSettings.primaryGrouping?.allowNullGroup ?? '') !==\n (settings.primaryGrouping?.allowNullGroup ?? '') ||\n (prevSettings.secondaryGrouping?.allowNullGroup ?? '') !==\n (settings.secondaryGrouping?.allowNullGroup ?? '') ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => !l.isEqualForCalculation(settings.layers[idx] as typeof l))\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {chartSettings, y, keyColumn, facetBy, layers, facetSettings} = this.settings;\n const {yAxis} = chartSettings;\n\n const onlyPositive = this.data.getColumn(y.value).every(v => {\n return v === null || !(Number(v) < 0);\n });\n // console.info('only positive Y:', onlyPositive);\n\n const primaryGrouping = getGroupingData(this.data, this.settings.primaryGrouping);\n const secondaryGrouping = getGroupingData(this.data, this.settings.secondaryGrouping);\n const facetGroupingValues = facetBy.map(column => column.value);\n const hasLogoOrBarLayer = layers.some(l => l.type === 'logo' || l.type === 'bar');\n\n if (!hasLogoOrBarLayer && primaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n throw Error(`Too many primary groups (${primaryGrouping.keys.length})`);\n }\n if (!hasLogoOrBarLayer && secondaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n throw Error(`Too many secondary groups (${secondaryGrouping.keys.length})`);\n }\n\n // if facet created by more than 1 data column facet key contains all of them, and all keys are used in data grouping;\n // after data preparing we need only complex keys from concatenated strings\n const facetKeyLists:(GroupKey)[][] = facetBy.length\n ? getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n )\n : [[NO_GROUPED]];\n\n if (facetKeyLists.length > MAX_FACETS_COUNT) {\n throw Error(`Too many facets (${facetKeyLists.length})`);\n }\n this.data.setGrouping([...facetGroupingValues, primaryGrouping.value, secondaryGrouping.value]);\n const groupingKeys = {\n facet: facetKeyLists,\n primary: (primaryGrouping.value !== null ? primaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n secondary: (secondaryGrouping.value !== null ? secondaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n };\n\n const nonEmptyGroupsByFacets = groupingKeys.facet.reduce((res: Record<string, string[]>, facetKey) => {\n res[getFacetStringKey(facetKey)] = groupingKeys.primary.filter(\n primaryKey => this.data.getRowsByGrouping([...facetKey, primaryKey]).length > 0\n ).map(String);\n return res;\n }, {});\n\n const layersData = layers\n .filter(layer => !(layer instanceof StatLayer))\n .map(layer => {\n if (layer instanceof BoxLayer) {\n return getBoxesData(layer, groupingKeys, this.data, y, keyColumn, yAxis);\n }\n if (layer instanceof ViolinLayer) {\n return getViolinsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof DotLayer) {\n return getDotsData(layer, groupingKeys, this.data, y, yAxis, keyColumn);\n }\n if (layer instanceof LineLayer) {\n return getLinesData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof ErrorBarLayer) {\n return getErrorBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof BarLayer) {\n return getBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof StackedBarLayer) {\n return getStackedBarsData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof BinnedDotsLayer) {\n return getBinnedDotsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof PairedPointsLayer) {\n return getPairedPointsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof SinaLayer) {\n return getSinaData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof LogoPlotLayer) {\n return getLogoData(layer, groupingKeys, this.data, y);\n }\n throw new Error('Unknown layer type');\n });\n const statsLayersData = layers\n .filter(layer => layer instanceof StatLayer)\n .map(layer => {\n if (primaryGrouping.value === null) {\n throw new Error('Cannot calculate p-value without data grouping');\n }\n return getStatsData(layer as StatLayer, groupingKeys.facet, groupingKeys.primary, y, this.data);\n });\n this.calculatedData = {\n layersData,\n statsLayersData,\n primaryGrouping,\n secondaryGrouping,\n facetKeyLists,\n nonEmptyGroupsByFacets,\n onlyPositive,\n };\n }\n\n _updateAesInData() {\n if (this.calculatedData === null) {\n return;\n }\n const {layers, facetBy, primaryGrouping, secondaryGrouping, facetSettings} = this.settings;\n\n // updating aes in layers (except for stat layers with p-value), layers data is not recalculating\n const noStatLayers = layers.filter(layer => !(layer instanceof StatLayer));\n for (let i = 0; i < noStatLayers.length; i++) {\n const layer = noStatLayers[i];\n if ('aes' in layer) {\n this.calculatedData.layersData[i].aes = layer.aes;\n }\n }\n\n // updating grouping to update linked aes\n this.calculatedData.primaryGrouping = getGroupingData(this.data, primaryGrouping);\n this.calculatedData.secondaryGrouping = getGroupingData(this.data, secondaryGrouping);\n\n // updating for possibly changed facetSettings.order\n this.calculatedData.facetKeyLists = facetBy.length\n ? getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n )\n : [[NO_GROUPED]];\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {id, chartSettings, keyColumn, facetSettings} = this.settings;\n\n const facetKeys = this.calculatedData.facetKeyLists.map(getFacetStringKey);\n const facetLabels = this.calculatedData.facetKeyLists.map(v => v.map(v => v === NO_GROUPED ? 'null' : v)) as string[][];\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n this.calculatedData.primaryGrouping,\n this.calculatedData.secondaryGrouping,\n facetSettings,\n facetKeys,\n facetLabels,\n this.calculatedData.layersData,\n this.calculatedData.statsLayersData,\n keyColumn,\n this.calculatedData.nonEmptyGroupsByFacets,\n this.calculatedData.onlyPositive,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getGroupingKeys","data","column","order","groupingColumn","availableKeys","intersection","getKeysCombinations","keysLists","result","keys","nextResult","key","resultItem","getGroupingData","grouping","groupingColumnId","groupingColumnLabelId","categories","getValueLabel","category","res","ChartDiscrete","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","DiscreteSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","_a","_b","_c","_d","_e","_f","_g","_h","el","idx","l","prevData","prevKeys","i","chartSettings","y","keyColumn","facetBy","layers","facetSettings","yAxis","onlyPositive","v","primaryGrouping","secondaryGrouping","facetGroupingValues","hasLogoOrBarLayer","MAX_GROUPS_COUNT","facetKeyLists","NO_GROUPED","MAX_FACETS_COUNT","groupingKeys","nonEmptyGroupsByFacets","facetKey","getFacetStringKey","primaryKey","layersData","layer","StatLayer","BoxLayer","getBoxesData","ViolinLayer","getViolinsData","DotLayer","getDotsData","LineLayer","getLinesData","ErrorBarLayer","getErrorBarsData","BarLayer","getBarsData","StackedBarLayer","getStackedBarsData","BinnedDotsLayer","getBinnedDotsData","PairedPointsLayer","getPairedPointsData","SinaLayer","getSinaData","LogoPlotLayer","getLogoData","statsLayersData","getStatsData","noStatLayers","id","facetKeys","facetLabels"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/discrete/index.ts"],"sourcesContent":["import { intersection } from 'lodash';\nimport { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame, GroupKey } from '../DataFrame';\nimport { NO_GROUPED } from '../DataFrame';\nimport type { Category, ColumnName, DataValue, DiscreteEventHandlers, DiscreteSettings, GroupingData } from '../types';\nimport ChartRenderer from './ChartRenderer';\nimport { MAX_FACETS_COUNT, MAX_GROUPS_COUNT } from './constants';\nimport {\n BarLayer,\n BinnedDotsLayer,\n BoxLayer,\n DiscreteSettingsImpl,\n DotLayer,\n ErrorBarLayer,\n LineLayer,\n LogoPlotLayer,\n PairedPointsLayer,\n SinaLayer, StackedAreaLayer,\n StackedBarLayer,\n StatLayer,\n ViolinLayer,\n} from './DiscreteSettingsImpl';\nimport {\n getBarsData,\n getBinnedDotsData,\n getBoxesData,\n getDotsData,\n getErrorBarsData,\n getLinesData,\n getPairedPointsData,\n getSinaData,\n getStackedBarsData,\n getStatsData,\n getViolinsData,\n} from './layers';\nimport { getLogoData } from './layers/logo';\nimport {getStackedAreaData} from './layers/stackedArea';\nimport type { LayerData, StatsData } from './layers/types';\nimport { getFacetStringKey } from './utils/getFacetStringKey';\n\nfunction getGroupingKeys(data: DataFrame, column: ColumnName, order: DataValue[] | null = null) {\n const groupingColumn = column.value;\n const availableKeys = data.getColumnCategories(groupingColumn);\n return intersection(order ?? availableKeys, availableKeys).map(String);\n}\n\n// all combinations with 1 key from each list\nfunction getKeysCombinations(keysLists: string[][]) {\n if (!keysLists.length) {\n return [];\n }\n let result: string[][] = [[]];\n keysLists.forEach(keys => {\n const nextResult: string[][] = [];\n keys.forEach(key => {\n nextResult.push(...result.map(resultItem => [...resultItem, key]));\n });\n result = nextResult;\n });\n return result;\n}\n\nfunction getGroupingData(\n data: DataFrame,\n grouping: DiscreteSettingsImpl['primaryGrouping' | 'secondaryGrouping']\n): GroupingData {\n if (!grouping) {\n return {\n keys: ['null'],\n value: null,\n label: '',\n valueLabels: {null: ''},\n inheritedAes: null,\n };\n }\n\n const groupingColumnId = grouping.columnName.value;\n const groupingColumnLabelId = grouping.columnName.valueLabels;\n const categories = data.getColumnCategories(groupingColumnId, false);\n const getValueLabel = (category: Category) => {\n return groupingColumnLabelId \n ? String(\n data.getColumnValue(\n groupingColumnLabelId,\n data.getColumnCategoryRowIndex(groupingColumnId, category)\n )\n )\n : category;\n };\n \n const keys = data.getColumnCategories(groupingColumnId, !grouping.allowNullGroup);\n const orderedKeys = grouping.order === undefined ? keys : intersection(grouping.order.map(String), keys);\n\n return {\n keys: orderedKeys,\n value: groupingColumnId,\n label: grouping.columnName.label ?? groupingColumnId,\n valueLabels: categories.reduce((res: Record<string, string>, category: Category) => {\n res[category] = getValueLabel(category);\n return res;\n }, {}),\n inheritedAes: grouping.inheritedAes ?? null,\n };\n}\n\nexport class ChartDiscrete extends AbstractChart {\n settings: DiscreteSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n layersData: LayerData[];\n statsLayersData: StatsData[];\n primaryGrouping: GroupingData;\n secondaryGrouping: GroupingData;\n facetKeyLists: GroupKey[][];\n nonEmptyGroupsByFacets: Record<string, string[]>;\n onlyPositive: boolean;\n } | null = null;\n\n constructor(data: DataFrame, settings: DiscreteSettings, eventHandlers?: DiscreteEventHandlers) {\n super(data, settings);\n\n this.settings = new DiscreteSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: DiscreteSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new DiscreteSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for discrete');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: DiscreteSettingsImpl, settings: DiscreteSettingsImpl) {\n return (\n prevSettings.chartSettings.yAxis.scale !== settings.chartSettings.yAxis.scale ||\n (prevSettings.primaryGrouping?.columnName.value ?? '') !==\n (settings.primaryGrouping?.columnName.value ?? '') ||\n (prevSettings.secondaryGrouping?.columnName.value ?? '') !==\n (settings.secondaryGrouping?.columnName.value ?? '') ||\n (prevSettings.primaryGrouping?.allowNullGroup ?? '') !==\n (settings.primaryGrouping?.allowNullGroup ?? '') ||\n (prevSettings.secondaryGrouping?.allowNullGroup ?? '') !==\n (settings.secondaryGrouping?.allowNullGroup ?? '') ||\n prevSettings.facetBy.some((el, idx) => el.value !== settings.facetBy[idx]?.value) ||\n prevSettings.layers.length !== settings.layers.length ||\n prevSettings.layers.some((l, idx) => !l.isEqualForCalculation(settings.layers[idx] as typeof l))\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {chartSettings, y, keyColumn, facetBy, layers, facetSettings} = this.settings;\n const {yAxis} = chartSettings;\n\n const onlyPositive = this.data.getColumn(y.value).every(v => {\n return v === null || !(Number(v) < 0);\n });\n // console.info('only positive Y:', onlyPositive);\n\n const primaryGrouping = getGroupingData(this.data, this.settings.primaryGrouping);\n const secondaryGrouping = getGroupingData(this.data, this.settings.secondaryGrouping);\n const facetGroupingValues = facetBy.map(column => column.value);\n const hasLogoOrBarLayer = layers.some(l => l.type === 'logo' || l.type === 'bar');\n\n if (!hasLogoOrBarLayer && primaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n throw Error(`Too many primary groups (${primaryGrouping.keys.length})`);\n }\n if (!hasLogoOrBarLayer && secondaryGrouping.keys.length > MAX_GROUPS_COUNT) {\n throw Error(`Too many secondary groups (${secondaryGrouping.keys.length})`);\n }\n\n // if facet created by more than 1 data column facet key contains all of them, and all keys are used in data grouping;\n // after data preparing we need only complex keys from concatenated strings\n const facetKeyLists:(GroupKey)[][] = facetBy.length\n ? getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n )\n : [[NO_GROUPED]];\n\n if (facetKeyLists.length > MAX_FACETS_COUNT) {\n throw Error(`Too many facets (${facetKeyLists.length})`);\n }\n this.data.setGrouping([...facetGroupingValues, primaryGrouping.value, secondaryGrouping.value]);\n const groupingKeys = {\n facet: facetKeyLists,\n primary: (primaryGrouping.value !== null ? primaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n secondary: (secondaryGrouping.value !== null ? secondaryGrouping.keys : [NO_GROUPED]) as GroupKey[],\n };\n\n const nonEmptyGroupsByFacets = groupingKeys.facet.reduce((res: Record<string, string[]>, facetKey) => {\n res[getFacetStringKey(facetKey)] = groupingKeys.primary.filter(\n primaryKey => this.data.getRowsByGrouping([...facetKey, primaryKey]).length > 0\n ).map(String);\n return res;\n }, {});\n\n const layersData = layers\n .filter(layer => !(layer instanceof StatLayer))\n .map(layer => {\n if (layer instanceof BoxLayer) {\n return getBoxesData(layer, groupingKeys, this.data, y, keyColumn, yAxis);\n }\n if (layer instanceof ViolinLayer) {\n return getViolinsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof DotLayer) {\n return getDotsData(layer, groupingKeys, this.data, y, yAxis, keyColumn);\n }\n if (layer instanceof LineLayer) {\n return getLinesData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof ErrorBarLayer) {\n return getErrorBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof BarLayer) {\n return getBarsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof StackedBarLayer) {\n return getStackedBarsData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof StackedAreaLayer) {\n return getStackedAreaData(layer, groupingKeys, this.data, y);\n }\n if (layer instanceof BinnedDotsLayer) {\n return getBinnedDotsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof PairedPointsLayer) {\n return getPairedPointsData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof SinaLayer) {\n return getSinaData(layer, groupingKeys, this.data, y, yAxis);\n }\n if (layer instanceof LogoPlotLayer) {\n return getLogoData(layer, groupingKeys, this.data, y);\n }\n throw new Error('Unknown layer type');\n });\n const statsLayersData = layers\n .filter(layer => layer instanceof StatLayer)\n .map(layer => {\n if (primaryGrouping.value === null) {\n throw new Error('Cannot calculate p-value without data grouping');\n }\n return getStatsData(layer as StatLayer, groupingKeys.facet, groupingKeys.primary, y, this.data);\n });\n this.calculatedData = {\n layersData,\n statsLayersData,\n primaryGrouping,\n secondaryGrouping,\n facetKeyLists,\n nonEmptyGroupsByFacets,\n onlyPositive,\n };\n }\n\n _updateAesInData() {\n if (this.calculatedData === null) {\n return;\n }\n const {layers, facetBy, primaryGrouping, secondaryGrouping, facetSettings} = this.settings;\n\n // updating aes in layers (except for stat layers with p-value), layers data is not recalculating\n const noStatLayers = layers.filter(layer => !(layer instanceof StatLayer));\n for (let i = 0; i < noStatLayers.length; i++) {\n const layer = noStatLayers[i];\n if ('aes' in layer) {\n this.calculatedData.layersData[i].aes = layer.aes;\n }\n }\n\n // updating grouping to update linked aes\n this.calculatedData.primaryGrouping = getGroupingData(this.data, primaryGrouping);\n this.calculatedData.secondaryGrouping = getGroupingData(this.data, secondaryGrouping);\n\n // updating for possibly changed facetSettings.order\n this.calculatedData.facetKeyLists = facetBy.length\n ? getKeysCombinations(\n facetBy.map(column => getGroupingKeys(this.data, column, facetSettings?.order?.[column.value]))\n )\n : [[NO_GROUPED]];\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {id, chartSettings, keyColumn, facetSettings} = this.settings;\n\n const facetKeys = this.calculatedData.facetKeyLists.map(getFacetStringKey);\n const facetLabels = this.calculatedData.facetKeyLists.map(v => v.map(v => v === NO_GROUPED ? 'null' : v)) as string[][];\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n this.calculatedData.primaryGrouping,\n this.calculatedData.secondaryGrouping,\n facetSettings,\n facetKeys,\n facetLabels,\n this.calculatedData.layersData,\n this.calculatedData.statsLayersData,\n keyColumn,\n this.calculatedData.nonEmptyGroupsByFacets,\n this.calculatedData.onlyPositive,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["getGroupingKeys","data","column","order","groupingColumn","availableKeys","intersection","getKeysCombinations","keysLists","result","keys","nextResult","key","resultItem","getGroupingData","grouping","groupingColumnId","groupingColumnLabelId","categories","getValueLabel","category","res","ChartDiscrete","AbstractChart","settings","eventHandlers","__publicField","ChartRenderer","DiscreteSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","_a","_b","_c","_d","_e","_f","_g","_h","el","idx","l","prevData","prevKeys","i","chartSettings","y","keyColumn","facetBy","layers","facetSettings","yAxis","onlyPositive","v","primaryGrouping","secondaryGrouping","facetGroupingValues","hasLogoOrBarLayer","MAX_GROUPS_COUNT","facetKeyLists","NO_GROUPED","MAX_FACETS_COUNT","groupingKeys","nonEmptyGroupsByFacets","facetKey","getFacetStringKey","primaryKey","layersData","layer","StatLayer","BoxLayer","getBoxesData","ViolinLayer","getViolinsData","DotLayer","getDotsData","LineLayer","getLinesData","ErrorBarLayer","getErrorBarsData","BarLayer","getBarsData","StackedBarLayer","getStackedBarsData","StackedAreaLayer","getStackedAreaData","BinnedDotsLayer","getBinnedDotsData","PairedPointsLayer","getPairedPointsData","SinaLayer","getSinaData","LogoPlotLayer","getLogoData","statsLayersData","getStatsData","noStatLayers","id","facetKeys","facetLabels"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getStackedBarsData as o } from "./stackedBar.js";
|
|
2
|
+
function c(a, t, s, r) {
|
|
3
|
+
const e = o(a, t, s, r);
|
|
4
|
+
return {
|
|
5
|
+
type: "stackedArea",
|
|
6
|
+
geoms: e.geoms,
|
|
7
|
+
meta: {
|
|
8
|
+
...e.meta,
|
|
9
|
+
showBars: a.showBars
|
|
10
|
+
},
|
|
11
|
+
aes: a.aes
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
c as getStackedAreaData
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=stackedArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stackedArea.js","sources":["../../../../../../../node_modules/@milaboratories/miplots4/src/discrete/layers/stackedArea.ts"],"sourcesContent":["import type { DataFrame, GroupKey } from '../../DataFrame';\nimport type {ColumnName} from '../../types';\nimport type { StackedAreaLayer, StackedBarLayer } from '../DiscreteSettingsImpl';\nimport { getStackedBarsData } from './stackedBar';\nimport type { StackedAreaData } from './types';\n\nexport function getStackedAreaData(\n layer: StackedAreaLayer,\n groupingKeys: {\n facet: GroupKey[][],\n primary: GroupKey[],\n secondary: GroupKey[]\n },\n data: DataFrame,\n y: ColumnName,\n): StackedAreaData {\n const stackedBars = getStackedBarsData(layer as unknown as StackedBarLayer, groupingKeys, data, y);\n return {\n type: 'stackedArea',\n geoms: stackedBars.geoms,\n meta: {\n ...stackedBars.meta,\n showBars: layer.showBars\n },\n aes: layer.aes,\n };\n}\n"],"names":["getStackedAreaData","layer","groupingKeys","data","y","stackedBars","getStackedBarsData"],"mappings":";AAMO,SAASA,EACZC,GACAC,GAKAC,GACAC,GACe;AACf,QAAMC,IAAcC,EAAmBL,GAAqCC,GAAcC,GAAMC,CAAC;AACjG,SAAO;AAAA,IACH,MAAM;AAAA,IACN,OAAOC,EAAY;AAAA,IACnB,MAAM;AAAA,MACF,GAAGA,EAAY;AAAA,MACf,UAAUJ,EAAM;AAAA,IAAA;AAAA,IAEpB,KAAKA,EAAM;AAAA,EAAA;AAEnB;","x_google_ignoreList":[0]}
|
|
@@ -144,7 +144,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
|
|
|
144
144
|
opacity: o.optional(o.number().min(0).max(1))
|
|
145
145
|
})
|
|
146
146
|
)
|
|
147
|
-
}),
|
|
147
|
+
}), W = o.object({
|
|
148
148
|
type: o.literal("sina"),
|
|
149
149
|
aes: o.optional(
|
|
150
150
|
o.object({
|
|
@@ -155,7 +155,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
|
|
|
155
155
|
opacity: o.optional(o.number().min(0).max(1))
|
|
156
156
|
})
|
|
157
157
|
)
|
|
158
|
-
}),
|
|
158
|
+
}), z = o.object({
|
|
159
159
|
type: o.literal("logo"),
|
|
160
160
|
normalize: o.optional(o.boolean()),
|
|
161
161
|
aes: o.optional(
|
|
@@ -166,24 +166,38 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
|
|
|
166
166
|
opacity: o.optional(o.number().min(0).max(1))
|
|
167
167
|
})
|
|
168
168
|
)
|
|
169
|
-
}), k =
|
|
169
|
+
}), k = o.object({
|
|
170
|
+
type: o.literal("stackedArea"),
|
|
171
|
+
normalize: o.optional(o.boolean()),
|
|
172
|
+
showBars: o.optional(o.boolean()),
|
|
173
|
+
aes: o.optional(
|
|
174
|
+
o.object({
|
|
175
|
+
barWidth: o.optional(o.number()),
|
|
176
|
+
lineColor: o.optional(o.union([n, o.string()])),
|
|
177
|
+
fillColor: o.optional(o.union([n, o.string()])),
|
|
178
|
+
lineWidth: o.optional(o.number()),
|
|
179
|
+
barsOpacity: o.optional(o.number().min(0).max(1)),
|
|
180
|
+
areaOpacity: o.optional(o.number().min(0).max(1))
|
|
181
|
+
})
|
|
182
|
+
)
|
|
183
|
+
}), O = ["ttest", "anova", "wilcoxon", "kruskalWallis"], B = [
|
|
170
184
|
"BenjaminiHochberg",
|
|
171
185
|
"BenjaminiYekutieli",
|
|
172
186
|
"Bonferroni",
|
|
173
187
|
"Hochberg",
|
|
174
188
|
"Holm",
|
|
175
189
|
"Hommel"
|
|
176
|
-
],
|
|
190
|
+
], A = o.enum(O), G = o.enum(B), P = o.object({ one: o.number(), two: o.number(), three: o.number() }), v = o.object({
|
|
177
191
|
type: o.literal("stat"),
|
|
178
192
|
statType: o.enum(["overall", "referenceGroup", "pairwise"]),
|
|
179
|
-
testMethod:
|
|
193
|
+
testMethod: A,
|
|
180
194
|
paired: o.optional(o.boolean()),
|
|
181
195
|
ns: o.optional(o.boolean()),
|
|
182
196
|
format: o.optional(o.enum(["significance", "pValue"])),
|
|
183
197
|
referenceGroup: o.optional(a),
|
|
184
198
|
correctionMethod: o.optional(G),
|
|
185
199
|
significanceLevels: o.optional(P)
|
|
186
|
-
}),
|
|
200
|
+
}), L = o.union([
|
|
187
201
|
u,
|
|
188
202
|
c,
|
|
189
203
|
h,
|
|
@@ -193,10 +207,11 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
|
|
|
193
207
|
x,
|
|
194
208
|
C,
|
|
195
209
|
f,
|
|
196
|
-
z,
|
|
197
210
|
W,
|
|
211
|
+
z,
|
|
212
|
+
k,
|
|
198
213
|
v
|
|
199
|
-
]),
|
|
214
|
+
]), D = ["horizontal", "vertical"], $ = o.enum(D), H = o.object({
|
|
200
215
|
type: o.literal("discrete"),
|
|
201
216
|
title: o.object({
|
|
202
217
|
name: o.string(),
|
|
@@ -264,7 +279,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
|
|
|
264
279
|
),
|
|
265
280
|
xAxis: o.optional(l),
|
|
266
281
|
yAxis: o.optional(l),
|
|
267
|
-
layers: o.array(
|
|
282
|
+
layers: o.array(L)
|
|
268
283
|
});
|
|
269
284
|
export {
|
|
270
285
|
H as DiscreteSettingsSchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discrete.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/discrete.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n AxisSettingsSchema,\n ColumnNameSchema,\n DataValueSchema,\n FrameTypeSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nexport type InheritAesDiscrete = {type: 'primaryGrouping' | 'secondaryGrouping'};\nconst InheritAesSchema = z.object({type: z.enum(['primaryGrouping', 'secondaryGrouping'])});\n\nconst BoxLayerSchema = z.object({\n type: z.literal('box'),\n stat: z.optional(\n z.object({\n upper: z.optional(z.number().min(0).max(1)),\n middle: z.optional(z.number().min(0).max(1)),\n lower: z.optional(z.number().min(0).max(1)),\n k: z.optional(z.number()),\n })\n ),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n outliersShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n outliersSize: z.optional(z.union([InheritAesSchema, z.number()])),\n outliersColor: z.optional(z.union([InheritAesSchema, z.string()])),\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BoxLayer = z.infer<typeof BoxLayerSchema>;\n\nconst ViolinLayerSchema = z.object({\n type: z.literal('violin'),\n stat: z.optional(\n z.object({\n bandwidth: z.optional(z.number()),\n trim: z.optional(z.boolean()),\n })\n ),\n aes: z.optional(\n z.object({\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n showQuartiles: z.optional(z.boolean()),\n medianLineStyle: z.optional(LineShapeSchema),\n quartilesLineStyle: z.optional(LineShapeSchema),\n })\n ),\n});\nexport type ViolinLayer = z.infer<typeof ViolinLayerSchema>;\n\nconst DotLayerSchema = z.object({\n type: z.literal('dot'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n jitter: z.optional(z.number().min(0).max(1)),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type DotLayer = z.infer<typeof DotLayerSchema>;\n\nconst SUMMARY_GROUP_VALUE = ['mean', 'median'] as const;\nconst SUMMARY_ERROR_VALUE = ['sd', 'se', 'ci'] as const;\n\nconst SummaryGroupSchema = z.enum(SUMMARY_GROUP_VALUE);\nconst SummaryErrorSchema = z.enum(SUMMARY_ERROR_VALUE);\n\nexport type SummaryGroupValue = z.infer<typeof SummaryGroupSchema>;\nexport type SummaryErrorValue = z.infer<typeof SummaryErrorSchema>;\n\nconst LineLayerSchema = z.object({\n type: z.literal('line'),\n pointsValues: SummaryGroupSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineShape: z.optional(z.union([InheritAesSchema, LineShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LineLayer = z.infer<typeof LineLayerSchema>;\n\nconst ErrorBarLayerSchema = z.object({\n type: z.literal('errorbar'),\n pointsValues: SummaryGroupSchema,\n interval: SummaryErrorSchema,\n aes: z.optional(\n z.object({\n showDots: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type ErrorBarLayer = z.infer<typeof ErrorBarLayerSchema>;\n\nconst BarLayerSchema = z.object({\n type: z.literal('bar'),\n height: z.optional(z.enum(['min', 'max', 'median', 'mean'])),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BarLayer = z.infer<typeof BarLayerSchema>;\n\nconst StackedBarLayerSchema = z.object({\n type: z.literal('stackedBar'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedBarLayer = z.infer<typeof StackedBarLayerSchema>;\n\nconst BinnedDotsLayerSchema = z.object({\n type: z.literal('binnedDots'),\n method: z.optional(z.enum(['dotdensity', 'histodot'])),\n position: z.optional(z.enum(['stack', 'jitter'])),\n keyColumn: z.optional(ColumnNameSchema),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BinnedDotsLayer = z.infer<typeof BinnedDotsLayerSchema>;\n\nconst PairedPointsLayerSchema = z.object({\n type: z.literal('pairedPoints'),\n linkColumn: ColumnNameSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(PointShapeSchema),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type PairedPointsLayer = z.infer<typeof PairedPointsLayerSchema>;\n\n// geom_sina - jittered dots in violin shape\nconst SinaLayerSchema = z.object({\n type: z.literal('sina'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type SinaLayer = z.infer<typeof SinaLayerSchema>;\n\nconst LogoPlotLayerSchema = z.object({\n type: z.literal('logo'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.string()),\n fillColor: z.optional(z.union([z.record(z.string()), z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LogoPlotLayer = z.infer<typeof LogoPlotLayerSchema>;\n\nconst STAT_TEST_METHOD = ['ttest', 'anova', 'wilcoxon', 'kruskalWallis'] as const;\nconst P_VALUE_CORRECTION_METHOD = [\n 'BenjaminiHochberg',\n 'BenjaminiYekutieli',\n 'Bonferroni',\n 'Hochberg',\n 'Holm',\n 'Hommel',\n] as const;\n\nconst StatTestMethodSchema = z.enum(STAT_TEST_METHOD);\nconst PValueCorrectionMethodSchema = z.enum(P_VALUE_CORRECTION_METHOD);\nconst SignificanceLevelsSchema = z.object({one: z.number(), two: z.number(), three: z.number()});\n\nexport type StatTestMethod = z.infer<typeof StatTestMethodSchema>;\nexport type PValueCorrectionMethod = z.infer<typeof PValueCorrectionMethodSchema>;\nexport type SignificanceLevels = z.infer<typeof SignificanceLevelsSchema>;\n\nconst StatLayerSchema = z.object({\n type: z.literal('stat'),\n statType: z.enum(['overall', 'referenceGroup', 'pairwise']),\n testMethod: StatTestMethodSchema,\n paired: z.optional(z.boolean()),\n ns: z.optional(z.boolean()),\n format: z.optional(z.enum(['significance', 'pValue'])),\n referenceGroup: z.optional(DataValueSchema),\n correctionMethod: z.optional(PValueCorrectionMethodSchema),\n significanceLevels: z.optional(SignificanceLevelsSchema)\n});\nexport type StatLayer = z.infer<typeof StatLayerSchema>;\n\nconst DiscreteLayerSchema = z.union([\n BoxLayerSchema,\n ViolinLayerSchema,\n DotLayerSchema,\n LineLayerSchema,\n ErrorBarLayerSchema,\n BarLayerSchema,\n StackedBarLayerSchema,\n BinnedDotsLayerSchema,\n PairedPointsLayerSchema,\n SinaLayerSchema,\n LogoPlotLayerSchema,\n StatLayerSchema\n]);\nexport type DiscreteLayer = z.infer<typeof DiscreteLayerSchema>;\n\nconst ORIENTATION = ['horizontal', 'vertical'] as const;\nconst OrientationSchema = z.enum(ORIENTATION);\nexport type Orientation = z.infer<typeof OrientationSchema>;\n\nexport const DiscreteSettingsSchema = z.object({\n type: z.literal('discrete'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n y: ColumnNameSchema,\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n tooltips: z.optional(\n z.object({\n box: z.optional(z.object({show: z.boolean()})),\n violin: z.optional(z.object({show: z.boolean()})),\n boxOutliers: z.optional(z.object({show: z.boolean()})),\n line: z.optional(z.object({show: z.boolean()})),\n dot: z.optional(z.object({show: z.boolean()})),\n errorBar: z.optional(z.object({show: z.boolean()})),\n binnedDots: z.optional(z.object({show: z.boolean()})),\n pairedPoints: z.optional(z.object({show: z.boolean()})),\n stackedBar: z.optional(z.object({show: z.boolean()})),\n logo: z.optional(z.object({show: z.boolean()})),\n })\n ),\n frame: z.optional(z.object({type: z.optional(FrameTypeSchema)})),\n orientation: z.optional(OrientationSchema),\n keyColumn: z.optional(ColumnNameSchema),\n primaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n secondaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n facetSettings: z.optional(\n z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n order: z.optional(z.record(z.array(DataValueSchema))),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n titlePosition: z.optional(TitlePositionSchema),\n })\n ),\n xAxis: z.optional(AxisSettingsSchema),\n yAxis: z.optional(AxisSettingsSchema),\n layers: z.array(DiscreteLayerSchema),\n});\n\nexport type DiscreteSettings = z.infer<typeof DiscreteSettingsSchema>;\n\nexport type GroupingData = {\n value: string | null,\n keys: string[],\n label: string,\n valueLabels: Record<string, string>,\n inheritedAes: z.infer<typeof AesRecordSchema> | null\n}\n"],"names":["InheritAesSchema","z","BoxLayerSchema","PointShapeSchema","LineShapeSchema","ViolinLayerSchema","DotLayerSchema","SUMMARY_GROUP_VALUE","SUMMARY_ERROR_VALUE","SummaryGroupSchema","SummaryErrorSchema","LineLayerSchema","ErrorBarLayerSchema","BarLayerSchema","StackedBarLayerSchema","BinnedDotsLayerSchema","ColumnNameSchema","PairedPointsLayerSchema","SinaLayerSchema","LogoPlotLayerSchema","STAT_TEST_METHOD","P_VALUE_CORRECTION_METHOD","StatTestMethodSchema","PValueCorrectionMethodSchema","SignificanceLevelsSchema","StatLayerSchema","DataValueSchema","DiscreteLayerSchema","ORIENTATION","OrientationSchema","DiscreteSettingsSchema","TitlePositionSchema","LegendPositionSchema","FrameTypeSchema","AesRecordSchema","AxisSettingsSchema"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"discrete.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/discrete.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n AxisSettingsSchema,\n ColumnNameSchema,\n DataValueSchema,\n FrameTypeSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nexport type InheritAesDiscrete = {type: 'primaryGrouping' | 'secondaryGrouping'};\nconst InheritAesSchema = z.object({type: z.enum(['primaryGrouping', 'secondaryGrouping'])});\n\nconst BoxLayerSchema = z.object({\n type: z.literal('box'),\n stat: z.optional(\n z.object({\n upper: z.optional(z.number().min(0).max(1)),\n middle: z.optional(z.number().min(0).max(1)),\n lower: z.optional(z.number().min(0).max(1)),\n k: z.optional(z.number()),\n })\n ),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n outliersShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n outliersSize: z.optional(z.union([InheritAesSchema, z.number()])),\n outliersColor: z.optional(z.union([InheritAesSchema, z.string()])),\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BoxLayer = z.infer<typeof BoxLayerSchema>;\n\nconst ViolinLayerSchema = z.object({\n type: z.literal('violin'),\n stat: z.optional(\n z.object({\n bandwidth: z.optional(z.number()),\n trim: z.optional(z.boolean()),\n })\n ),\n aes: z.optional(\n z.object({\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n showQuartiles: z.optional(z.boolean()),\n medianLineStyle: z.optional(LineShapeSchema),\n quartilesLineStyle: z.optional(LineShapeSchema),\n })\n ),\n});\nexport type ViolinLayer = z.infer<typeof ViolinLayerSchema>;\n\nconst DotLayerSchema = z.object({\n type: z.literal('dot'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n jitter: z.optional(z.number().min(0).max(1)),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type DotLayer = z.infer<typeof DotLayerSchema>;\n\nconst SUMMARY_GROUP_VALUE = ['mean', 'median'] as const;\nconst SUMMARY_ERROR_VALUE = ['sd', 'se', 'ci'] as const;\n\nconst SummaryGroupSchema = z.enum(SUMMARY_GROUP_VALUE);\nconst SummaryErrorSchema = z.enum(SUMMARY_ERROR_VALUE);\n\nexport type SummaryGroupValue = z.infer<typeof SummaryGroupSchema>;\nexport type SummaryErrorValue = z.infer<typeof SummaryErrorSchema>;\n\nconst LineLayerSchema = z.object({\n type: z.literal('line'),\n pointsValues: SummaryGroupSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineShape: z.optional(z.union([InheritAesSchema, LineShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LineLayer = z.infer<typeof LineLayerSchema>;\n\nconst ErrorBarLayerSchema = z.object({\n type: z.literal('errorbar'),\n pointsValues: SummaryGroupSchema,\n interval: SummaryErrorSchema,\n aes: z.optional(\n z.object({\n showDots: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type ErrorBarLayer = z.infer<typeof ErrorBarLayerSchema>;\n\nconst BarLayerSchema = z.object({\n type: z.literal('bar'),\n height: z.optional(z.enum(['min', 'max', 'median', 'mean'])),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BarLayer = z.infer<typeof BarLayerSchema>;\n\nconst StackedBarLayerSchema = z.object({\n type: z.literal('stackedBar'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedBarLayer = z.infer<typeof StackedBarLayerSchema>;\n\nconst BinnedDotsLayerSchema = z.object({\n type: z.literal('binnedDots'),\n method: z.optional(z.enum(['dotdensity', 'histodot'])),\n position: z.optional(z.enum(['stack', 'jitter'])),\n keyColumn: z.optional(ColumnNameSchema),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BinnedDotsLayer = z.infer<typeof BinnedDotsLayerSchema>;\n\nconst PairedPointsLayerSchema = z.object({\n type: z.literal('pairedPoints'),\n linkColumn: ColumnNameSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(PointShapeSchema),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type PairedPointsLayer = z.infer<typeof PairedPointsLayerSchema>;\n\n// geom_sina - jittered dots in violin shape\nconst SinaLayerSchema = z.object({\n type: z.literal('sina'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type SinaLayer = z.infer<typeof SinaLayerSchema>;\n\nconst LogoPlotLayerSchema = z.object({\n type: z.literal('logo'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.string()),\n fillColor: z.optional(z.union([z.record(z.string()), z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LogoPlotLayer = z.infer<typeof LogoPlotLayerSchema>;\n\nconst StackedAreaLayerSchema = z.object({\n type: z.literal('stackedArea'),\n normalize: z.optional(z.boolean()),\n showBars: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n barWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n barsOpacity: z.optional(z.number().min(0).max(1)),\n areaOpacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedAreaLayer = z.infer<typeof StackedAreaLayerSchema>;\n\nconst STAT_TEST_METHOD = ['ttest', 'anova', 'wilcoxon', 'kruskalWallis'] as const;\nconst P_VALUE_CORRECTION_METHOD = [\n 'BenjaminiHochberg',\n 'BenjaminiYekutieli',\n 'Bonferroni',\n 'Hochberg',\n 'Holm',\n 'Hommel',\n] as const;\n\nconst StatTestMethodSchema = z.enum(STAT_TEST_METHOD);\nconst PValueCorrectionMethodSchema = z.enum(P_VALUE_CORRECTION_METHOD);\nconst SignificanceLevelsSchema = z.object({one: z.number(), two: z.number(), three: z.number()});\n\nexport type StatTestMethod = z.infer<typeof StatTestMethodSchema>;\nexport type PValueCorrectionMethod = z.infer<typeof PValueCorrectionMethodSchema>;\nexport type SignificanceLevels = z.infer<typeof SignificanceLevelsSchema>;\n\nconst StatLayerSchema = z.object({\n type: z.literal('stat'),\n statType: z.enum(['overall', 'referenceGroup', 'pairwise']),\n testMethod: StatTestMethodSchema,\n paired: z.optional(z.boolean()),\n ns: z.optional(z.boolean()),\n format: z.optional(z.enum(['significance', 'pValue'])),\n referenceGroup: z.optional(DataValueSchema),\n correctionMethod: z.optional(PValueCorrectionMethodSchema),\n significanceLevels: z.optional(SignificanceLevelsSchema)\n});\nexport type StatLayer = z.infer<typeof StatLayerSchema>;\n\nconst DiscreteLayerSchema = z.union([\n BoxLayerSchema,\n ViolinLayerSchema,\n DotLayerSchema,\n LineLayerSchema,\n ErrorBarLayerSchema,\n BarLayerSchema,\n StackedBarLayerSchema,\n BinnedDotsLayerSchema,\n PairedPointsLayerSchema,\n SinaLayerSchema,\n LogoPlotLayerSchema,\n StackedAreaLayerSchema,\n StatLayerSchema\n]);\nexport type DiscreteLayer = z.infer<typeof DiscreteLayerSchema>;\n\nconst ORIENTATION = ['horizontal', 'vertical'] as const;\nconst OrientationSchema = z.enum(ORIENTATION);\nexport type Orientation = z.infer<typeof OrientationSchema>;\n\nexport const DiscreteSettingsSchema = z.object({\n type: z.literal('discrete'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n y: ColumnNameSchema,\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n tooltips: z.optional(\n z.object({\n box: z.optional(z.object({show: z.boolean()})),\n violin: z.optional(z.object({show: z.boolean()})),\n boxOutliers: z.optional(z.object({show: z.boolean()})),\n line: z.optional(z.object({show: z.boolean()})),\n dot: z.optional(z.object({show: z.boolean()})),\n errorBar: z.optional(z.object({show: z.boolean()})),\n binnedDots: z.optional(z.object({show: z.boolean()})),\n pairedPoints: z.optional(z.object({show: z.boolean()})),\n stackedBar: z.optional(z.object({show: z.boolean()})),\n logo: z.optional(z.object({show: z.boolean()})),\n })\n ),\n frame: z.optional(z.object({type: z.optional(FrameTypeSchema)})),\n orientation: z.optional(OrientationSchema),\n keyColumn: z.optional(ColumnNameSchema),\n primaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n secondaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n facetSettings: z.optional(\n z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n order: z.optional(z.record(z.array(DataValueSchema))),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n titlePosition: z.optional(TitlePositionSchema),\n })\n ),\n xAxis: z.optional(AxisSettingsSchema),\n yAxis: z.optional(AxisSettingsSchema),\n layers: z.array(DiscreteLayerSchema),\n});\n\nexport type DiscreteSettings = z.infer<typeof DiscreteSettingsSchema>;\n\nexport type GroupingData = {\n value: string | null,\n keys: string[],\n label: string,\n valueLabels: Record<string, string>,\n inheritedAes: z.infer<typeof AesRecordSchema> | null\n}\n"],"names":["InheritAesSchema","z","BoxLayerSchema","PointShapeSchema","LineShapeSchema","ViolinLayerSchema","DotLayerSchema","SUMMARY_GROUP_VALUE","SUMMARY_ERROR_VALUE","SummaryGroupSchema","SummaryErrorSchema","LineLayerSchema","ErrorBarLayerSchema","BarLayerSchema","StackedBarLayerSchema","BinnedDotsLayerSchema","ColumnNameSchema","PairedPointsLayerSchema","SinaLayerSchema","LogoPlotLayerSchema","StackedAreaLayerSchema","STAT_TEST_METHOD","P_VALUE_CORRECTION_METHOD","StatTestMethodSchema","PValueCorrectionMethodSchema","SignificanceLevelsSchema","StatLayerSchema","DataValueSchema","DiscreteLayerSchema","ORIENTATION","OrientationSchema","DiscreteSettingsSchema","TitlePositionSchema","LegendPositionSchema","FrameTypeSchema","AesRecordSchema","AxisSettingsSchema"],"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.142",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/lib.js",
|
|
6
6
|
"types": "dist/lib.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ag-grid-community/core": "^32.3.3",
|
|
39
39
|
"@milaboratories/helpers": "^1.6.15",
|
|
40
|
-
"@milaboratories/miplots4": "^1.0.
|
|
40
|
+
"@milaboratories/miplots4": "^1.0.134",
|
|
41
41
|
"@milaboratories/pf-plots": "^1.1.28",
|
|
42
42
|
"@platforma-sdk/model": "^1.39.8",
|
|
43
43
|
"@platforma-sdk/ui-vue": "^1.39.16",
|