@milaboratories/graph-maker 1.1.191 → 1.1.193
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/constantsAesthetic.d.ts +0 -1
- package/dist/constantsAesthetic.js +16 -17
- package/dist/constantsAesthetic.js.map +1 -1
- package/dist/dataBindAes.d.ts +5 -5
- package/dist/dataBindAes.js +110 -110
- package/dist/dataBindAes.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +35 -35
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/LayersForm/AesSelector.vue.js +59 -59
- package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/Bubble.vue.js +41 -41
- package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +35 -35
- package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +31 -31
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +35 -35
- package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
- package/dist/icons/StackedAreaIcon.vue.js +1 -0
- package/dist/icons/StackedAreaIcon.vue.js.map +1 -1
- package/dist/index.vue.js +94 -90
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts +8 -3
- package/dist/store.js +129 -123
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js +11 -11
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js +28 -28
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +23 -20
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +20 -18
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js +28 -28
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js +11 -10
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +3 -3
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +71 -68
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +2 -2
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +19 -18
- package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts +1 -1
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js +37 -37
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as ee, computed as r, ref as k, onMounted as le, watch as $, createElementBlock as p, openBlock as d, createElementVNode as a, createVNode as s, withCtx as b, createCommentVNode as m, unref as l, createBlock as H } from "vue";
|
|
2
|
-
import { PlBtnGroup as S, PlTextField as
|
|
2
|
+
import { PlBtnGroup as S, PlTextField as U, PlToggleSwitch as v, Slider as oe } from "@platforma-sdk/ui-vue";
|
|
3
3
|
import { useStore as te } from "../../store.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import I from "../../components/CollapsableBlock.vue.js";
|
|
5
|
+
import G from "../../icons/Right.vue.js";
|
|
6
6
|
import N from "../../icons/Down.vue.js";
|
|
7
7
|
import R from "../../components/BtnIconGroup.vue.js";
|
|
8
8
|
import ae from "../../icons/AlignLeft.vue.js";
|
|
@@ -21,10 +21,10 @@ import z from "../../components/AesSettings/FormWrapper.vue.js";
|
|
|
21
21
|
import j from "../../components/AesSettings/AesDataMappingDiscrete.vue.js";
|
|
22
22
|
import { createDefaultMapping as J } from "../../dataBindAes.js";
|
|
23
23
|
import "../../constantsAesthetic.js";
|
|
24
|
-
import { getDiscreteLabelsRotation as
|
|
24
|
+
import { getDiscreteLabelsRotation as fe } from "../../utils/createChartSettingsForRender/getAxesDataFromForms.js";
|
|
25
25
|
import "@milaboratories/pf-plots";
|
|
26
26
|
import "@platforma-sdk/model";
|
|
27
|
-
const
|
|
27
|
+
const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options-row block" }, ye = {
|
|
28
28
|
key: 0,
|
|
29
29
|
class: "axes-settings-input"
|
|
30
30
|
}, be = { class: "axes-settings-options-row" }, Se = {
|
|
@@ -42,7 +42,7 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
42
42
|
}, Te = {
|
|
43
43
|
key: 4,
|
|
44
44
|
class: "axes-settings-options-row"
|
|
45
|
-
}, Ae = { class: "axes-settings-options-row block" }, Oe = { key: 5 }, Xe = { class: "axes-settings-options-row table" },
|
|
45
|
+
}, Ae = { class: "axes-settings-options-row block" }, Oe = { key: 5 }, Xe = { class: "axes-settings-options-row table" }, Pe = { class: "axes-settings-options-row table" }, Ue = { class: "axes-settings-options-row table" }, Ie = { class: "axes-settings-options-row block" }, Ge = { key: 0 }, Ne = { class: "axes-settings-options-row block" }, Re = { class: "axes-settings-options-row table" }, Ce = { class: "axes-settings-options-row table" }, Fe = { class: "other" }, De = { class: "axes-settings-options-row" }, Be = { class: "axes-settings-options-row" }, Le = { class: "axes-settings-options-row" }, Ye = { class: "axes-settings-options-row block" }, vl = /* @__PURE__ */ ee({
|
|
46
46
|
__name: "DiscreteAxesSettingsForm",
|
|
47
47
|
setup(Me) {
|
|
48
48
|
const i = te(), t = i.value.reactive.axesSettings, T = {
|
|
@@ -70,13 +70,13 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
70
70
|
{ value: "bottom", icon: ve },
|
|
71
71
|
{ value: "left-bottom", icon: ge },
|
|
72
72
|
{ value: "full", icon: ie }
|
|
73
|
-
], C = r(() => i.value.inputGuide.value), O = r(() => i.value.uniqueValuesData.value),
|
|
73
|
+
], C = r(() => i.value.inputGuide.value), O = r(() => i.value.uniqueValuesData.value), x = k(!1), V = k(!1), F = r(() => i.value.reactive.tabDefaultState.axes.reorderPrimaryOpen), D = r(() => i.value.reactive.tabDefaultState.axes.reorderSecondaryOpen);
|
|
74
74
|
le(() => {
|
|
75
|
-
F.value && (
|
|
75
|
+
F.value && (x.value = !0), D.value && (V.value = !0);
|
|
76
76
|
}), $(() => F.value, (n) => {
|
|
77
|
-
n && (V.value = !1,
|
|
77
|
+
n && (V.value = !1, x.value = !0);
|
|
78
78
|
}), $(() => D.value, (n) => {
|
|
79
|
-
n && (
|
|
79
|
+
n && (x.value = !1, V.value = !0);
|
|
80
80
|
});
|
|
81
81
|
const g = r(() => {
|
|
82
82
|
var n, e;
|
|
@@ -84,23 +84,23 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
84
84
|
}), y = r(() => {
|
|
85
85
|
var n, e;
|
|
86
86
|
return (e = (n = i.value.reactive.optionsState.components.secondaryGrouping) == null ? void 0 : n.selectorStates[0]) == null ? void 0 : e.selectedSource;
|
|
87
|
-
}), c = r(() => i.value.commonHelpersData.primaryGroups.value), w = r(() => i.value.commonHelpersData.secondaryGroups.value), B = r(() => i.value.commonHelpersData.usedAesInMapping.value), L = k(i.value.reactive.dataBindAes[g.value] ?? J(c.value)), Y = k(i.value.reactive.dataBindAes[y.value] ?? J(w.value)), X = r(() => {
|
|
87
|
+
}), c = r(() => i.value.commonHelpersData.primaryGroups.value), w = r(() => i.value.commonHelpersData.secondaryGroups.value), B = r(() => i.value.commonHelpersData.usedAesInMapping.value), L = k(i.value.reactive.dataBindAes[g.value] ?? J(c.value, i.value.defaultPalette.categorical)), Y = k(i.value.reactive.dataBindAes[y.value] ?? J(w.value, i.value.defaultPalette.categorical)), X = r(() => {
|
|
88
88
|
var n;
|
|
89
89
|
if (g.value) {
|
|
90
90
|
const e = C.value.getSourceInfo(g.value) ?? null, o = ((n = O.value[g.value]) == null ? void 0 : n.labels) ?? null;
|
|
91
91
|
return {
|
|
92
92
|
selectedSourceInfo: e,
|
|
93
|
-
labels: c.value.reduce((u,
|
|
93
|
+
labels: c.value.reduce((u, f) => (u[f] = (o == null ? void 0 : o[f]) ?? String(f), u), {})
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
return null;
|
|
97
|
-
}),
|
|
97
|
+
}), P = r(() => {
|
|
98
98
|
var n;
|
|
99
99
|
if (y.value) {
|
|
100
100
|
const e = C.value.getSourceInfo(y.value) ?? null, o = ((n = O.value[y.value]) == null ? void 0 : n.labels) ?? null;
|
|
101
101
|
return {
|
|
102
102
|
selectedSourceInfo: e,
|
|
103
|
-
labels: w.value.reduce((u,
|
|
103
|
+
labels: w.value.reduce((u, f) => (u[f] = (o == null ? void 0 : o[f]) ?? String(f), u), {})
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
106
|
return null;
|
|
@@ -116,7 +116,7 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
116
116
|
], h = r(() => O.value[g.value]), E = r({
|
|
117
117
|
get() {
|
|
118
118
|
var n;
|
|
119
|
-
return
|
|
119
|
+
return fe(t.axisX.labelsRotation, (n = h.value) == null ? void 0 : n.options);
|
|
120
120
|
},
|
|
121
121
|
set(n) {
|
|
122
122
|
t.axisX.labelsRotation = n;
|
|
@@ -127,11 +127,11 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
127
127
|
onClick: e[30] || (e[30] = (o) => o.stopPropagation())
|
|
128
128
|
}, [
|
|
129
129
|
e[44] || (e[44] = a("h3", { class: "axes-title" }, " Axes ", -1)),
|
|
130
|
-
a("div",
|
|
131
|
-
s(
|
|
130
|
+
a("div", xe, [
|
|
131
|
+
s(I, {
|
|
132
132
|
title: "Title",
|
|
133
133
|
settings: T,
|
|
134
|
-
icon:
|
|
134
|
+
icon: G,
|
|
135
135
|
"icon-open": N
|
|
136
136
|
}, {
|
|
137
137
|
default: b(() => [
|
|
@@ -144,7 +144,7 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
144
144
|
}, null, 8, ["modelValue"])
|
|
145
145
|
]),
|
|
146
146
|
l(t).title.mode === "custom" ? (d(), p("div", ye, [
|
|
147
|
-
s(l(
|
|
147
|
+
s(l(U), {
|
|
148
148
|
modelValue: l(t).title.value,
|
|
149
149
|
"onUpdate:modelValue": e[1] || (e[1] = (o) => l(t).title.value = o),
|
|
150
150
|
label: "Chart title",
|
|
@@ -162,10 +162,10 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
162
162
|
]),
|
|
163
163
|
_: 1
|
|
164
164
|
}),
|
|
165
|
-
s(
|
|
165
|
+
s(I, {
|
|
166
166
|
title: "X-axis",
|
|
167
167
|
settings: T,
|
|
168
|
-
icon:
|
|
168
|
+
icon: G,
|
|
169
169
|
"icon-open": N
|
|
170
170
|
}, {
|
|
171
171
|
default: b(() => [
|
|
@@ -173,14 +173,14 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
173
173
|
e[32] || (e[32] = a("span", null, "Primary groups order: ", -1)),
|
|
174
174
|
s(q, {
|
|
175
175
|
data: { type: "data", value: null },
|
|
176
|
-
onClick: e[3] || (e[3] = (o) =>
|
|
176
|
+
onClick: e[3] || (e[3] = (o) => x.value = !0)
|
|
177
177
|
}),
|
|
178
|
-
|
|
178
|
+
x.value && X.value ? (d(), H(z, {
|
|
179
179
|
key: 0,
|
|
180
180
|
title: "Reorder primary groups",
|
|
181
181
|
"back-title": "Axes Settings",
|
|
182
182
|
"onForm:open": e[6] || (e[6] = (o) => l(i).reactive.tabDefaultState.axes.reorderPrimaryOpen = !1),
|
|
183
|
-
"onForm:close": e[7] || (e[7] = (o) =>
|
|
183
|
+
"onForm:close": e[7] || (e[7] = (o) => x.value = !1)
|
|
184
184
|
}, {
|
|
185
185
|
default: b(() => {
|
|
186
186
|
var o;
|
|
@@ -216,7 +216,7 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
216
216
|
data: { type: "data", value: null },
|
|
217
217
|
onClick: e[9] || (e[9] = (o) => V.value = !0)
|
|
218
218
|
}),
|
|
219
|
-
V.value &&
|
|
219
|
+
V.value && P.value ? (d(), H(z, {
|
|
220
220
|
key: 0,
|
|
221
221
|
title: "Reorder secondary groups",
|
|
222
222
|
"back-title": "Axes Settings",
|
|
@@ -232,8 +232,8 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
232
232
|
e[10] || (e[10] = (u) => Y.value = u),
|
|
233
233
|
e[11] || (e[11] = (u) => M(u, y.value))
|
|
234
234
|
],
|
|
235
|
-
"column-value-labels":
|
|
236
|
-
"data-column-label": ((o =
|
|
235
|
+
"column-value-labels": P.value.labels,
|
|
236
|
+
"data-column-label": ((o = P.value.selectedSourceInfo) == null ? void 0 : o.label) ?? "",
|
|
237
237
|
"used-aes-in-mapping": B.value[y.value],
|
|
238
238
|
"allow-reordering": "",
|
|
239
239
|
"allow-hiding": "",
|
|
@@ -268,7 +268,7 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
268
268
|
}, null, 8, ["modelValue"])
|
|
269
269
|
]),
|
|
270
270
|
l(t).axisX.titleMode === "custom" ? (d(), p("div", Oe, [
|
|
271
|
-
s(l(
|
|
271
|
+
s(l(U), {
|
|
272
272
|
modelValue: l(t).axisX.customTitle,
|
|
273
273
|
"onUpdate:modelValue": e[17] || (e[17] = (o) => l(t).axisX.customTitle = o),
|
|
274
274
|
label: "Text",
|
|
@@ -282,14 +282,14 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
282
282
|
"onUpdate:modelValue": e[18] || (e[18] = (o) => l(t).axisX.gridlines = o)
|
|
283
283
|
}, null, 8, ["modelValue"])
|
|
284
284
|
]),
|
|
285
|
-
a("div",
|
|
285
|
+
a("div", Pe, [
|
|
286
286
|
e[38] || (e[38] = a("span", null, "Lines between categories", -1)),
|
|
287
287
|
s(l(v), {
|
|
288
288
|
modelValue: l(t).axisX.linesBetweenCategories,
|
|
289
289
|
"onUpdate:modelValue": e[19] || (e[19] = (o) => l(t).axisX.linesBetweenCategories = o)
|
|
290
290
|
}, null, 8, ["modelValue"])
|
|
291
291
|
]),
|
|
292
|
-
a("div",
|
|
292
|
+
a("div", Ue, [
|
|
293
293
|
e[39] || (e[39] = a("span", null, "Ticks", -1)),
|
|
294
294
|
s(l(v), {
|
|
295
295
|
modelValue: l(t).axisX.ticks,
|
|
@@ -299,14 +299,14 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
299
299
|
]),
|
|
300
300
|
_: 1
|
|
301
301
|
}),
|
|
302
|
-
s(
|
|
302
|
+
s(I, {
|
|
303
303
|
title: "Y-axis",
|
|
304
304
|
settings: T,
|
|
305
|
-
icon:
|
|
305
|
+
icon: G,
|
|
306
306
|
"icon-open": N
|
|
307
307
|
}, {
|
|
308
308
|
default: b(() => [
|
|
309
|
-
a("div",
|
|
309
|
+
a("div", Ie, [
|
|
310
310
|
s(l(S), {
|
|
311
311
|
modelValue: l(t).axisY.titleMode,
|
|
312
312
|
"onUpdate:modelValue": e[21] || (e[21] = (o) => l(t).axisY.titleMode = o),
|
|
@@ -314,8 +314,8 @@ const fe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
|
|
|
314
314
|
options: A
|
|
315
315
|
}, null, 8, ["modelValue"])
|
|
316
316
|
]),
|
|
317
|
-
l(t).axisY.titleMode === "custom" ? (d(), p("div",
|
|
318
|
-
s(l(
|
|
317
|
+
l(t).axisY.titleMode === "custom" ? (d(), p("div", Ge, [
|
|
318
|
+
s(l(U), {
|
|
319
319
|
modelValue: l(t).axisY.customTitle,
|
|
320
320
|
"onUpdate:modelValue": e[22] || (e[22] = (o) => l(t).axisY.customTitle = o),
|
|
321
321
|
label: "Text",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscreteAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, onMounted, ref } from 'vue';\nimport AesDataMapping from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport type { AestheticMappingCategorical } from '../../dataBindAes';\nimport { createDefaultMapping } from '../../dataBindAes';\nimport type { LabelsRotation } from '../../types';\nimport { getDiscreteLabelsRotation } from '../../utils';\nimport { watch } from 'vue';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n};\n\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', icon: Rotation90 },\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst reorderPrimaryOpen = ref(false);\nconst reorderSecondaryOpen = ref(false);\n\nconst defaultReorderPrimaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen);\nconst defaultReorderSecondaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen);\nonMounted(() => {\n if (defaultReorderPrimaryOpen.value) {\n reorderPrimaryOpen.value = true;\n }\n if (defaultReorderSecondaryOpen.value) {\n reorderSecondaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderPrimaryOpen.value, (v) => {\n if (v) {\n reorderSecondaryOpen.value = false;\n reorderPrimaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderSecondaryOpen.value, (v) => {\n if (v) {\n reorderPrimaryOpen.value = false;\n reorderSecondaryOpen.value = true;\n }\n});\n\nconst primaryGrouping = computed(() => store.value.reactive.optionsState.components.primaryGrouping?.selectorStates[0]?.selectedSource);\nconst secondaryGrouping = computed(() => store.value.reactive.optionsState.components.secondaryGrouping?.selectorStates[0]?.selectedSource);\n\nconst primaryGroups = computed(() => store.value.commonHelpersData.primaryGroups.value);\nconst secondaryGroups = computed(() => store.value.commonHelpersData.secondaryGroups.value);\n\nconst usedAesInMapping = computed(() => store.value.commonHelpersData.usedAesInMapping.value);\n\nconst mappingPrimary = ref(store.value.reactive.dataBindAes[primaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(primaryGroups.value));\nconst mappingSecondary = ref(store.value.reactive.dataBindAes[secondaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(secondaryGroups.value));\n\nconst primaryInfo = computed(() => {\n if (primaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(primaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[primaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: primaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\nconst secondaryInfo = computed(() => {\n if (secondaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(secondaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[secondaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: secondaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\n\nfunction updateOrder(value: AestheticMappingCategorical, sourceId: string) {\n store.value.reactive.dataBindAes[sourceId] = value;\n}\n\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\n\nconst primaryOptions = computed(() => labelsInfo.value[primaryGrouping.value]);\nconst xLabelsRotation = computed({\n get() {\n return getDiscreteLabelsRotation(settings.axisX.labelsRotation, primaryOptions.value?.options);\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\n },\n});\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <CollapsableBlock title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.title.mode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField\n v-model=\"settings.title.value\"\n label=\"Chart title\"\n placeholder=\"Chart title\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <BtnIconGroup v-model=\"settings.title.position\" :options=\"OPTIONS_TITLE_ALIGN\"/>\n </div>\n <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\n <!-- </div>-->\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Primary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderPrimaryOpen = true\" />\n <template v-if=\"reorderPrimaryOpen && primaryInfo\">\n <FormWrapper\n title=\"Reorder primary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderPrimaryOpen = false\"\n @form:close=\"reorderPrimaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingPrimary\"\n :column-value-labels=\"primaryInfo.labels\"\n :data-column-label=\"primaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[primaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullPrimaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, primaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null primary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullPrimaryGroups\" />\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Secondary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderSecondaryOpen = true\" />\n <template v-if=\"reorderSecondaryOpen && secondaryInfo\">\n <FormWrapper\n title=\"Reorder secondary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderSecondaryOpen = false\"\n @form:close=\"reorderSecondaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingSecondary\"\n :column-value-labels=\"secondaryInfo.labels\"\n :data-column-label=\"secondaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[secondaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullSecondaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, secondaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null secondary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullSecondaryGroups\" />\n </div>\n <div v-if=\"store.reactive.chartType === 'discrete'\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisX.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Lines between categories</span>\n <PlToggleSwitch v-model=\"settings.axisX.linesBetweenCategories\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Y axis settings-->\n <CollapsableBlock title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisY.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.scale\"\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Reverse axes</span>\n <PlToggleSwitch v-model=\"settings.other.reverse\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\"\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\"\n label=\"Facet shared by\"\n :options=\"OPTIONS_FACET_SHARED\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","inputGuide","computed","labelsInfo","reorderPrimaryOpen","ref","reorderSecondaryOpen","defaultReorderPrimaryOpen","defaultReorderSecondaryOpen","onMounted","watch","v","primaryGrouping","_b","_a","secondaryGrouping","primaryGroups","secondaryGroups","usedAesInMapping","mappingPrimary","createDefaultMapping","mappingSecondary","primaryInfo","selectedSourceInfo","valueLabels","res","secondaryInfo","updateOrder","value","sourceId","OPTIONS_FACET_SHARED","primaryOptions","xLabelsRotation","getDiscreteLabelsRotation","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","AesButton","_createBlock","FormWrapper","AesDataMapping","_hoisted_6","PlToggleSwitch","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","Slider","_hoisted_24"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DiscreteAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\nimport FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, onMounted, ref } from 'vue';\nimport AesDataMapping from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport type { AestheticMappingCategorical } from '../../dataBindAes';\nimport { createDefaultMapping } from '../../dataBindAes';\nimport type { LabelsRotation } from '../../types';\nimport { getDiscreteLabelsRotation } from '../../utils';\nimport { watch } from 'vue';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n};\n\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', icon: Rotation90 },\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst reorderPrimaryOpen = ref(false);\nconst reorderSecondaryOpen = ref(false);\n\nconst defaultReorderPrimaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderPrimaryOpen);\nconst defaultReorderSecondaryOpen = computed(() => store.value.reactive.tabDefaultState['axes'].reorderSecondaryOpen);\nonMounted(() => {\n if (defaultReorderPrimaryOpen.value) {\n reorderPrimaryOpen.value = true;\n }\n if (defaultReorderSecondaryOpen.value) {\n reorderSecondaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderPrimaryOpen.value, (v) => {\n if (v) {\n reorderSecondaryOpen.value = false;\n reorderPrimaryOpen.value = true;\n }\n});\nwatch(() => defaultReorderSecondaryOpen.value, (v) => {\n if (v) {\n reorderPrimaryOpen.value = false;\n reorderSecondaryOpen.value = true;\n }\n});\n\nconst primaryGrouping = computed(() => store.value.reactive.optionsState.components.primaryGrouping?.selectorStates[0]?.selectedSource);\nconst secondaryGrouping = computed(() => store.value.reactive.optionsState.components.secondaryGrouping?.selectorStates[0]?.selectedSource);\n\nconst primaryGroups = computed(() => store.value.commonHelpersData.primaryGroups.value);\nconst secondaryGroups = computed(() => store.value.commonHelpersData.secondaryGroups.value);\n\nconst usedAesInMapping = computed(() => store.value.commonHelpersData.usedAesInMapping.value);\n\nconst mappingPrimary = ref(store.value.reactive.dataBindAes[primaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(primaryGroups.value, store.value.defaultPalette.categorical));\nconst mappingSecondary = ref(store.value.reactive.dataBindAes[secondaryGrouping.value] as AestheticMappingCategorical ?? createDefaultMapping(secondaryGroups.value, store.value.defaultPalette.categorical));\n\nconst primaryInfo = computed(() => {\n if (primaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(primaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[primaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: primaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\nconst secondaryInfo = computed(() => {\n if (secondaryGrouping.value) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(secondaryGrouping.value) ?? null;\n const valueLabels = labelsInfo.value[secondaryGrouping.value]?.labels ?? null;\n return {\n selectedSourceInfo,\n labels: secondaryGroups.value.reduce((res: Record<string, string>, v) => {\n res[v] = valueLabels?.[v] ?? String(v);\n return res;\n }, {}),\n };\n }\n return null;\n});\n\nfunction updateOrder(value: AestheticMappingCategorical, sourceId: string) {\n store.value.reactive.dataBindAes[sourceId] = value;\n}\n\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\n\nconst primaryOptions = computed(() => labelsInfo.value[primaryGrouping.value]);\nconst xLabelsRotation = computed({\n get() {\n return getDiscreteLabelsRotation(settings.axisX.labelsRotation, primaryOptions.value?.options);\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\n },\n});\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <CollapsableBlock title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.title.mode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField\n v-model=\"settings.title.value\"\n label=\"Chart title\"\n placeholder=\"Chart title\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <BtnIconGroup v-model=\"settings.title.position\" :options=\"OPTIONS_TITLE_ALIGN\"/>\n </div>\n <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\n <!-- </div>-->\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Primary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderPrimaryOpen = true\" />\n <template v-if=\"reorderPrimaryOpen && primaryInfo\">\n <FormWrapper\n title=\"Reorder primary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderPrimaryOpen = false\"\n @form:close=\"reorderPrimaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingPrimary\"\n :column-value-labels=\"primaryInfo.labels\"\n :data-column-label=\"primaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[primaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullPrimaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, primaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"primaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null primary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullPrimaryGroups\" />\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Secondary groups order: </span>\n <AesButton :data=\"{type: 'data', value: null}\" @click=\"reorderSecondaryOpen = true\" />\n <template v-if=\"reorderSecondaryOpen && secondaryInfo\">\n <FormWrapper\n title=\"Reorder secondary groups\"\n back-title=\"Axes Settings\"\n @form:open=\"store.reactive.tabDefaultState['axes'].reorderSecondaryOpen = false\"\n @form:close=\"reorderSecondaryOpen = false\"\n >\n <AesDataMapping\n v-model=\"mappingSecondary\"\n :column-value-labels=\"secondaryInfo.labels\"\n :data-column-label=\"secondaryInfo.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[secondaryGrouping]\"\n allow-reordering\n allow-hiding\n :allow-null-option=\"settings.axisX.allowNullSecondaryGroups\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => updateOrder(value, secondaryGrouping)\"\n />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"secondaryGroups.length > 1\" class=\"axes-settings-options-row\">\n <span>Allow null secondary group</span>\n <PlToggleSwitch v-model=\"settings.axisX.allowNullSecondaryGroups\" />\n </div>\n <div v-if=\"store.reactive.chartType === 'discrete'\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisX.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Lines between categories</span>\n <PlToggleSwitch v-model=\"settings.axisX.linesBetweenCategories\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Y axis settings-->\n <CollapsableBlock title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisY.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.scale\"\n label=\"Scale\"\n :options=\"OPTIONS_SCALE\"\n />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Reverse axes</span>\n <PlToggleSwitch v-model=\"settings.other.reverse\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\"\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\"\n label=\"Facet shared by\"\n :options=\"OPTIONS_FACET_SHARED\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","inputGuide","computed","labelsInfo","reorderPrimaryOpen","ref","reorderSecondaryOpen","defaultReorderPrimaryOpen","defaultReorderSecondaryOpen","onMounted","watch","v","primaryGrouping","_b","_a","secondaryGrouping","primaryGroups","secondaryGroups","usedAesInMapping","mappingPrimary","createDefaultMapping","mappingSecondary","primaryInfo","selectedSourceInfo","valueLabels","res","secondaryInfo","updateOrder","value","sourceId","OPTIONS_FACET_SHARED","primaryOptions","xLabelsRotation","getDiscreteLabelsRotation","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","AesButton","_createBlock","FormWrapper","AesDataMapping","_hoisted_6","PlToggleSwitch","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","Slider","_hoisted_24"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as Z, computed as g, ref as F, watch as q, createElementBlock as _, openBlock as y, Fragment as ee, createElementVNode as
|
|
1
|
+
import { defineComponent as Z, computed as g, ref as F, watch as q, createElementBlock as _, openBlock as y, Fragment as ee, createElementVNode as w, createBlock as S, createCommentVNode as T, createVNode as U, withModifiers as te, unref as O, withCtx as M, normalizeClass as le } from "vue";
|
|
2
2
|
import { PlDropdown as ae } from "@platforma-sdk/ui-vue";
|
|
3
3
|
import { createDefaultMapping as oe, createContinuousMappingFromPalette as ue } from "../../dataBindAes.js";
|
|
4
|
-
import { FIXED_COLORS as
|
|
5
|
-
import
|
|
6
|
-
import { useStore as
|
|
7
|
-
import { isMappedAes as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
const
|
|
4
|
+
import { FIXED_COLORS as A, DEFAULT_LINE_TYPE as ie, DEFAULT_DOT_SHAPE as ne, FIXED_LINE_TYPES as se, FIXES_DOT_SHAPES as re } from "../../constantsAesthetic.js";
|
|
5
|
+
import pe from "../../components/AesButton.vue.js";
|
|
6
|
+
import { useStore as de } from "../../store.js";
|
|
7
|
+
import { isMappedAes as L } from "../../constantsCommon.js";
|
|
8
|
+
import ve from "../../components/Popup.vue.js";
|
|
9
|
+
import ce from "../../components/AesSettings/FixedColorsList.vue.js";
|
|
10
|
+
import fe from "../../components/AesSettings/FixedDotShapeList.vue.js";
|
|
11
|
+
import me from "../../components/AesSettings/FixedLineTypeList.vue.js";
|
|
12
|
+
import ge from "../../components/AesSettings/FormWrapper.vue.js";
|
|
13
|
+
import ye from "../../components/AesSettings/AesDataMappingDiscrete.vue.js";
|
|
14
|
+
import Se from "../../components/AesSettings/AesDataMappingContinuous.vue.js";
|
|
15
|
+
const Te = { class: "aes-input-row" }, He = /* @__PURE__ */ Z({
|
|
16
16
|
__name: "AesSelector",
|
|
17
17
|
props: {
|
|
18
18
|
label: {},
|
|
@@ -26,8 +26,8 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
26
26
|
},
|
|
27
27
|
emits: ["aes-update", "aes-selector-close"],
|
|
28
28
|
setup(i, { emit: W }) {
|
|
29
|
-
var
|
|
30
|
-
const r = i, p =
|
|
29
|
+
var N, B;
|
|
30
|
+
const r = i, p = de(), o = g(() => p.value.reactive.chartType), C = W, X = {
|
|
31
31
|
discrete: ["primaryGrouping", "secondaryGrouping"],
|
|
32
32
|
scatterplot: ["grouping"],
|
|
33
33
|
"scatterplot-umap": ["grouping"],
|
|
@@ -42,10 +42,10 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
42
42
|
return typeof l == "string" ? l : o.value === "scatterplot" ? `grouping_${l.value}` : o.value === "dendro" ? `${l.type}_${l.value}` : l.type;
|
|
43
43
|
}
|
|
44
44
|
const s = F(
|
|
45
|
-
|
|
45
|
+
L(r.selected) ? V(r.selected) : "fix"
|
|
46
46
|
), z = {
|
|
47
|
-
fill:
|
|
48
|
-
stroke:
|
|
47
|
+
fill: A[0].color,
|
|
48
|
+
stroke: A[0].color,
|
|
49
49
|
dotShape: ne,
|
|
50
50
|
lineType: ie,
|
|
51
51
|
size: ""
|
|
@@ -57,32 +57,32 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
57
57
|
]), d = g(() => {
|
|
58
58
|
const l = {}, e = p.value.reactive.optionsState.components;
|
|
59
59
|
function v(a, t) {
|
|
60
|
-
const u = K.value.getSourceInfo(t), c = j.value[t],
|
|
60
|
+
const u = K.value.getSourceInfo(t), c = j.value[t], E = (c == null ? void 0 : c.list) ?? [], f = (c == null ? void 0 : c.labels) ?? {}, D = V({ type: a, value: t });
|
|
61
61
|
if (H.has(o.value) && u.type === "String" || !H.has(o.value)) {
|
|
62
|
-
const
|
|
62
|
+
const $ = p.value.reactive.dataBindAes[t] ?? oe(E, p.value.defaultPalette.categorical);
|
|
63
63
|
l[D] = {
|
|
64
64
|
type: "dataCategorical",
|
|
65
65
|
value: D,
|
|
66
|
-
initialData:
|
|
66
|
+
initialData: $,
|
|
67
67
|
inputName: a,
|
|
68
68
|
selectedSource: t,
|
|
69
69
|
selectedSourceInfo: u,
|
|
70
|
-
selectedSourceValues:
|
|
71
|
-
labels:
|
|
72
|
-
(
|
|
70
|
+
selectedSourceValues: E,
|
|
71
|
+
labels: $.order.reduce(
|
|
72
|
+
(R, k) => (R[k] = f[k] ?? String(k), R),
|
|
73
73
|
{}
|
|
74
74
|
)
|
|
75
75
|
};
|
|
76
76
|
} else {
|
|
77
|
-
const
|
|
77
|
+
const $ = p.value.reactive.dataBindAes[t] ?? ue(p.value.defaultPalette.continuous);
|
|
78
78
|
l[D] = {
|
|
79
79
|
type: "dataContinuous",
|
|
80
80
|
value: D,
|
|
81
|
-
initialData:
|
|
81
|
+
initialData: $,
|
|
82
82
|
inputName: a,
|
|
83
83
|
selectedSource: t,
|
|
84
84
|
selectedSourceInfo: u,
|
|
85
|
-
selectedSourceValues:
|
|
85
|
+
selectedSourceValues: E
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -94,7 +94,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
94
94
|
}), r.withoutFixed || (l.fix = {
|
|
95
95
|
type: "fix",
|
|
96
96
|
value: "fix",
|
|
97
|
-
initialData:
|
|
97
|
+
initialData: L(r.selected) ? z[r.type] : r.selected
|
|
98
98
|
}), l;
|
|
99
99
|
}), n = g(
|
|
100
100
|
() => d.value[s.value] ?? null
|
|
@@ -103,7 +103,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
103
103
|
var v, a, t, u;
|
|
104
104
|
return l.type === "fix" ? "Fixed" : e === l.value ? `${(v = l.selectedSourceInfo) == null ? void 0 : v.label}` : o.value === "discrete" ? `${l.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping: ${(a = l.selectedSourceInfo) == null ? void 0 : a.label}` : o.value === "scatterplot" || o.value === "dendro" ? `Grouping: ${(t = l.selectedSourceInfo) == null ? void 0 : t.label}` : ((u = l.selectedSourceInfo) == null ? void 0 : u.label) ?? "";
|
|
105
105
|
}
|
|
106
|
-
const
|
|
106
|
+
const P = g(() => {
|
|
107
107
|
const l = [], e = p.value.reactive.optionsState.components;
|
|
108
108
|
function v(a, t) {
|
|
109
109
|
const u = V({
|
|
@@ -125,57 +125,57 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
125
125
|
o.value === "discrete" && (a = `${s.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping (not selected)`), l.push({ text: a, value: s.value });
|
|
126
126
|
}
|
|
127
127
|
return r.withoutFixed || l.push({ text: "Fixed", value: "fix" }), l;
|
|
128
|
-
}),
|
|
128
|
+
}), b = F(!1), m = F(
|
|
129
129
|
d.value.fix ? d.value.fix.initialData : null
|
|
130
130
|
), x = F(
|
|
131
|
-
((
|
|
131
|
+
((N = n.value) == null ? void 0 : N.type) === "dataCategorical" ? n.value.initialData : null
|
|
132
132
|
), I = F(
|
|
133
|
-
((
|
|
133
|
+
((B = n.value) == null ? void 0 : B.type) === "dataContinuous" ? n.value.initialData : null
|
|
134
134
|
);
|
|
135
135
|
q(
|
|
136
136
|
() => s.value,
|
|
137
137
|
(l) => {
|
|
138
138
|
const e = d.value[l];
|
|
139
|
-
e.type === "fix" ?
|
|
139
|
+
e.type === "fix" ? C("aes-update", m.value, e) : e.type === "dataCategorical" ? (x.value = e.initialData, C("aes-update", e.initialData, e)) : e.type === "dataContinuous" && (I.value = e.initialData, C("aes-update", e.initialData, e));
|
|
140
140
|
}
|
|
141
141
|
);
|
|
142
|
-
const
|
|
142
|
+
const h = F(), Q = g(() => r.type === "lineType" ? se.length * 32 + 32 : r.type === "dotShape" ? Math.ceil(re.length / 6) * 36 + 40 : r.type === "fill" || r.type === "stroke" ? Math.ceil(A.length / 6) * 36 + 40 : 0);
|
|
143
143
|
return (l, e) => {
|
|
144
144
|
var v, a;
|
|
145
145
|
return y(), _(ee, null, [
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
w("div", Te, [
|
|
147
|
+
w("div", {
|
|
148
148
|
class: "aes-input-select",
|
|
149
149
|
onClick: e[1] || (e[1] = te(() => {
|
|
150
150
|
}, ["stop"]))
|
|
151
151
|
}, [
|
|
152
|
-
|
|
152
|
+
U(O(ae), {
|
|
153
153
|
modelValue: s.value,
|
|
154
154
|
"onUpdate:modelValue": e[0] || (e[0] = (t) => s.value = t),
|
|
155
|
-
disabled: i.disabled ||
|
|
155
|
+
disabled: i.disabled || P.value.length < 2,
|
|
156
156
|
label: i.label,
|
|
157
|
-
options:
|
|
157
|
+
options: P.value
|
|
158
158
|
}, null, 8, ["modelValue", "disabled", "label", "options"])
|
|
159
159
|
]),
|
|
160
|
-
|
|
160
|
+
U(pe, {
|
|
161
161
|
data: {
|
|
162
162
|
type: s.value === "fix" ? i.type : "data",
|
|
163
163
|
value: s.value === "fix" ? i.type === "size" ? Number(i.selected) : i.selected : null
|
|
164
164
|
},
|
|
165
|
-
onClick: e[2] || (e[2] = (t) =>
|
|
166
|
-
onRef: e[3] || (e[3] = (t) =>
|
|
165
|
+
onClick: e[2] || (e[2] = (t) => b.value = !b.value),
|
|
166
|
+
onRef: e[3] || (e[3] = (t) => h.value = t)
|
|
167
167
|
}, null, 8, ["data"]),
|
|
168
|
-
s.value === "fix" &&
|
|
168
|
+
s.value === "fix" && b.value && m.value ? (y(), S(ve, {
|
|
169
169
|
key: 0,
|
|
170
170
|
height: Q.value,
|
|
171
|
-
targetRef:
|
|
172
|
-
"onPopup:close": e[10] || (e[10] = (t) =>
|
|
171
|
+
targetRef: h.value,
|
|
172
|
+
"onPopup:close": e[10] || (e[10] = (t) => b.value = !1)
|
|
173
173
|
}, {
|
|
174
|
-
default:
|
|
175
|
-
|
|
174
|
+
default: M(() => [
|
|
175
|
+
w("div", {
|
|
176
176
|
class: le(["fixed-aes-list", { "fixed-aes-list__rows": i.type === "lineType" }])
|
|
177
177
|
}, [
|
|
178
|
-
i.type === "fill" || i.type === "stroke" ? (y(), S(
|
|
178
|
+
i.type === "fill" || i.type === "stroke" ? (y(), S(ce, {
|
|
179
179
|
key: 0,
|
|
180
180
|
modelValue: m.value,
|
|
181
181
|
"onUpdate:modelValue": [
|
|
@@ -184,7 +184,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
184
184
|
],
|
|
185
185
|
"color-using": i.type
|
|
186
186
|
}, null, 8, ["modelValue", "color-using"])) : T("", !0),
|
|
187
|
-
i.type === "dotShape" ? (y(), S(
|
|
187
|
+
i.type === "dotShape" ? (y(), S(fe, {
|
|
188
188
|
key: 1,
|
|
189
189
|
modelValue: m.value,
|
|
190
190
|
"onUpdate:modelValue": [
|
|
@@ -192,7 +192,7 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
192
192
|
e[7] || (e[7] = (t) => l.$emit("aes-update", t, d.value.fix))
|
|
193
193
|
]
|
|
194
194
|
}, null, 8, ["modelValue"])) : T("", !0),
|
|
195
|
-
i.type === "lineType" ? (y(), S(
|
|
195
|
+
i.type === "lineType" ? (y(), S(me, {
|
|
196
196
|
key: 2,
|
|
197
197
|
modelValue: m.value,
|
|
198
198
|
"onUpdate:modelValue": [
|
|
@@ -205,16 +205,16 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
205
205
|
_: 1
|
|
206
206
|
}, 8, ["height", "targetRef"])) : T("", !0)
|
|
207
207
|
]),
|
|
208
|
-
(((v = n.value) == null ? void 0 : v.type) === "dataCategorical" && x.value || ((a = n.value) == null ? void 0 : a.type) === "dataContinuous" && I.value) &&
|
|
208
|
+
(((v = n.value) == null ? void 0 : v.type) === "dataCategorical" && x.value || ((a = n.value) == null ? void 0 : a.type) === "dataContinuous" && I.value) && b.value ? (y(), S(ge, {
|
|
209
209
|
key: 0,
|
|
210
210
|
title: i.formTitle,
|
|
211
211
|
"back-title": i.formBackTitle,
|
|
212
|
-
"onForm:close": e[15] || (e[15] = (t) =>
|
|
212
|
+
"onForm:close": e[15] || (e[15] = (t) => b.value = !1)
|
|
213
213
|
}, {
|
|
214
|
-
default:
|
|
215
|
-
var t, u, c,
|
|
214
|
+
default: M(() => {
|
|
215
|
+
var t, u, c, E;
|
|
216
216
|
return [
|
|
217
|
-
((t = n.value) == null ? void 0 : t.type) === "dataCategorical" && x.value ? (y(), S(
|
|
217
|
+
((t = n.value) == null ? void 0 : t.type) === "dataCategorical" && x.value ? (y(), S(ye, {
|
|
218
218
|
key: 0,
|
|
219
219
|
modelValue: x.value,
|
|
220
220
|
"onUpdate:modelValue": [
|
|
@@ -226,16 +226,16 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
226
226
|
"used-aes-in-mapping": Y.value[n.value.selectedSource],
|
|
227
227
|
"allow-hiding": o.value === "discrete",
|
|
228
228
|
"allow-reordering": o.value === "discrete" || o.value === "histogram" || o.value === "scatterplot" || o.value === "scatterplot-umap",
|
|
229
|
-
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" &&
|
|
229
|
+
"allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" && O(p).reactive.axesSettings.axisX.allowNullPrimaryGroups || s.value === "secondaryGrouping" && O(p).reactive.axesSettings.axisX.allowNullSecondaryGroups) || o.value === "scatterplot" || o.value === "scatterplot-umap"
|
|
230
230
|
}, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-hiding", "allow-reordering", "allow-null-option"])) : T("", !0),
|
|
231
|
-
((c = n.value) == null ? void 0 : c.type) === "dataContinuous" && I.value ? (y(), S(
|
|
231
|
+
((c = n.value) == null ? void 0 : c.type) === "dataContinuous" && I.value ? (y(), S(Se, {
|
|
232
232
|
key: 1,
|
|
233
233
|
modelValue: I.value,
|
|
234
234
|
"onUpdate:modelValue": [
|
|
235
235
|
e[13] || (e[13] = (f) => I.value = f),
|
|
236
236
|
e[14] || (e[14] = (f) => l.$emit("aes-update", f, n.value))
|
|
237
237
|
],
|
|
238
|
-
"data-column-label": ((
|
|
238
|
+
"data-column-label": ((E = n.value.selectedSourceInfo) == null ? void 0 : E.label) ?? ""
|
|
239
239
|
}, null, 8, ["modelValue", "data-column-label"])) : T("", !0)
|
|
240
240
|
];
|
|
241
241
|
}),
|
|
@@ -246,6 +246,6 @@ const Ee = { class: "aes-input-row" }, Ne = /* @__PURE__ */ Z({
|
|
|
246
246
|
}
|
|
247
247
|
});
|
|
248
248
|
export {
|
|
249
|
-
|
|
249
|
+
He as default
|
|
250
250
|
};
|
|
251
251
|
//# sourceMappingURL=AesSelector.vue.js.map
|