@milaboratories/graph-maker 1.1.221 → 1.1.223
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/components/Chart.vue.d.ts.map +1 -1
- package/dist/components/Chart.vue.js +32 -32
- package/dist/components/Chart.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +3 -2
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/DiscreteForm.vue.js +3 -2
- package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
- package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +16 -15
- package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
- package/dist/index.vue.d.ts +0 -6
- package/dist/index.vue.d.ts.map +1 -1
- package/dist/index.vue.js +184 -209
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +106 -121
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/addFixedOptionsToState.d.ts.map +1 -1
- package/dist/utils/addFixedOptionsToState.js +9 -9
- package/dist/utils/addFixedOptionsToState.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +6 -5
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +9 -8
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +3 -2
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js +3 -2
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +18 -17
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +9 -8
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/utils/getUsedAesInMapping.js +3 -2
- package/dist/utils/getUsedAesInMapping.js.map +1 -1
- package/dist/utils/loadDefaultSources.d.ts +5 -10
- package/dist/utils/loadDefaultSources.d.ts.map +1 -1
- package/dist/utils/loadDefaultSources.js +80 -48
- package/dist/utils/loadDefaultSources.js.map +1 -1
- package/package.json +2 -2
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { AestheticMappingCategorical, AestheticMappingState } from './dataBindAe
|
|
|
5
5
|
import { FormKey } from './forms';
|
|
6
6
|
import { LassoControlsState, Polygon } from '@milaboratories/miplots4';
|
|
7
7
|
import { CategoricalPalette, ContinuousPalette, Palette } from './components/AesSettings/types';
|
|
8
|
+
import { LoadedDefaultOptionsMap } from './utils';
|
|
8
9
|
export type DeepPartial<T> = {
|
|
9
10
|
[P in keyof T]?: Partial<T[P]>;
|
|
10
11
|
};
|
|
@@ -13,8 +14,6 @@ export type GraphMakerState = {
|
|
|
13
14
|
title: string;
|
|
14
15
|
/** 'box', 'violins', 'dots' etc, depends on chart type */
|
|
15
16
|
template: LayersTemplate;
|
|
16
|
-
/** Keeps dataStateKey from props to compare changes correctly in case if graph-maker was unmounted */
|
|
17
|
-
dataStateKey?: unknown;
|
|
18
17
|
/** Optional part, used for data saving to ui-state; don't need to be set in initial settings,
|
|
19
18
|
it appears in settings after changes in user interface */
|
|
20
19
|
currentTab?: FormKey | null;
|
|
@@ -24,6 +23,8 @@ export type GraphMakerState = {
|
|
|
24
23
|
selectedPolygons?: Polygon[];
|
|
25
24
|
/** Data-mapping state, use inner-generated keys to keep selected columns, use default-options prop to set defaults */
|
|
26
25
|
optionsState?: InputState;
|
|
26
|
+
/** Technical field, used to keep track of used default options to avoid erasing of user's changes or not applying changed defaults */
|
|
27
|
+
usedDefaultOptions?: LoadedDefaultOptionsMap<ChartType>;
|
|
27
28
|
/** Saved settings of p-value (for discrete charts), trends (for scatterplot) */
|
|
28
29
|
statisticsSettings?: DeepPartial<StatisticsState>;
|
|
29
30
|
/** Settings of grid, axes titles, facet positions, grouping order */
|
|
@@ -60,7 +61,6 @@ export interface GraphMakerPropsTyped<T extends ChartType> {
|
|
|
60
61
|
pFrame: OutputWithStatus<PFrameHandle>;
|
|
61
62
|
chartType: T;
|
|
62
63
|
/** Changing of dataStateKey reapplying defaults; user's changes are not removed if they are not conflicting with default options */
|
|
63
|
-
dataStateKey?: unknown;
|
|
64
64
|
defaultOptions?: PredefinedGraphOption<T>[] | null;
|
|
65
65
|
defaultPalette?: Palette | {
|
|
66
66
|
categorical?: CategoricalPalette;
|
|
@@ -93,6 +93,7 @@ export type ReactiveState = {
|
|
|
93
93
|
chartType: ChartType;
|
|
94
94
|
template: LayersTemplate;
|
|
95
95
|
optionsState: InputState;
|
|
96
|
+
usedDefaultOptions: LoadedDefaultOptionsMap<ChartType> | null;
|
|
96
97
|
layersSettings: LayersSettings;
|
|
97
98
|
axesSettings: AxesState;
|
|
98
99
|
statisticsSettings: StatisticsState;
|
|
@@ -103,7 +104,6 @@ export type ReactiveState = {
|
|
|
103
104
|
tabDefaultState: Record<FormKey, Record<string, unknown>>;
|
|
104
105
|
dendroInfoByClick: null | DendroNodeInfo;
|
|
105
106
|
dendroSelectedNodeId: null | number;
|
|
106
|
-
dataStateKey: unknown;
|
|
107
107
|
showTooltipHint: boolean;
|
|
108
108
|
};
|
|
109
109
|
export type DiscreteLayer = 'box' | 'binnedDots' | 'jitteredDots' | 'violin' | 'bar' | 'stackedBar' | 'stackedArea' | 'line' | 'errorbar' | 'sina' | 'logo';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EAAE,WAAW,EAC3B,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFixedOptionsToState.d.ts","sourceRoot":"","sources":["../../src/utils/addFixedOptionsToState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"addFixedOptionsToState.d.ts","sourceRoot":"","sources":["../../src/utils/addFixedOptionsToState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAuB,MAAM,0BAA0B,CAAC;AAI/F,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC,CAYrB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { copyJSON as
|
|
2
|
-
import { loadDefaultSources as
|
|
3
|
-
async function
|
|
4
|
-
if (!
|
|
1
|
+
import { copyJSON as a } from "./copyJSON.js";
|
|
2
|
+
import { loadDefaultSources as i } from "./loadDefaultSources.js";
|
|
3
|
+
async function l(o, r, t) {
|
|
4
|
+
if (!t || t.length === 0)
|
|
5
5
|
return o;
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
o.components[
|
|
9
|
-
|
|
6
|
+
const s = await i(r, t, !1), e = a(o);
|
|
7
|
+
for (const [n, c] of Object.entries(s))
|
|
8
|
+
o.components[n] && e.components[n].selectorStates.push(...c);
|
|
9
|
+
return e;
|
|
10
10
|
}
|
|
11
11
|
export {
|
|
12
|
-
|
|
12
|
+
l as addFixedOptionsToState
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=addFixedOptionsToState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFixedOptionsToState.js","sources":["../../src/utils/addFixedOptionsToState.ts"],"sourcesContent":["import type { GraphMakerProps } from '../types';\nimport { copyJSON } from './copyJSON';\nimport type { DemoDataStore, InputState } from '@milaboratories/pf-plots';\nimport { loadDefaultSources } from './loadDefaultSources';\n\nexport async function addFixedOptionsToState(\n state: InputState,\n dataStore: DemoDataStore,\n fixedOptions: GraphMakerProps['fixedOptions'],\n): Promise<InputState> {\n if (!fixedOptions || fixedOptions.length === 0) {\n return state;\n }\n const loadedFixedOptions = await loadDefaultSources(dataStore, fixedOptions, false);\n const res: InputState = copyJSON(state);\n
|
|
1
|
+
{"version":3,"file":"addFixedOptionsToState.js","sources":["../../src/utils/addFixedOptionsToState.ts"],"sourcesContent":["import type { GraphMakerProps } from '../types';\nimport { copyJSON } from './copyJSON';\nimport type { DemoDataStore, InputState, SelectorStateFilter } from '@milaboratories/pf-plots';\nimport { loadDefaultSources } from './loadDefaultSources';\n\n// hidden options that are always in the state but not visible to the user\nexport async function addFixedOptionsToState(\n state: InputState,\n dataStore: DemoDataStore,\n fixedOptions: GraphMakerProps['fixedOptions'],\n): Promise<InputState> {\n if (!fixedOptions || fixedOptions.length === 0) {\n return state;\n }\n const loadedFixedOptions = await loadDefaultSources(dataStore, fixedOptions, false);\n const res: InputState = copyJSON(state);\n for (const [inputName, selectorStates] of Object.entries(loadedFixedOptions)) {\n if (state.components[inputName]) {\n res.components[inputName].selectorStates.push(...selectorStates as SelectorStateFilter[]);\n }\n }\n return res;\n}\n"],"names":["addFixedOptionsToState","state","dataStore","fixedOptions","loadedFixedOptions","loadDefaultSources","res","copyJSON","inputName","selectorStates"],"mappings":";;AAMA,eAAsBA,EACpBC,GACAC,GACAC,GACqB;AACrB,MAAI,CAACA,KAAgBA,EAAa,WAAW;AAC3C,WAAOF;AAET,QAAMG,IAAqB,MAAMC,EAAmBH,GAAWC,GAAc,EAAK,GAC5EG,IAAkBC,EAASN,CAAK;AACtC,aAAW,CAACO,GAAWC,CAAc,KAAK,OAAO,QAAQL,CAAkB;AACzE,IAAIH,EAAM,WAAWO,CAAS,KAC5BF,EAAI,WAAWE,CAAS,EAAE,eAAe,KAAK,GAAGC,CAAuC;AAG5F,SAAOH;AACT;"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { PALETTE_MAP as
|
|
1
|
+
import { PALETTE_MAP as n, DEFAULT_BLACK as p } from "../../constantsAesthetic.js";
|
|
2
2
|
import "../../constantsCommon.js";
|
|
3
3
|
import "d3-scale";
|
|
4
4
|
import { getAxesDataFromForms as c } from "./getAxesDataFromForms.js";
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
7
|
import "vue";
|
|
8
|
+
import "@milaboratories/helpers";
|
|
8
9
|
const e = 40, g = e / 2 - 2, u = 3;
|
|
9
|
-
function
|
|
10
|
+
function s(o, a, i) {
|
|
10
11
|
var l;
|
|
11
|
-
const m = a.template, r = a.layersSettings[m],
|
|
12
|
+
const m = a.template, r = a.layersSettings[m], t = (l = a.dataBindAes[o.valueColor.value]) == null ? void 0 : l.palette;
|
|
12
13
|
return o.aes = {
|
|
13
14
|
cellStrokeColor: r.strokeColor ?? p,
|
|
14
|
-
colorsList: t
|
|
15
|
+
colorsList: n[t ?? i.continuous].colors,
|
|
15
16
|
maxRadius: g * (a.chartScale / 100),
|
|
16
17
|
minRadius: u
|
|
17
18
|
}, o.size = { cellSize: e * (a.chartScale / 100) }, Object.assign(
|
|
@@ -27,6 +28,6 @@ function _(o, a, i) {
|
|
|
27
28
|
}), o;
|
|
28
29
|
}
|
|
29
30
|
export {
|
|
30
|
-
|
|
31
|
+
s as composeBubbleSettings
|
|
31
32
|
};
|
|
32
33
|
//# sourceMappingURL=composeBubbleSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeBubbleSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"sourcesContent":["import type { BubbleSettings } from '@milaboratories/miplots4';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type { BubbleLayer, DefaultPalettes, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nconst DEFAULT_CELL_SIZE = 40;\nconst DEFAULT_MAX_R = DEFAULT_CELL_SIZE / 2 - 2;\nconst DEFAULT_MIN_R = 3;\nexport function composeBubbleSettings(\n settings: BubbleSettings,\n reactiveState: ReactiveState,\n defaultPalettes: DefaultPalettes,\n) {\n const template = reactiveState.template as BubbleLayer;\n const layerSettings = reactiveState.layersSettings[template];\n const palette = reactiveState.dataBindAes[settings.valueColor.value]?.palette;\n\n settings.aes = {\n cellStrokeColor: layerSettings.strokeColor ?? DEFAULT_BLACK,\n colorsList: PALETTE_MAP[palette ?? defaultPalettes.continuous].colors,\n maxRadius: DEFAULT_MAX_R * (reactiveState.chartScale / 100),\n minRadius: DEFAULT_MIN_R,\n };\n\n settings.size = { cellSize: DEFAULT_CELL_SIZE * (reactiveState.chartScale / 100) };\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (layerSettings.aggregateByX || layerSettings.aggregateByY) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n return settings;\n}\n"],"names":["DEFAULT_CELL_SIZE","DEFAULT_MAX_R","DEFAULT_MIN_R","composeBubbleSettings","settings","reactiveState","defaultPalettes","template","layerSettings","palette","_a","DEFAULT_BLACK","PALETTE_MAP","getAxesDataFromForms"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeBubbleSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeBubbleSettings.ts"],"sourcesContent":["import type { BubbleSettings } from '@milaboratories/miplots4';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type { BubbleLayer, DefaultPalettes, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nconst DEFAULT_CELL_SIZE = 40;\nconst DEFAULT_MAX_R = DEFAULT_CELL_SIZE / 2 - 2;\nconst DEFAULT_MIN_R = 3;\nexport function composeBubbleSettings(\n settings: BubbleSettings,\n reactiveState: ReactiveState,\n defaultPalettes: DefaultPalettes,\n) {\n const template = reactiveState.template as BubbleLayer;\n const layerSettings = reactiveState.layersSettings[template];\n const palette = reactiveState.dataBindAes[settings.valueColor.value]?.palette;\n\n settings.aes = {\n cellStrokeColor: layerSettings.strokeColor ?? DEFAULT_BLACK,\n colorsList: PALETTE_MAP[palette ?? defaultPalettes.continuous].colors,\n maxRadius: DEFAULT_MAX_R * (reactiveState.chartScale / 100),\n minRadius: DEFAULT_MIN_R,\n };\n\n settings.size = { cellSize: DEFAULT_CELL_SIZE * (reactiveState.chartScale / 100) };\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (layerSettings.aggregateByX || layerSettings.aggregateByY) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n return settings;\n}\n"],"names":["DEFAULT_CELL_SIZE","DEFAULT_MAX_R","DEFAULT_MIN_R","composeBubbleSettings","settings","reactiveState","defaultPalettes","template","layerSettings","palette","_a","DEFAULT_BLACK","PALETTE_MAP","getAxesDataFromForms"],"mappings":";;;;;;;;AAQA,MAAMA,IAAoB,IACpBC,IAAgBD,IAAoB,IAAI,GACxCE,IAAgB;AACf,SAASC,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAWF,EAAc,UACzBG,IAAgBH,EAAc,eAAeE,CAAQ,GACrDE,KAAUC,IAAAL,EAAc,YAAYD,EAAS,WAAW,KAAK,MAAnD,gBAAAM,EAAsD;AAEtE,SAAAN,EAAS,MAAM;AAAA,IACb,iBAAiBI,EAAc,eAAeG;AAAA,IAC9C,YAAYC,EAAYH,KAAWH,EAAgB,UAAU,EAAE;AAAA,IAC/D,WAAWL,KAAiBI,EAAc,aAAa;AAAA,IACvD,WAAWH;AAAA,EAAA,GAGbE,EAAS,OAAO,EAAE,UAAUJ,KAAqBK,EAAc,aAAa,KAAA,GAE5E,OAAO;AAAA,IACLD;AAAA,IACAS,EAAqBR,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAG1ED,EAAS,YAAYI,EAAc,WAC/BA,EAAc,2BAChBJ,EAAS,gBAAgB;AAAA,IACvB,QAAQI,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,KAIzBA,EAAc,gBAAgBA,EAAc,kBAC9CJ,EAAS,cAAc;AAAA,IACrB,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGI,EAAc,gBAAgBJ,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQI,EAAc;AAAA,EAAA,IAInBJ;AACT;"}
|
|
@@ -6,22 +6,23 @@ import { getAxesDataFromForms as x } from "./getAxesDataFromForms.js";
|
|
|
6
6
|
import "@milaboratories/pf-plots";
|
|
7
7
|
import "@platforma-sdk/model";
|
|
8
8
|
import "vue";
|
|
9
|
+
import "@milaboratories/helpers";
|
|
9
10
|
import "../../constantsAesthetic.js";
|
|
10
|
-
function
|
|
11
|
+
function X(r, o, i, u, l) {
|
|
11
12
|
var y;
|
|
12
13
|
const G = f(
|
|
13
14
|
e[o.template],
|
|
14
15
|
o.layersSettings,
|
|
15
16
|
o.statisticsSettings,
|
|
16
17
|
o.optionsState,
|
|
17
|
-
|
|
18
|
+
u
|
|
18
19
|
), s = g(
|
|
19
20
|
o.chartType,
|
|
20
21
|
o.template,
|
|
21
22
|
o.layersSettings,
|
|
22
23
|
o.statisticsSettings,
|
|
23
24
|
o.optionsState,
|
|
24
|
-
|
|
25
|
+
u
|
|
25
26
|
);
|
|
26
27
|
r.layers = G;
|
|
27
28
|
const n = o.optionsState.components;
|
|
@@ -35,9 +36,9 @@ function P(r, o, i, l, m) {
|
|
|
35
36
|
o.dataBindAes[p],
|
|
36
37
|
p,
|
|
37
38
|
a,
|
|
38
|
-
|
|
39
|
+
l.categorical
|
|
39
40
|
)
|
|
40
|
-
), r.primaryGrouping.allowNullGroup = o.axesSettings.axisX.allowNullPrimaryGroups, !o.axesSettings.axisX.allowNullPrimaryGroups && r.primaryGrouping.order && (r.primaryGrouping.order = r.primaryGrouping.order.filter((
|
|
41
|
+
), r.primaryGrouping.allowNullGroup = o.axesSettings.axisX.allowNullPrimaryGroups, !o.axesSettings.axisX.allowNullPrimaryGroups && r.primaryGrouping.order && (r.primaryGrouping.order = r.primaryGrouping.order.filter((m) => m !== "null"));
|
|
41
42
|
}
|
|
42
43
|
if (n.secondaryGrouping.selectorStates && r.secondaryGrouping) {
|
|
43
44
|
r.secondaryGrouping = { ...r.secondaryGrouping }, r.secondaryGrouping.order && (r.secondaryGrouping.order = [...r.secondaryGrouping.order]);
|
|
@@ -49,9 +50,9 @@ function P(r, o, i, l, m) {
|
|
|
49
50
|
o.dataBindAes[p],
|
|
50
51
|
p,
|
|
51
52
|
a,
|
|
52
|
-
|
|
53
|
+
l.categorical
|
|
53
54
|
)
|
|
54
|
-
), r.secondaryGrouping.allowNullGroup = o.axesSettings.axisX.allowNullSecondaryGroups, !o.axesSettings.axisX.allowNullPrimaryGroups && r.secondaryGrouping.order && (r.secondaryGrouping.order = r.secondaryGrouping.order.filter((
|
|
55
|
+
), r.secondaryGrouping.allowNullGroup = o.axesSettings.axisX.allowNullSecondaryGroups, !o.axesSettings.axisX.allowNullPrimaryGroups && r.secondaryGrouping.order && (r.secondaryGrouping.order = r.secondaryGrouping.order.filter((m) => m !== "null"));
|
|
55
56
|
}
|
|
56
57
|
const c = r.primaryGrouping ? (y = i[r.primaryGrouping.columnName.value]) == null ? void 0 : y.options : [];
|
|
57
58
|
return Object.assign(
|
|
@@ -60,6 +61,6 @@ function P(r, o, i, l, m) {
|
|
|
60
61
|
), r;
|
|
61
62
|
}
|
|
62
63
|
export {
|
|
63
|
-
|
|
64
|
+
X as composeDiscreteSettings
|
|
64
65
|
};
|
|
65
66
|
//# sourceMappingURL=composeDiscreteSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeDiscreteSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeDiscreteSettings.ts"],"sourcesContent":["import type { DiscreteSettings } from '@milaboratories/miplots4';\nimport type { DiscreteUIState, InputGuide, InputState } from '@milaboratories/pf-plots';\nimport type { DiscreteStatisticsState } from '../../constantsCommon';\nimport { DISCRETE_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getChartSettingsInheritedAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n DiscreteLayersTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getUsedAesInMapping } from '../getUsedAesInMapping';\nimport { getAxesDataFromForms, getDiscreteLayersSettings } from '../index';\n\nexport function composeDiscreteSettings(\n settings: DiscreteSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n inputGuide: InputGuide<InputState>,\n defaultPalette: DefaultPalettes,\n) {\n const layers = getDiscreteLayersSettings(\n DISCRETE_TEMPLATES_MAP[reactiveState.template as DiscreteLayersTemplate],\n reactiveState.layersSettings,\n reactiveState.statisticsSettings as DiscreteStatisticsState,\n reactiveState.optionsState as DiscreteUIState,\n inputGuide,\n ) as DiscreteSettings['layers'];\n const usedAesInMappingsMap = getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide,\n );\n settings.layers = layers;\n\n const inputStateMap = reactiveState.optionsState.components;\n\n if (inputStateMap.primaryGrouping.selectorStates.length && settings.primaryGrouping) {\n settings.primaryGrouping = { ...settings.primaryGrouping };\n if (settings.primaryGrouping.order) {\n settings.primaryGrouping.order = [...settings.primaryGrouping.order];\n }\n const columnName = inputStateMap.primaryGrouping.selectorStates[0].selectedSource;\n const usedAesInMapping = usedAesInMappingsMap[columnName];\n Object.assign(\n settings.primaryGrouping,\n getChartSettingsInheritedAes(\n uniqueValuesData,\n reactiveState.dataBindAes[columnName],\n columnName,\n usedAesInMapping,\n defaultPalette.categorical,\n ),\n );\n settings.primaryGrouping.allowNullGroup = reactiveState.axesSettings.axisX.allowNullPrimaryGroups;\n if (!reactiveState.axesSettings.axisX.allowNullPrimaryGroups && settings.primaryGrouping.order) {\n settings.primaryGrouping.order = settings.primaryGrouping.order.filter((v) => v !== 'null');\n }\n }\n if (inputStateMap.secondaryGrouping.selectorStates && settings.secondaryGrouping) {\n settings.secondaryGrouping = { ...settings.secondaryGrouping };\n if (settings.secondaryGrouping.order) {\n settings.secondaryGrouping.order = [...settings.secondaryGrouping.order];\n }\n const columnName = inputStateMap.secondaryGrouping.selectorStates[0].selectedSource;\n const usedAesInMapping = usedAesInMappingsMap[columnName];\n Object.assign(\n settings.secondaryGrouping,\n getChartSettingsInheritedAes(\n uniqueValuesData,\n reactiveState.dataBindAes[columnName],\n columnName,\n usedAesInMapping,\n defaultPalette.categorical,\n ),\n );\n settings.secondaryGrouping.allowNullGroup = reactiveState.axesSettings.axisX.allowNullSecondaryGroups;\n if (!reactiveState.axesSettings.axisX.allowNullPrimaryGroups && settings.secondaryGrouping.order) {\n settings.secondaryGrouping.order = settings.secondaryGrouping.order.filter((v) => v !== 'null');\n }\n }\n\n const primaryGroups = settings.primaryGrouping ? uniqueValuesData[settings.primaryGrouping.columnName.value]?.options : [];\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType, primaryGroups),\n );\n\n return settings;\n}\n"],"names":["composeDiscreteSettings","settings","reactiveState","uniqueValuesData","inputGuide","defaultPalette","layers","getDiscreteLayersSettings","DISCRETE_TEMPLATES_MAP","usedAesInMappingsMap","getUsedAesInMapping","inputStateMap","columnName","usedAesInMapping","getChartSettingsInheritedAes","v","primaryGroups","_a","getAxesDataFromForms"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeDiscreteSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeDiscreteSettings.ts"],"sourcesContent":["import type { DiscreteSettings } from '@milaboratories/miplots4';\nimport type { DiscreteUIState, InputGuide, InputState } from '@milaboratories/pf-plots';\nimport type { DiscreteStatisticsState } from '../../constantsCommon';\nimport { DISCRETE_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getChartSettingsInheritedAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n DiscreteLayersTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getUsedAesInMapping } from '../getUsedAesInMapping';\nimport { getAxesDataFromForms, getDiscreteLayersSettings } from '../index';\n\nexport function composeDiscreteSettings(\n settings: DiscreteSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n inputGuide: InputGuide<InputState>,\n defaultPalette: DefaultPalettes,\n) {\n const layers = getDiscreteLayersSettings(\n DISCRETE_TEMPLATES_MAP[reactiveState.template as DiscreteLayersTemplate],\n reactiveState.layersSettings,\n reactiveState.statisticsSettings as DiscreteStatisticsState,\n reactiveState.optionsState as DiscreteUIState,\n inputGuide,\n ) as DiscreteSettings['layers'];\n const usedAesInMappingsMap = getUsedAesInMapping(\n reactiveState.chartType,\n reactiveState.template,\n reactiveState.layersSettings,\n reactiveState.statisticsSettings,\n reactiveState.optionsState,\n inputGuide,\n );\n settings.layers = layers;\n\n const inputStateMap = reactiveState.optionsState.components;\n\n if (inputStateMap.primaryGrouping.selectorStates.length && settings.primaryGrouping) {\n settings.primaryGrouping = { ...settings.primaryGrouping };\n if (settings.primaryGrouping.order) {\n settings.primaryGrouping.order = [...settings.primaryGrouping.order];\n }\n const columnName = inputStateMap.primaryGrouping.selectorStates[0].selectedSource;\n const usedAesInMapping = usedAesInMappingsMap[columnName];\n Object.assign(\n settings.primaryGrouping,\n getChartSettingsInheritedAes(\n uniqueValuesData,\n reactiveState.dataBindAes[columnName],\n columnName,\n usedAesInMapping,\n defaultPalette.categorical,\n ),\n );\n settings.primaryGrouping.allowNullGroup = reactiveState.axesSettings.axisX.allowNullPrimaryGroups;\n if (!reactiveState.axesSettings.axisX.allowNullPrimaryGroups && settings.primaryGrouping.order) {\n settings.primaryGrouping.order = settings.primaryGrouping.order.filter((v) => v !== 'null');\n }\n }\n if (inputStateMap.secondaryGrouping.selectorStates && settings.secondaryGrouping) {\n settings.secondaryGrouping = { ...settings.secondaryGrouping };\n if (settings.secondaryGrouping.order) {\n settings.secondaryGrouping.order = [...settings.secondaryGrouping.order];\n }\n const columnName = inputStateMap.secondaryGrouping.selectorStates[0].selectedSource;\n const usedAesInMapping = usedAesInMappingsMap[columnName];\n Object.assign(\n settings.secondaryGrouping,\n getChartSettingsInheritedAes(\n uniqueValuesData,\n reactiveState.dataBindAes[columnName],\n columnName,\n usedAesInMapping,\n defaultPalette.categorical,\n ),\n );\n settings.secondaryGrouping.allowNullGroup = reactiveState.axesSettings.axisX.allowNullSecondaryGroups;\n if (!reactiveState.axesSettings.axisX.allowNullPrimaryGroups && settings.secondaryGrouping.order) {\n settings.secondaryGrouping.order = settings.secondaryGrouping.order.filter((v) => v !== 'null');\n }\n }\n\n const primaryGroups = settings.primaryGrouping ? uniqueValuesData[settings.primaryGrouping.columnName.value]?.options : [];\n\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType, primaryGroups),\n );\n\n return settings;\n}\n"],"names":["composeDiscreteSettings","settings","reactiveState","uniqueValuesData","inputGuide","defaultPalette","layers","getDiscreteLayersSettings","DISCRETE_TEMPLATES_MAP","usedAesInMappingsMap","getUsedAesInMapping","inputStateMap","columnName","usedAesInMapping","getChartSettingsInheritedAes","v","primaryGroups","_a","getAxesDataFromForms"],"mappings":";;;;;;;;;;AAgBO,SAASA,EACdC,GACAC,GACAC,GACAC,GACAC,GACA;;AACA,QAAMC,IAASC;AAAA,IACbC,EAAuBN,EAAc,QAAkC;AAAA,IACvEA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdE;AAAA,EAAA,GAEIK,IAAuBC;AAAA,IAC3BR,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdE;AAAA,EAAA;AAEF,EAAAH,EAAS,SAASK;AAElB,QAAMK,IAAgBT,EAAc,aAAa;AAEjD,MAAIS,EAAc,gBAAgB,eAAe,UAAUV,EAAS,iBAAiB;AACnF,IAAAA,EAAS,kBAAkB,EAAE,GAAGA,EAAS,gBAAA,GACrCA,EAAS,gBAAgB,UAC3BA,EAAS,gBAAgB,QAAQ,CAAC,GAAGA,EAAS,gBAAgB,KAAK;AAErE,UAAMW,IAAaD,EAAc,gBAAgB,eAAe,CAAC,EAAE,gBAC7DE,IAAmBJ,EAAqBG,CAAU;AACxD,WAAO;AAAA,MACLX,EAAS;AAAA,MACTa;AAAA,QACEX;AAAA,QACAD,EAAc,YAAYU,CAAU;AAAA,QACpCA;AAAA,QACAC;AAAA,QACAR,EAAe;AAAA,MAAA;AAAA,IACjB,GAEFJ,EAAS,gBAAgB,iBAAiBC,EAAc,aAAa,MAAM,wBACvE,CAACA,EAAc,aAAa,MAAM,0BAA0BD,EAAS,gBAAgB,UACvFA,EAAS,gBAAgB,QAAQA,EAAS,gBAAgB,MAAM,OAAO,CAACc,MAAMA,MAAM,MAAM;AAAA,EAE9F;AACA,MAAIJ,EAAc,kBAAkB,kBAAkBV,EAAS,mBAAmB;AAChF,IAAAA,EAAS,oBAAoB,EAAE,GAAGA,EAAS,kBAAA,GACvCA,EAAS,kBAAkB,UAC7BA,EAAS,kBAAkB,QAAQ,CAAC,GAAGA,EAAS,kBAAkB,KAAK;AAEzE,UAAMW,IAAaD,EAAc,kBAAkB,eAAe,CAAC,EAAE,gBAC/DE,IAAmBJ,EAAqBG,CAAU;AACxD,WAAO;AAAA,MACLX,EAAS;AAAA,MACTa;AAAA,QACEX;AAAA,QACAD,EAAc,YAAYU,CAAU;AAAA,QACpCA;AAAA,QACAC;AAAA,QACAR,EAAe;AAAA,MAAA;AAAA,IACjB,GAEFJ,EAAS,kBAAkB,iBAAiBC,EAAc,aAAa,MAAM,0BACzE,CAACA,EAAc,aAAa,MAAM,0BAA0BD,EAAS,kBAAkB,UACzFA,EAAS,kBAAkB,QAAQA,EAAS,kBAAkB,MAAM,OAAO,CAACc,MAAMA,MAAM,MAAM;AAAA,EAElG;AAEA,QAAMC,IAAgBf,EAAS,mBAAkBgB,IAAAd,EAAiBF,EAAS,gBAAgB,WAAW,KAAK,MAA1D,gBAAAgB,EAA6D,UAAU,CAAA;AAExH,gBAAO;AAAA,IACLhB;AAAA,IACAiB,EAAqBhB,EAAc,cAAcA,EAAc,WAAWc,CAAa;AAAA,EAAA,GAGlFf;AACT;"}
|
|
@@ -5,7 +5,8 @@ import { getAxesDataFromForms as f } from "./getAxesDataFromForms.js";
|
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
7
|
import "vue";
|
|
8
|
-
|
|
8
|
+
import "@milaboratories/helpers";
|
|
9
|
+
function B(o, i, a) {
|
|
9
10
|
var d, p, u;
|
|
10
11
|
const n = {}, s = (d = i.dataBindAes[o.valueColumn.value]) == null ? void 0 : d.palette;
|
|
11
12
|
if ((o == null ? void 0 : o.valueType) !== "discrete") {
|
|
@@ -46,6 +47,6 @@ function Y(o, i, a) {
|
|
|
46
47
|
}), i.axesSettings.other.canvasRenderMode && (o.cellsRenderingMode = "canvas"), o;
|
|
47
48
|
}
|
|
48
49
|
export {
|
|
49
|
-
|
|
50
|
+
B as composeHeatmapSettings
|
|
50
51
|
};
|
|
51
52
|
//# sourceMappingURL=composeHeatmapSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { DefaultPalettes, HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n defaultPalette: DefaultPalettes,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? defaultPalette.continuous].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? (annotationSchema.type === 'discrete' ? defaultPalette.categorical : defaultPalette.continuous)].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (layerSettings.aggregateByX || layerSettings.aggregateByY)) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","defaultPalette","aes","palette","_a","layer","PALETTE_MAP","_b","annotationSchema","source","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeHeatmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHeatmapSettings.ts"],"sourcesContent":["import type { HeatmapSettings } from '@milaboratories/miplots4';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { DefaultPalettes, HeatmapLayerTemplate, ReactiveState } from '../../types';\nimport { getAxesDataFromForms } from '../index';\n\nexport function composeHeatmapSettings(\n settings: HeatmapSettings,\n reactiveState: ReactiveState,\n defaultPalette: DefaultPalettes,\n) {\n const aes = {} as Record<string, unknown>;\n const palette = reactiveState.dataBindAes[settings.valueColumn.value]?.palette;\n if (settings?.valueType !== 'discrete') {\n if (reactiveState.template === 'heatmapClustered') {\n const layer = reactiveState.layersSettings.heatmapClustered;\n if (!layer.disableClusteringX) {\n settings.dendrogramX = {\n fillNA: 0,\n showNodes: false,\n hidden: !layer.dendrogramX,\n };\n }\n if (!layer.disableClusteringY) {\n settings.dendrogramY = {\n fillNA: 0,\n position: 'right',\n showNodes: false,\n hidden: !layer.dendrogramY,\n };\n }\n }\n aes.colorsList = PALETTE_MAP[palette ?? defaultPalette.continuous].colors;\n } else {\n aes.colorsList = PALETTE_MAP[palette ?? 'bright'].colors;\n }\n\n settings.aes = aes;\n\n settings.annotations?.forEach((annotationSchema) => {\n const source = annotationSchema.valueColumn.value;\n const palette = reactiveState.dataBindAes[source]?.palette;\n\n annotationSchema.colors = PALETTE_MAP[palette ?? (annotationSchema.type === 'discrete' ? defaultPalette.categorical : defaultPalette.continuous)].colors;\n });\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n\n if (reactiveState.axesSettings.axisX.cellSize !== null && settings.size) {\n settings.size.cellWidth = reactiveState.axesSettings.axisX.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.axesSettings.axisY.cellSize !== null && settings.size) {\n settings.size.cellHeight = reactiveState.axesSettings.axisY.cellSize * (reactiveState.chartScale / 100);\n }\n if (reactiveState.template === 'heatmapClustered' && settings?.valueType !== 'discrete') {\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedX = false;\n (settings.facetSettings as HeatmapSettings['facetSettings'])!.sharedY = false;\n }\n\n const template = reactiveState.template as HeatmapLayerTemplate;\n const layerSettings = reactiveState.layersSettings[template];\n\n settings.NAValueAs = layerSettings.NAValueAs;\n if (settings.valueType === 'continuous' && layerSettings.normalizationDirection) {\n settings.normalization = {\n method: layerSettings.normalizationMethod,\n direction: layerSettings.normalizationDirection,\n };\n }\n\n if (settings.valueType === 'continuous' && (layerSettings.aggregateByX || layerSettings.aggregateByY)) {\n settings.aggregation = {\n x: layerSettings.aggregateByX && settings.xGroupBy && settings.xGroupBy.length > 0,\n y: layerSettings.aggregateByY && settings.yGroupBy && settings.yGroupBy.length > 0,\n method: layerSettings.aggregationMethod,\n };\n }\n\n settings.annotations?.forEach((annotation) => {\n if (annotation.axis === 'x') {\n annotation.titlePosition = reactiveState.axesSettings.axisX.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisX.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisX.annotationTitlePosition !== 'hidden';\n } else {\n annotation.titlePosition = reactiveState.axesSettings.axisY.annotationTitlePosition === 'hidden' ? undefined : reactiveState.axesSettings.axisY.annotationTitlePosition;\n annotation.showTitle = reactiveState.axesSettings.axisY.annotationTitlePosition !== 'hidden';\n }\n });\n\n if (reactiveState.axesSettings.other.canvasRenderMode) {\n settings.cellsRenderingMode = 'canvas';\n }\n\n return settings;\n}\n"],"names":["composeHeatmapSettings","settings","reactiveState","defaultPalette","aes","palette","_a","layer","PALETTE_MAP","_b","annotationSchema","source","getAxesDataFromForms","template","layerSettings","_c","annotation"],"mappings":";;;;;;;;AAKO,SAASA,EACdC,GACAC,GACAC,GACA;;AACA,QAAMC,IAAM,CAAA,GACNC,KAAUC,IAAAJ,EAAc,YAAYD,EAAS,YAAY,KAAK,MAApD,gBAAAK,EAAuD;AACvE,OAAIL,KAAA,gBAAAA,EAAU,eAAc,YAAY;AACtC,QAAIC,EAAc,aAAa,oBAAoB;AACjD,YAAMK,IAAQL,EAAc,eAAe;AAC3C,MAAKK,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA,IAGdA,EAAM,uBACTN,EAAS,cAAc;AAAA,QACrB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ,CAACM,EAAM;AAAA,MAAA;AAAA,IAGrB;AACA,IAAAH,EAAI,aAAaI,EAAYH,KAAWF,EAAe,UAAU,EAAE;AAAA,EACrE;AACE,IAAAC,EAAI,aAAaI,EAAYH,KAAW,QAAQ,EAAE;AAGpD,EAAAJ,EAAS,MAAMG,IAEfK,IAAAR,EAAS,gBAAT,QAAAQ,EAAsB,QAAQ,CAACC,MAAqB;;AAClD,UAAMC,IAASD,EAAiB,YAAY,OACtCL,KAAUC,IAAAJ,EAAc,YAAYS,CAAM,MAAhC,gBAAAL,EAAmC;AAEnD,IAAAI,EAAiB,SAASF,EAAYH,MAAYK,EAAiB,SAAS,aAAaP,EAAe,cAAcA,EAAe,WAAW,EAAE;AAAA,EACpJ,IACA,OAAO;AAAA,IACLF;AAAA,IACAW,EAAqBV,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAGtEA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,YAAYC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEhGA,EAAc,aAAa,MAAM,aAAa,QAAQD,EAAS,SACjEA,EAAS,KAAK,aAAaC,EAAc,aAAa,MAAM,YAAYA,EAAc,aAAa,OAEjGA,EAAc,aAAa,uBAAsBD,KAAA,gBAAAA,EAAU,eAAc,eAC1EA,EAAS,cAAoD,UAAU,IACvEA,EAAS,cAAoD,UAAU;AAG1E,QAAMY,IAAWX,EAAc,UACzBY,IAAgBZ,EAAc,eAAeW,CAAQ;AAE3D,SAAAZ,EAAS,YAAYa,EAAc,WAC/Bb,EAAS,cAAc,gBAAgBa,EAAc,2BACvDb,EAAS,gBAAgB;AAAA,IACvB,QAAQa,EAAc;AAAA,IACtB,WAAWA,EAAc;AAAA,EAAA,IAIzBb,EAAS,cAAc,iBAAiBa,EAAc,gBAAgBA,EAAc,kBACtFb,EAAS,cAAc;AAAA,IACrB,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,GAAGa,EAAc,gBAAgBb,EAAS,YAAYA,EAAS,SAAS,SAAS;AAAA,IACjF,QAAQa,EAAc;AAAA,EAAA,KAI1BC,IAAAd,EAAS,gBAAT,QAAAc,EAAsB,QAAQ,CAACC,MAAe;AAC5C,IAAIA,EAAW,SAAS,OACtBA,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B,aAEpFc,EAAW,gBAAgBd,EAAc,aAAa,MAAM,4BAA4B,WAAW,SAAYA,EAAc,aAAa,MAAM,yBAChJc,EAAW,YAAYd,EAAc,aAAa,MAAM,4BAA4B;AAAA,EAExF,IAEIA,EAAc,aAAa,MAAM,qBACnCD,EAAS,qBAAqB,WAGzBA;AACT;"}
|
|
@@ -5,10 +5,11 @@ import { getAxesDataFromForms as a } from "./getAxesDataFromForms.js";
|
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
7
|
import "vue";
|
|
8
|
+
import "@milaboratories/helpers";
|
|
8
9
|
function u(e, o, s) {
|
|
9
10
|
return o.length ? { type: "grouping", value: o[0] } : typeof e == "object" ? s : e;
|
|
10
11
|
}
|
|
11
|
-
function
|
|
12
|
+
function C(e, o, s, c) {
|
|
12
13
|
const n = o.optionsState.components.grouping;
|
|
13
14
|
if (n.selectorStates.length) {
|
|
14
15
|
const t = n.selectorStates[0].selectedSource, { inheritedAes: r, order: i } = m(
|
|
@@ -37,6 +38,6 @@ function x(e, o, s, c) {
|
|
|
37
38
|
), e.binsCount = o.axesSettings.other.binsCount, e;
|
|
38
39
|
}
|
|
39
40
|
export {
|
|
40
|
-
|
|
41
|
+
C as composeHistogramSettings
|
|
41
42
|
};
|
|
42
43
|
//# sourceMappingURL=composeHistogramSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeHistogramSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHistogramSettings.ts"],"sourcesContent":["import type { HistogramSettings } from '@milaboratories/miplots4';\nimport type { MappingLink } from '../../constantsCommon';\nimport { HISTOGRAM_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getHistogramAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n HistogramLayerTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport type { ChartLayerSettings } from '../index';\nimport { getAxesDataFromForms } from '../index';\n\nfunction useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T): T | {\n type: 'grouping';\n value: string;\n} {\n if (columns.length) {\n return { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string };\n }\n return typeof value === 'object' ? defaultValue : value as T;\n}\nexport function composeHistogramSettings(\n settings: HistogramSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n const grouping = reactiveState.optionsState.components.grouping;\n if (grouping.selectorStates.length) {\n const selectedSource = grouping.selectorStates[0].selectedSource;\n const { inheritedAes, order } = getHistogramAes(\n selectedSource,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n Object.assign(settings, { inheritedAes: { [selectedSource]: inheritedAes }, groupingOrder: order });\n }\n\n const layersKeys = HISTOGRAM_TEMPLATES_MAP[reactiveState.template as HistogramLayerTemplate];\n const layers: ChartLayerSettings[] = [];\n layersKeys.forEach((layer) => {\n if (layer === 'bins') {\n const layerSettings = reactiveState.layersSettings[layer];\n layers.push({\n type: 'bins',\n aes: {\n opacity: layerSettings.opacity,\n fillColor: useDefault(layerSettings.fillColor, grouping.selectorStates.map((v) => v.selectedSource), 'white'),\n },\n });\n }\n });\n settings.layers = layers as HistogramSettings['layers'];\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n settings.binsCount = reactiveState.axesSettings.other.binsCount;\n\n return settings;\n}\n"],"names":["useDefault","value","columns","defaultValue","composeHistogramSettings","settings","reactiveState","uniqueValuesData","defaultPalette","grouping","selectedSource","inheritedAes","order","getHistogramAes","layersKeys","HISTOGRAM_TEMPLATES_MAP","layers","layer","layerSettings","v","getAxesDataFromForms"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeHistogramSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeHistogramSettings.ts"],"sourcesContent":["import type { HistogramSettings } from '@milaboratories/miplots4';\nimport type { MappingLink } from '../../constantsCommon';\nimport { HISTOGRAM_TEMPLATES_MAP } from '../../constantsCommon';\nimport {\n getHistogramAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n HistogramLayerTemplate,\n ReactiveState,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport type { ChartLayerSettings } from '../index';\nimport { getAxesDataFromForms } from '../index';\n\nfunction useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T): T | {\n type: 'grouping';\n value: string;\n} {\n if (columns.length) {\n return { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string };\n }\n return typeof value === 'object' ? defaultValue : value as T;\n}\nexport function composeHistogramSettings(\n settings: HistogramSettings,\n reactiveState: ReactiveState,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n const grouping = reactiveState.optionsState.components.grouping;\n if (grouping.selectorStates.length) {\n const selectedSource = grouping.selectorStates[0].selectedSource;\n const { inheritedAes, order } = getHistogramAes(\n selectedSource,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n Object.assign(settings, { inheritedAes: { [selectedSource]: inheritedAes }, groupingOrder: order });\n }\n\n const layersKeys = HISTOGRAM_TEMPLATES_MAP[reactiveState.template as HistogramLayerTemplate];\n const layers: ChartLayerSettings[] = [];\n layersKeys.forEach((layer) => {\n if (layer === 'bins') {\n const layerSettings = reactiveState.layersSettings[layer];\n layers.push({\n type: 'bins',\n aes: {\n opacity: layerSettings.opacity,\n fillColor: useDefault(layerSettings.fillColor, grouping.selectorStates.map((v) => v.selectedSource), 'white'),\n },\n });\n }\n });\n settings.layers = layers as HistogramSettings['layers'];\n Object.assign(\n settings,\n getAxesDataFromForms(reactiveState.axesSettings, reactiveState.chartType),\n );\n settings.binsCount = reactiveState.axesSettings.other.binsCount;\n\n return settings;\n}\n"],"names":["useDefault","value","columns","defaultValue","composeHistogramSettings","settings","reactiveState","uniqueValuesData","defaultPalette","grouping","selectedSource","inheritedAes","order","getHistogramAes","layersKeys","HISTOGRAM_TEMPLATES_MAP","layers","layer","layerSettings","v","getAxesDataFromForms"],"mappings":";;;;;;;;AAeA,SAASA,EAA6BC,GAA+BC,GAAmBC,GAGtF;AACA,SAAID,EAAQ,SACH,EAAE,MAAM,YAAY,OAAOA,EAAQ,CAAC,EAAA,IAEtC,OAAOD,KAAU,WAAWE,IAAeF;AACpD;AACO,SAASG,EACdC,GACAC,GACAC,GACAC,GACA;AACA,QAAMC,IAAWH,EAAc,aAAa,WAAW;AACvD,MAAIG,EAAS,eAAe,QAAQ;AAClC,UAAMC,IAAiBD,EAAS,eAAe,CAAC,EAAE,gBAC5C,EAAE,cAAAE,GAAc,OAAAC,EAAA,IAAUC;AAAA,MAC9BH;AAAA,MACAH;AAAA,MACAD,EAAc;AAAA,MACdE,EAAe;AAAA,IAAA;AAEjB,WAAO,OAAOH,GAAU,EAAE,cAAc,EAAE,CAACK,CAAc,GAAGC,EAAA,GAAgB,eAAeC,GAAO;AAAA,EACpG;AAEA,QAAME,IAAaC,EAAwBT,EAAc,QAAkC,GACrFU,IAA+B,CAAA;AACrC,SAAAF,EAAW,QAAQ,CAACG,MAAU;AAC5B,QAAIA,MAAU,QAAQ;AACpB,YAAMC,IAAgBZ,EAAc,eAAeW,CAAK;AACxD,MAAAD,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,KAAK;AAAA,UACH,SAASE,EAAc;AAAA,UACvB,WAAWlB,EAAWkB,EAAc,WAAWT,EAAS,eAAe,IAAI,CAACU,MAAMA,EAAE,cAAc,GAAG,OAAO;AAAA,QAAA;AAAA,MAC9G,CACD;AAAA,IACH;AAAA,EACF,CAAC,GACDd,EAAS,SAASW,GAClB,OAAO;AAAA,IACLX;AAAA,IACAe,EAAqBd,EAAc,cAAcA,EAAc,SAAS;AAAA,EAAA,GAE1ED,EAAS,YAAYC,EAAc,aAAa,MAAM,WAE/CD;AACT;"}
|
|
@@ -6,19 +6,20 @@ import { getAxesDataFromFormsScatterplot as W } from "./getAxesDataFromForms.js"
|
|
|
6
6
|
import "@milaboratories/pf-plots";
|
|
7
7
|
import { readAnnotation as d, Annotation as S } from "@platforma-sdk/model";
|
|
8
8
|
import "vue";
|
|
9
|
+
import "@milaboratories/helpers";
|
|
9
10
|
function z(o, y, e, A, l) {
|
|
10
11
|
var t, b, E, x, N;
|
|
11
12
|
const m = (t = y.selectorStates[0]) == null ? void 0 : t.selectedSource, L = (b = e.selectorStates[0]) == null ? void 0 : b.selectedSource, a = (E = A.selectorStates[0]) == null ? void 0 : E.selectedSource, r = l.getSourceInfo(L), n = l.getSourceInfo(a);
|
|
12
|
-
o.grouping = [...o.grouping ?? []].map((
|
|
13
|
-
const
|
|
13
|
+
o.grouping = [...o.grouping ?? []].map((c) => ({ ...c }));
|
|
14
|
+
const i = o.xAxis, p = o.yAxis;
|
|
14
15
|
if (y.selectorStates.length) {
|
|
15
|
-
const
|
|
16
|
+
const c = l.getSourceInfo(m).spec, s = d(c, S.Graph.Thresholds);
|
|
16
17
|
s && (JSON.parse(s) ?? []).forEach((D) => {
|
|
17
18
|
var g;
|
|
18
19
|
const { columnId: u, value: T } = D;
|
|
19
|
-
u && r.kind === "column" && r.type === u.valueType && r.name === u.name && ((g = o.xAxis) == null ? void 0 : g.scale) === "discrete" && (
|
|
20
|
+
u && r.kind === "column" && r.type === u.valueType && r.name === u.name && ((g = o.xAxis) == null ? void 0 : g.scale) === "discrete" && (i.significantLines || (i.significantLines = []), i.significantLines.push(Number(T))), u && n.kind === "column" && n.type === u.valueType && n.name === u.name && (p.significantLines || (p.significantLines = []), p.significantLines.push(Number(T)));
|
|
20
21
|
});
|
|
21
|
-
const f = d(
|
|
22
|
+
const f = d(c, S.Graph.Palette);
|
|
22
23
|
if (f) {
|
|
23
24
|
const O = JSON.parse(f), { mapping: D = {}, name: u = "" } = O;
|
|
24
25
|
o.layers.forEach((h) => {
|
|
@@ -41,27 +42,27 @@ function z(o, y, e, A, l) {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
if (r.annotations) {
|
|
44
|
-
const
|
|
45
|
-
|
|
45
|
+
const c = d(r, S.Graph.Axis.UpperLimit), s = d(r, S.Graph.Axis.LowerLimit), f = d(r, S.Graph.Axis.SymmetricRange);
|
|
46
|
+
c && (i.upperValue = Number(c)), s && (i.lowerValue = Number(s)), f && (i.symmetricRange = Number(f));
|
|
46
47
|
}
|
|
47
48
|
if (n.annotations) {
|
|
48
|
-
const
|
|
49
|
-
|
|
49
|
+
const c = d(n, S.Graph.Axis.UpperLimit), s = d(n, S.Graph.Axis.LowerLimit), f = d(n, S.Graph.Axis.SymmetricRange);
|
|
50
|
+
c && (p.upperValue = Number(c)), s && (p.lowerValue = Number(s)), f && (p.symmetricRange = Number(f));
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
function B(o, y, e, A, l, m) {
|
|
53
54
|
function L(a) {
|
|
54
55
|
a && a.forEach((r) => {
|
|
55
|
-
const n = r.columnName.value,
|
|
56
|
-
|
|
56
|
+
const n = r.columnName.value, i = k(n, A, l, m);
|
|
57
|
+
i.order.length ? (r.order = i.order, r.inheritedAes = i.inheritedAes) : o.layers.forEach((p) => {
|
|
57
58
|
const t = p.aes;
|
|
58
59
|
if (!t)
|
|
59
60
|
return;
|
|
60
61
|
Object.keys(t).forEach((E) => {
|
|
61
|
-
var N,
|
|
62
|
+
var N, c;
|
|
62
63
|
const x = t[E];
|
|
63
64
|
if (G(x) && x.value === n) {
|
|
64
|
-
const s = ((
|
|
65
|
+
const s = ((c = F[((N = l[n]) == null ? void 0 : N.palette) ?? m]) == null ? void 0 : c.colors) ?? [];
|
|
65
66
|
x.palette = s;
|
|
66
67
|
}
|
|
67
68
|
});
|
|
@@ -70,8 +71,8 @@ function B(o, y, e, A, l, m) {
|
|
|
70
71
|
}
|
|
71
72
|
(y.selectorStates.length || e != null && e.selectorStates.length) && (o.grouping = [...o.grouping ?? []].map((a) => ({ ...a })), L(o.grouping)), o.type === "scatterplot" && (e != null && e.selectorStates.length) && (o.dotShape = [...o.dotShape ?? []].map((a) => ({ ...a })), L(o.dotShape));
|
|
72
73
|
}
|
|
73
|
-
function
|
|
74
|
-
var r, n,
|
|
74
|
+
function oo(o, y, e, A, l, m) {
|
|
75
|
+
var r, n, i, p;
|
|
75
76
|
o.layers = V(
|
|
76
77
|
P[e.template],
|
|
77
78
|
e.layersSettings,
|
|
@@ -82,7 +83,7 @@ function v(o, y, e, A, l, m) {
|
|
|
82
83
|
[
|
|
83
84
|
...((r = o == null ? void 0 : o.grouping) == null ? void 0 : r.map((t) => t.columnName)) ?? [],
|
|
84
85
|
...((n = o == null ? void 0 : o.dotSize) == null ? void 0 : n.map((t) => t.columnName)) ?? [],
|
|
85
|
-
...((
|
|
86
|
+
...((i = o == null ? void 0 : o.dotShape) == null ? void 0 : i.map((t) => t.columnName)) ?? []
|
|
86
87
|
],
|
|
87
88
|
void 0,
|
|
88
89
|
m.continuous
|
|
@@ -112,6 +113,6 @@ function v(o, y, e, A, l, m) {
|
|
|
112
113
|
export {
|
|
113
114
|
z as applyChartInfoFromAnnotations,
|
|
114
115
|
B as applyInheritedAes,
|
|
115
|
-
|
|
116
|
+
oo as composeScatterplotSettings
|
|
116
117
|
};
|
|
117
118
|
//# sourceMappingURL=composeScatterplotSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeScatterplotSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import type { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState,\n} from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n UNKNOWN_COLOR,\n} from '../../constantsAesthetic';\nimport type {\n MappingLink,\n ScatterplotStatisticsState } from '../../constantsCommon';\nimport {\n isMappedAes,\n SCATTERPLOT_TEMPLATES_MAP,\n} from '../../constantsCommon';\nimport type {\n AestheticMappingState } from '../../dataBindAes';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport type { AxisSettingsContinuous } from '@milaboratories/miplots4';\nimport { Annotation, readAnnotation } from '@platforma-sdk/model';\nimport type { Palette } from '../../components/AesSettings/types';\n\nexport function applyChartInfoFromAnnotations(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n x: ComponentStateSimple | ComponentStateFilter,\n y: ComponentStateSimple | ComponentStateFilter,\n inputGuide: InputGuide<InputState>,\n) {\n const groupingSource = grouping.selectorStates[0]?.selectedSource;\n const xSource = x.selectorStates[0]?.selectedSource;\n const ySource = y.selectorStates[0]?.selectedSource;\n const xInfo = inputGuide.getSourceInfo(xSource);\n const yInfo = inputGuide.getSourceInfo(ySource);\n\n settings.grouping = [...(settings.grouping ?? [])].map((v) => ({ ...v }));\n\n const xAxis = settings.xAxis as AxisSettingsContinuous;\n const yAxis = settings.yAxis as AxisSettingsContinuous;\n if (grouping.selectorStates.length) {\n const spec = inputGuide.getSourceInfo(groupingSource).spec;\n const thresholds = readAnnotation(spec, Annotation.Graph.Thresholds);\n if (thresholds) {\n const thresholdsData = JSON.parse(thresholds) ?? [];\n\n thresholdsData.forEach((thresholdData: { columnId: Record<string, string>; value: number }) => {\n const { columnId, value } = thresholdData;\n if (columnId && (xInfo.kind === 'column' && xInfo.type === columnId.valueType && xInfo.name === columnId.name && settings.xAxis?.scale === 'discrete')) {\n if (!xAxis.significantLines) {\n xAxis.significantLines = [];\n }\n xAxis.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!yAxis.significantLines) {\n yAxis.significantLines = [];\n }\n yAxis.significantLines.push(Number(value));\n }\n });\n }\n\n const palette = readAnnotation(spec, Annotation.Graph.Palette);\n if (palette) {\n const paletteData = JSON.parse(palette);\n const { mapping = {}, name = '' } = paletteData;\n settings.layers.forEach((layer) => {\n if (layer.type === 'dots') {\n if (!layer.aes) {\n layer.aes = {};\n }\n layer.aes.dotFill = { type: 'grouping', value: groupingSource };\n }\n });\n const paletteEntries = [...Object.entries(mapping), ['null', UNKNOWN_COLOR]];\n const paletteColors = PALETTE_MAP[name as keyof typeof PALETTE_MAP]?.colors ?? [];\n\n settings.grouping?.forEach((groupingElement) => {\n if (groupingElement.columnName.value === groupingSource) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupingElement.inheritedAes = paletteEntries.reduce((res: Record<string, any>, [key, value]) => { // TODO: remove any\n const color = paletteColors[Number(value)] ?? DEFAULT_BLACK;\n res[key] = {\n fillColor: color,\n lineColor: color,\n dotFill: color,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {});\n }\n });\n }\n }\n if (xInfo.annotations) {\n const upperLimit = readAnnotation(xInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(xInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(xInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n xAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n xAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n xAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n\n if (yInfo.annotations) {\n const upperLimit = readAnnotation(yInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(yInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(yInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n yAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n yAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n yAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n}\n\nexport function applyInheritedAes(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n shape: ComponentStateSimple | ComponentStateFilter | undefined,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n defaultPalette: Palette,\n) {\n function applyAesMapping(aesMappings: ScatterplotSettings['grouping'] | ScatterplotSettings['dotShape']) {\n if (!aesMappings) {\n return;\n }\n aesMappings.forEach((el) => {\n const selectedSource = el.columnName.value;\n const savedData = getScatterplotAes(selectedSource, uniqueValuesData, dataBindAes, defaultPalette); // get saved or default color or shape mapping\n if (!savedData.order.length) {\n settings.layers.forEach((layer) => {\n const layerAes = layer.aes;\n if (!layerAes) {\n return;\n }\n const aesKeys = Object.keys(layerAes);\n aesKeys.forEach((aesKey) => {\n const value = layerAes[aesKey as keyof typeof layerAes] as unknown;\n if (isMappedAes(value) && value.value === selectedSource) {\n const colors = PALETTE_MAP[dataBindAes[selectedSource]?.palette ?? defaultPalette]?.colors ?? [];\n (value as MappingLink & { palette: string[] }).palette = colors;\n }\n });\n });\n } else {\n el.order = savedData.order;\n el.inheritedAes = savedData.inheritedAes;\n }\n });\n }\n if (grouping.selectorStates.length || shape?.selectorStates.length) {\n settings.grouping = [...(settings.grouping ?? [])].map((v) => ({ ...v }));\n applyAesMapping(settings.grouping);\n }\n if (settings.type === 'scatterplot' && shape?.selectorStates.length) {\n settings.dotShape = [...(settings.dotShape ?? [])].map((v) => ({ ...v }));\n applyAesMapping(settings.dotShape);\n }\n}\nexport function composeScatterplotSettings(\n settings: ScatterplotSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n [\n ...(settings?.grouping?.map((v) => v.columnName) ?? []),\n ...(settings?.dotSize?.map((v) => v.columnName) ?? []),\n ...(settings?.dotShape?.map((v) => v.columnName) ?? []),\n ],\n undefined,\n defaultPalette.continuous,\n );\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.shape,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n\n const statisticsSettings = reactiveState.statisticsSettings as ScatterplotStatisticsState;\n const dotsLayer = settings.layers.find((layer) => layer.type === 'dots');\n if (statisticsSettings.trend.on && dotsLayer) {\n settings.trend = {\n color: dotsLayer.aes?.dotFill,\n bounded: false,\n };\n }\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide,\n );\n\n return settings;\n}\n"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","v","xAxis","yAxis","spec","thresholds","readAnnotation","Annotation","thresholdData","columnId","value","palette","paletteData","mapping","name","layer","paletteEntries","UNKNOWN_COLOR","paletteColors","_d","PALETTE_MAP","_e","groupingElement","res","key","color","DEFAULT_BLACK","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_LINE_WIDTH","upperLimit","lowerLimit","symmetricRange","applyInheritedAes","shape","uniqueValuesData","dataBindAes","defaultPalette","applyAesMapping","aesMappings","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromFormsScatterplot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composeScatterplotSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotSettings.ts"],"sourcesContent":["import type { ScatterplotSettings, ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type {\n ComponentStateFilter,\n ComponentStateSimple,\n InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState,\n} from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n PALETTE_MAP,\n UNKNOWN_COLOR,\n} from '../../constantsAesthetic';\nimport type {\n MappingLink,\n ScatterplotStatisticsState } from '../../constantsCommon';\nimport {\n isMappedAes,\n SCATTERPLOT_TEMPLATES_MAP,\n} from '../../constantsCommon';\nimport type {\n AestheticMappingState } from '../../dataBindAes';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_DOT_SIZE,\n DEFAULT_LINE_WIDTH,\n getScatterplotAes,\n} from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport type { AxisSettingsContinuous } from '@milaboratories/miplots4';\nimport { Annotation, readAnnotation } from '@platforma-sdk/model';\nimport type { Palette } from '../../components/AesSettings/types';\n\nexport function applyChartInfoFromAnnotations(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n x: ComponentStateSimple | ComponentStateFilter,\n y: ComponentStateSimple | ComponentStateFilter,\n inputGuide: InputGuide<InputState>,\n) {\n const groupingSource = grouping.selectorStates[0]?.selectedSource;\n const xSource = x.selectorStates[0]?.selectedSource;\n const ySource = y.selectorStates[0]?.selectedSource;\n const xInfo = inputGuide.getSourceInfo(xSource);\n const yInfo = inputGuide.getSourceInfo(ySource);\n\n settings.grouping = [...(settings.grouping ?? [])].map((v) => ({ ...v }));\n\n const xAxis = settings.xAxis as AxisSettingsContinuous;\n const yAxis = settings.yAxis as AxisSettingsContinuous;\n if (grouping.selectorStates.length) {\n const spec = inputGuide.getSourceInfo(groupingSource).spec;\n const thresholds = readAnnotation(spec, Annotation.Graph.Thresholds);\n if (thresholds) {\n const thresholdsData = JSON.parse(thresholds) ?? [];\n\n thresholdsData.forEach((thresholdData: { columnId: Record<string, string>; value: number }) => {\n const { columnId, value } = thresholdData;\n if (columnId && (xInfo.kind === 'column' && xInfo.type === columnId.valueType && xInfo.name === columnId.name && settings.xAxis?.scale === 'discrete')) {\n if (!xAxis.significantLines) {\n xAxis.significantLines = [];\n }\n xAxis.significantLines.push(Number(value));\n }\n\n if (columnId && (yInfo.kind === 'column' && yInfo.type === columnId.valueType && yInfo.name === columnId.name)) {\n if (!yAxis.significantLines) {\n yAxis.significantLines = [];\n }\n yAxis.significantLines.push(Number(value));\n }\n });\n }\n\n const palette = readAnnotation(spec, Annotation.Graph.Palette);\n if (palette) {\n const paletteData = JSON.parse(palette);\n const { mapping = {}, name = '' } = paletteData;\n settings.layers.forEach((layer) => {\n if (layer.type === 'dots') {\n if (!layer.aes) {\n layer.aes = {};\n }\n layer.aes.dotFill = { type: 'grouping', value: groupingSource };\n }\n });\n const paletteEntries = [...Object.entries(mapping), ['null', UNKNOWN_COLOR]];\n const paletteColors = PALETTE_MAP[name as keyof typeof PALETTE_MAP]?.colors ?? [];\n\n settings.grouping?.forEach((groupingElement) => {\n if (groupingElement.columnName.value === groupingSource) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupingElement.inheritedAes = paletteEntries.reduce((res: Record<string, any>, [key, value]) => { // TODO: remove any\n const color = paletteColors[Number(value)] ?? DEFAULT_BLACK;\n res[key] = {\n fillColor: color,\n lineColor: color,\n dotFill: color,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {});\n }\n });\n }\n }\n if (xInfo.annotations) {\n const upperLimit = readAnnotation(xInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(xInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(xInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n xAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n xAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n xAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n\n if (yInfo.annotations) {\n const upperLimit = readAnnotation(yInfo, Annotation.Graph.Axis.UpperLimit);\n const lowerLimit = readAnnotation(yInfo, Annotation.Graph.Axis.LowerLimit);\n const symmetricRange = readAnnotation(yInfo, Annotation.Graph.Axis.SymmetricRange);\n if (upperLimit) {\n yAxis!.upperValue = Number(upperLimit);\n }\n if (lowerLimit) {\n yAxis!.lowerValue = Number(lowerLimit);\n }\n if (symmetricRange) {\n yAxis!.symmetricRange = Number(symmetricRange);\n }\n }\n}\n\nexport function applyInheritedAes(\n settings: ScatterplotSettings | ScatterplotUmapSettings,\n grouping: ComponentStateSimple | ComponentStateFilter,\n shape: ComponentStateSimple | ComponentStateFilter | undefined,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n defaultPalette: Palette,\n) {\n function applyAesMapping(aesMappings: ScatterplotSettings['grouping'] | ScatterplotSettings['dotShape']) {\n if (!aesMappings) {\n return;\n }\n aesMappings.forEach((el) => {\n const selectedSource = el.columnName.value;\n const savedData = getScatterplotAes(selectedSource, uniqueValuesData, dataBindAes, defaultPalette); // get saved or default color or shape mapping\n if (!savedData.order.length) {\n settings.layers.forEach((layer) => {\n const layerAes = layer.aes;\n if (!layerAes) {\n return;\n }\n const aesKeys = Object.keys(layerAes);\n aesKeys.forEach((aesKey) => {\n const value = layerAes[aesKey as keyof typeof layerAes] as unknown;\n if (isMappedAes(value) && value.value === selectedSource) {\n const colors = PALETTE_MAP[dataBindAes[selectedSource]?.palette ?? defaultPalette]?.colors ?? [];\n (value as MappingLink & { palette: string[] }).palette = colors;\n }\n });\n });\n } else {\n el.order = savedData.order;\n el.inheritedAes = savedData.inheritedAes;\n }\n });\n }\n if (grouping.selectorStates.length || shape?.selectorStates.length) {\n settings.grouping = [...(settings.grouping ?? [])].map((v) => ({ ...v }));\n applyAesMapping(settings.grouping);\n }\n if (settings.type === 'scatterplot' && shape?.selectorStates.length) {\n settings.dotShape = [...(settings.dotShape ?? [])].map((v) => ({ ...v }));\n applyAesMapping(settings.dotShape);\n }\n}\nexport function composeScatterplotSettings(\n settings: ScatterplotSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n [\n ...(settings?.grouping?.map((v) => v.columnName) ?? []),\n ...(settings?.dotSize?.map((v) => v.columnName) ?? []),\n ...(settings?.dotShape?.map((v) => v.columnName) ?? []),\n ],\n undefined,\n defaultPalette.continuous,\n );\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.shape,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n\n const statisticsSettings = reactiveState.statisticsSettings as ScatterplotStatisticsState;\n const dotsLayer = settings.layers.find((layer) => layer.type === 'dots');\n if (statisticsSettings.trend.on && dotsLayer) {\n settings.trend = {\n color: dotsLayer.aes?.dotFill,\n bounded: false,\n };\n }\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide,\n );\n\n return settings;\n}\n"],"names":["applyChartInfoFromAnnotations","settings","grouping","x","y","inputGuide","groupingSource","_a","xSource","_b","ySource","_c","xInfo","yInfo","v","xAxis","yAxis","spec","thresholds","readAnnotation","Annotation","thresholdData","columnId","value","palette","paletteData","mapping","name","layer","paletteEntries","UNKNOWN_COLOR","paletteColors","_d","PALETTE_MAP","_e","groupingElement","res","key","color","DEFAULT_BLACK","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_LINE_WIDTH","upperLimit","lowerLimit","symmetricRange","applyInheritedAes","shape","uniqueValuesData","dataBindAes","defaultPalette","applyAesMapping","aesMappings","el","selectedSource","savedData","getScatterplotAes","layerAes","aesKey","isMappedAes","colors","composeScatterplotSettings","dataByColumns","reactiveState","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","statisticsSettings","dotsLayer","getAxesDataFromFormsScatterplot"],"mappings":"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"}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import { SCATTERPLOT_TEMPLATES_MAP as
|
|
1
|
+
import { SCATTERPLOT_TEMPLATES_MAP as l } from "../../constantsCommon.js";
|
|
2
2
|
import { DEFAULT_DOT_SIZE_CANVAS as _ } from "../../dataBindAes.js";
|
|
3
3
|
import { getScatterplotLayersSettings as E } from "./getLayersDataFromForms.js";
|
|
4
4
|
import { getAxesDataFromFormsScatterplot as s } from "./getAxesDataFromForms.js";
|
|
5
5
|
import "@milaboratories/pf-plots";
|
|
6
6
|
import "@platforma-sdk/model";
|
|
7
7
|
import "vue";
|
|
8
|
+
import "@milaboratories/helpers";
|
|
8
9
|
import { applyInheritedAes as S, applyChartInfoFromAnnotations as L } from "./composeScatterplotSettings.js";
|
|
9
10
|
import "../../constantsAesthetic.js";
|
|
10
11
|
const a = 750, c = 450;
|
|
11
|
-
function
|
|
12
|
-
var
|
|
12
|
+
function D(p, A, o, m, r, T) {
|
|
13
|
+
var n;
|
|
13
14
|
return p.layers = E(
|
|
14
|
-
|
|
15
|
+
l[o.template],
|
|
15
16
|
o.layersSettings,
|
|
16
17
|
A,
|
|
17
18
|
o.optionsState,
|
|
18
19
|
o.dataBindAes,
|
|
19
20
|
m,
|
|
20
|
-
(
|
|
21
|
+
(n = p == null ? void 0 : p.grouping) == null ? void 0 : n.map((t) => t.columnName),
|
|
21
22
|
_
|
|
22
23
|
), S(
|
|
23
24
|
p,
|
|
24
25
|
o.optionsState.components.grouping,
|
|
25
26
|
void 0,
|
|
26
|
-
|
|
27
|
+
r,
|
|
27
28
|
o.dataBindAes,
|
|
28
29
|
T.categorical
|
|
29
30
|
), Object.assign(
|
|
30
31
|
p,
|
|
31
|
-
s(o.axesSettings,
|
|
32
|
+
s(o.axesSettings, r, o.optionsState, m)
|
|
32
33
|
), L(
|
|
33
34
|
p,
|
|
34
35
|
o.optionsState.components.grouping,
|
|
@@ -41,6 +42,6 @@ function C(p, A, o, m, n, T) {
|
|
|
41
42
|
}, p;
|
|
42
43
|
}
|
|
43
44
|
export {
|
|
44
|
-
|
|
45
|
+
D as composeScatterplotUmapSettings
|
|
45
46
|
};
|
|
46
47
|
//# sourceMappingURL=composeScatterplotUmapSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeScatterplotUmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotUmapSettings.ts"],"sourcesContent":["import type { ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type { InputGuide, InputState, PlotDataAndSettings, ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { SCATTERPLOT_TEMPLATES_MAP } from '../../constantsCommon';\nimport { DEFAULT_DOT_SIZE_CANVAS } from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport { applyChartInfoFromAnnotations, applyInheritedAes } from './composeScatterplotSettings';\n\nconst DEFAULT_WIDTH_SCATTERPLOT_UMAP = 750;\nconst DEFAULT_HEIGHT_SCATTERPLOT_UMAP = 450;\n\nexport function composeScatterplotUmapSettings(\n settings: ScatterplotUmapSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n settings?.grouping?.map((v) => v.columnName),\n DEFAULT_DOT_SIZE_CANVAS,\n ) as ScatterplotUmapSettings['layers'];\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n undefined,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide,\n );\n\n settings.size = {\n width: DEFAULT_WIDTH_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n height: DEFAULT_HEIGHT_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n };\n\n return settings;\n}\n"],"names":["DEFAULT_WIDTH_SCATTERPLOT_UMAP","DEFAULT_HEIGHT_SCATTERPLOT_UMAP","composeScatterplotUmapSettings","settings","dataByColumns","reactiveState","inputGuide","uniqueValuesData","defaultPalette","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","_a","v","DEFAULT_DOT_SIZE_CANVAS","applyInheritedAes","getAxesDataFromFormsScatterplot","applyChartInfoFromAnnotations"],"mappings":"
|
|
1
|
+
{"version":3,"file":"composeScatterplotUmapSettings.js","sources":["../../../src/utils/createChartSettingsForRender/composeScatterplotUmapSettings.ts"],"sourcesContent":["import type { ScatterplotUmapSettings } from '@milaboratories/miplots4';\nimport type { InputGuide, InputState, PlotDataAndSettings, ScatterplotUIState } from '@milaboratories/pf-plots';\nimport { SCATTERPLOT_TEMPLATES_MAP } from '../../constantsCommon';\nimport { DEFAULT_DOT_SIZE_CANVAS } from '../../dataBindAes';\nimport type {\n DefaultPalettes,\n ReactiveState,\n ScatterplotLayersTemplate,\n UniqueValuesBySourceMap,\n} from '../../types';\nimport { getAxesDataFromFormsScatterplot, getScatterplotLayersSettings } from '../index';\nimport { applyChartInfoFromAnnotations, applyInheritedAes } from './composeScatterplotSettings';\n\nconst DEFAULT_WIDTH_SCATTERPLOT_UMAP = 750;\nconst DEFAULT_HEIGHT_SCATTERPLOT_UMAP = 450;\n\nexport function composeScatterplotUmapSettings(\n settings: ScatterplotUmapSettings,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n reactiveState: ReactiveState,\n inputGuide: InputGuide<InputState>,\n uniqueValuesData: UniqueValuesBySourceMap,\n defaultPalette: DefaultPalettes,\n) {\n settings.layers = getScatterplotLayersSettings(\n SCATTERPLOT_TEMPLATES_MAP[reactiveState.template as ScatterplotLayersTemplate],\n reactiveState.layersSettings,\n dataByColumns,\n reactiveState.optionsState as ScatterplotUIState,\n reactiveState.dataBindAes,\n inputGuide,\n settings?.grouping?.map((v) => v.columnName),\n DEFAULT_DOT_SIZE_CANVAS,\n ) as ScatterplotUmapSettings['layers'];\n\n applyInheritedAes(\n settings,\n reactiveState.optionsState.components.grouping,\n undefined,\n uniqueValuesData,\n reactiveState.dataBindAes,\n defaultPalette.categorical,\n );\n\n Object.assign(\n settings,\n getAxesDataFromFormsScatterplot(reactiveState.axesSettings, uniqueValuesData, reactiveState.optionsState, inputGuide),\n );\n\n applyChartInfoFromAnnotations(\n settings,\n reactiveState.optionsState.components.grouping,\n reactiveState.optionsState.components.x,\n reactiveState.optionsState.components.y,\n inputGuide,\n );\n\n settings.size = {\n width: DEFAULT_WIDTH_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n height: DEFAULT_HEIGHT_SCATTERPLOT_UMAP * reactiveState.chartScale / 100,\n };\n\n return settings;\n}\n"],"names":["DEFAULT_WIDTH_SCATTERPLOT_UMAP","DEFAULT_HEIGHT_SCATTERPLOT_UMAP","composeScatterplotUmapSettings","settings","dataByColumns","reactiveState","inputGuide","uniqueValuesData","defaultPalette","getScatterplotLayersSettings","SCATTERPLOT_TEMPLATES_MAP","_a","v","DEFAULT_DOT_SIZE_CANVAS","applyInheritedAes","getAxesDataFromFormsScatterplot","applyChartInfoFromAnnotations"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAiC,KACjCC,IAAkC;AAEjC,SAASC,EACdC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA;;AACA,SAAAL,EAAS,SAASM;AAAA,IAChBC,EAA0BL,EAAc,QAAqC;AAAA,IAC7EA,EAAc;AAAA,IACdD;AAAA,IACAC,EAAc;AAAA,IACdA,EAAc;AAAA,IACdC;AAAA,KACAK,IAAAR,KAAA,gBAAAA,EAAU,aAAV,gBAAAQ,EAAoB,IAAI,CAACC,MAAMA,EAAE;AAAA,IACjCC;AAAA,EAAA,GAGFC;AAAA,IACEX;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtC;AAAA,IACAE;AAAA,IACAF,EAAc;AAAA,IACdG,EAAe;AAAA,EAAA,GAGjB,OAAO;AAAA,IACLL;AAAA,IACAY,EAAgCV,EAAc,cAAcE,GAAkBF,EAAc,cAAcC,CAAU;AAAA,EAAA,GAGtHU;AAAA,IACEb;AAAA,IACAE,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCA,EAAc,aAAa,WAAW;AAAA,IACtCC;AAAA,EAAA,GAGFH,EAAS,OAAO;AAAA,IACd,OAAOH,IAAiCK,EAAc,aAAa;AAAA,IACnE,QAAQJ,IAAkCI,EAAc,aAAa;AAAA,EAAA,GAGhEF;AACT;"}
|