@milaboratories/graph-maker 1.1.146 → 1.1.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue.d.ts +1 -0
- package/dist/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue.d.ts.map +1 -1
- package/dist/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue.js +155 -121
- package/dist/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue.js.map +1 -1
- package/dist/GraphMaker/dataBindAes.d.ts +1 -0
- package/dist/GraphMaker/dataBindAes.d.ts.map +1 -1
- package/dist/GraphMaker/dataBindAes.js +73 -66
- package/dist/GraphMaker/dataBindAes.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +2 -0
- package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/AesSelector.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/LayersForm/AesSelector.vue.js +37 -36
- package/dist/GraphMaker/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js +31 -29
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js +6 -6
- package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.d.ts.map +1 -1
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js +12 -12
- package/dist/GraphMaker/utils/loadUniqueValuesToSave.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +102 -101
- package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js +112 -108
- package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/arraysAreDifferent.js +10 -2
- package/dist/node_modules/@milaboratories/miplots4/dist/utils/arraysAreDifferent.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,6 +6,7 @@ type __VLS_Props = {
|
|
|
6
6
|
usedAesInMapping: Record<AesType, boolean>;
|
|
7
7
|
modelValue: AestheticMappingCategorical;
|
|
8
8
|
allowReordering?: boolean;
|
|
9
|
+
allowHiding?: boolean;
|
|
9
10
|
};
|
|
10
11
|
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
12
|
"update:modelValue": (...args: any[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AesDataMappingDiscrete.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AesDataMappingDiscrete.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue"],"names":[],"mappings":"AAyYA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,2BAA2B,EAE5B,MAAM,mBAAmB,CAAC;AAY3B,KAAK,WAAW,GAAG;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,UAAU,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;;;;;;;AA2lBF,wBASG"}
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useSortable as
|
|
3
|
-
import { isCategorical as
|
|
4
|
-
import { createCategoricalMappingFromPalette as
|
|
5
|
-
import { getPopupHeightForFixedAesList as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
const
|
|
1
|
+
import { defineComponent as G, ref as f, computed as p, reactive as J, watch as Q, createElementBlock as c, openBlock as u, createElementVNode as r, createCommentVNode as i, createBlock as m, toDisplayString as M, createVNode as C, unref as k, withCtx as S, Fragment as Z, renderList as ee, normalizeClass as v, resolveDynamicComponent as le, withModifiers as w, normalizeStyle as oe } from "vue";
|
|
2
|
+
import { useSortable as ae, PlTooltip as te, PlIcon24 as ne } from "@platforma-sdk/ui-vue";
|
|
3
|
+
import { isCategorical as ue, PALETTE_MAP as V, FIXED_LINE_TYPES as re, FIXES_DOT_SHAPES as se, UNKNOWN_COLOR as x } from "../../constantsAesthetic.js";
|
|
4
|
+
import { createCategoricalMappingFromPalette as ie } from "../../dataBindAes.js";
|
|
5
|
+
import { getPopupHeightForFixedAesList as de } from "../../utils/getPopupHeightForFixedAesList.js";
|
|
6
|
+
import ce from "./FixedColorsList.vue.js";
|
|
7
|
+
import pe from "./FixedDotShapeList.vue.js";
|
|
8
|
+
import me from "./FixedLineTypeList.vue.js";
|
|
9
|
+
import ve from "./FormWrapper.vue.js";
|
|
10
|
+
import _e from "./PalettesForm.vue.js";
|
|
11
|
+
import fe from "../MultiselectButton.vue.js";
|
|
12
|
+
import ge from "../PlColorSlider.vue.js";
|
|
13
|
+
import Ve from "../Popup.vue.js";
|
|
14
|
+
import he from "../../icons/Reorder.vue.js";
|
|
15
|
+
import ye from "../../../node_modules/d3-scale/src/linear.js";
|
|
16
|
+
const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } }, Se = { class: "section-title" }, we = { style: { margin: "24px 0" } }, $e = {
|
|
17
17
|
key: 0,
|
|
18
18
|
style: { margin: "24px 0" }
|
|
19
|
-
},
|
|
19
|
+
}, Te = {
|
|
20
20
|
key: 0,
|
|
21
21
|
class: "aes-settings-hint"
|
|
22
|
-
},
|
|
22
|
+
}, Ie = {
|
|
23
23
|
key: 0,
|
|
24
24
|
class: "column-value__reorder-icon"
|
|
25
|
-
},
|
|
25
|
+
}, Ae = { class: "column-value__title" }, Le = { class: "column-value__aes-group" }, Pe = ["onClick"], Re = ["onClick"], Fe = ["onClick"], Ee = ["onClick"], qe = /* @__PURE__ */ G({
|
|
26
26
|
__name: "AesDataMappingDiscrete",
|
|
27
27
|
props: {
|
|
28
28
|
dataColumnLabel: {},
|
|
29
29
|
columnValueLabels: {},
|
|
30
30
|
usedAesInMapping: {},
|
|
31
31
|
modelValue: {},
|
|
32
|
-
allowReordering: { type: Boolean }
|
|
32
|
+
allowReordering: { type: Boolean },
|
|
33
|
+
allowHiding: { type: Boolean }
|
|
33
34
|
},
|
|
34
35
|
emits: ["update:modelValue"],
|
|
35
36
|
setup(U, { emit: D }) {
|
|
36
|
-
const t = U,
|
|
37
|
+
const t = U, g = D, h = f(!1), d = f(t.modelValue.palette), P = p(() => ue(d.value)), s = f(null), N = p(() => s.value === null ? null : t.modelValue.order.indexOf(s.value)), n = f(null), O = p(
|
|
37
38
|
() => t.modelValue.order.map((e) => {
|
|
38
39
|
var l;
|
|
39
40
|
const o = (l = t.modelValue.mapping[e]) == null ? void 0 : l.aes;
|
|
@@ -47,13 +48,13 @@ const Ve = { class: "aes-mapping-block" }, he = { style: { margin: "0 24px" } },
|
|
|
47
48
|
})
|
|
48
49
|
);
|
|
49
50
|
function B(e) {
|
|
50
|
-
d.value = e, h.value = !1,
|
|
51
|
+
d.value = e, h.value = !1, g(
|
|
51
52
|
"update:modelValue",
|
|
52
|
-
|
|
53
|
+
ie(e, t.modelValue.order)
|
|
53
54
|
);
|
|
54
55
|
}
|
|
55
|
-
function
|
|
56
|
-
|
|
56
|
+
function $(e, o, l) {
|
|
57
|
+
g("update:modelValue", {
|
|
57
58
|
...t.modelValue,
|
|
58
59
|
mapping: {
|
|
59
60
|
...t.modelValue.mapping,
|
|
@@ -67,115 +68,125 @@ const Ve = { class: "aes-mapping-block" }, he = { style: { margin: "0 24px" } },
|
|
|
67
68
|
}
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
|
-
const
|
|
71
|
+
const T = J({
|
|
71
72
|
color: {},
|
|
72
73
|
dotShape: {},
|
|
73
74
|
lineType: {}
|
|
74
75
|
});
|
|
75
|
-
function
|
|
76
|
-
l && !
|
|
76
|
+
function I(e, o, l) {
|
|
77
|
+
l && !T[e][o.value] && (T[e][o.value] = l);
|
|
77
78
|
}
|
|
78
|
-
function
|
|
79
|
-
const l =
|
|
80
|
-
|
|
79
|
+
function A(e, o) {
|
|
80
|
+
const l = s.value === e.value && n.value === o;
|
|
81
|
+
s.value = l ? null : e.value, n.value = l ? null : o;
|
|
81
82
|
}
|
|
82
83
|
function R() {
|
|
83
|
-
|
|
84
|
+
s.value = null, n.value = null;
|
|
84
85
|
}
|
|
85
|
-
const
|
|
86
|
-
() =>
|
|
87
|
-
), H = p(() => n.value ?
|
|
88
|
-
n.value === "lineType" ?
|
|
86
|
+
const F = p(
|
|
87
|
+
() => V[d.value].colors.map((e) => ({ color: e, name: e }))
|
|
88
|
+
), H = p(() => n.value ? de(
|
|
89
|
+
n.value === "lineType" ? re.length : n.value === "dotShape" ? se.length : F.value.length,
|
|
89
90
|
n.value
|
|
90
|
-
) : 0),
|
|
91
|
-
t.allowReordering &&
|
|
91
|
+
) : 0), E = f();
|
|
92
|
+
t.allowReordering && ae(E, {
|
|
92
93
|
handle: ".column-value__reorder-icon",
|
|
93
94
|
onChange(e) {
|
|
94
|
-
|
|
95
|
+
g("update:modelValue", {
|
|
95
96
|
...t.modelValue,
|
|
96
97
|
order: e.map((o) => t.modelValue.order[o])
|
|
97
98
|
});
|
|
98
99
|
}
|
|
99
100
|
});
|
|
100
|
-
function
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
function z(e) {
|
|
102
|
+
var o;
|
|
103
|
+
console.log("switch for", e.value), g("update:modelValue", {
|
|
104
|
+
...t.modelValue,
|
|
105
|
+
hidden: {
|
|
106
|
+
...t.modelValue.hidden,
|
|
107
|
+
[e.value]: !((o = t.modelValue.hidden) != null && o[e.value])
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function b(e, o, l = 0, a = 1) {
|
|
112
|
+
const _ = 1 / (e.length - 1), j = ye().domain(e.map((y, q) => l + q * _ * (a - l))).range(e);
|
|
113
|
+
return (y) => y > a || y < l ? o : j(y);
|
|
103
114
|
}
|
|
104
|
-
const
|
|
105
|
-
() =>
|
|
106
|
-
),
|
|
107
|
-
() =>
|
|
108
|
-
),
|
|
115
|
+
const X = p(
|
|
116
|
+
() => b(V[d.value].colors, x)
|
|
117
|
+
), K = p(
|
|
118
|
+
() => b(V[d.value].colors, x, 0, 100)
|
|
119
|
+
), L = f(
|
|
109
120
|
t.modelValue.order.map(
|
|
110
121
|
(e) => t.modelValue.mapping[e].colorIdx * 100
|
|
111
122
|
)
|
|
112
123
|
);
|
|
113
|
-
|
|
124
|
+
Q(
|
|
114
125
|
() => t.modelValue,
|
|
115
126
|
(e) => {
|
|
116
|
-
|
|
127
|
+
L.value = e.order.map(
|
|
117
128
|
(o) => e.mapping[o].colorIdx * 100
|
|
118
129
|
);
|
|
119
130
|
}
|
|
120
131
|
);
|
|
121
|
-
function
|
|
132
|
+
function W(e) {
|
|
122
133
|
e.forEach((o, l) => {
|
|
123
|
-
const a = t.modelValue.order[l],
|
|
124
|
-
t.modelValue.mapping[a].colorIdx !==
|
|
134
|
+
const a = t.modelValue.order[l], _ = o / 100;
|
|
135
|
+
t.modelValue.mapping[a].colorIdx !== _ && g("update:modelValue", {
|
|
125
136
|
...t.modelValue,
|
|
126
137
|
mapping: {
|
|
127
138
|
...t.modelValue.mapping,
|
|
128
139
|
[a]: {
|
|
129
|
-
colorIdx:
|
|
140
|
+
colorIdx: _,
|
|
130
141
|
aes: {
|
|
131
142
|
...t.modelValue.mapping[a].aes,
|
|
132
|
-
color:
|
|
143
|
+
color: X.value(_)
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
});
|
|
137
148
|
});
|
|
138
149
|
}
|
|
139
|
-
function
|
|
140
|
-
n.value = "color",
|
|
150
|
+
function Y(e) {
|
|
151
|
+
n.value = "color", s.value = e.status ? t.modelValue.order[e.index] : null;
|
|
141
152
|
}
|
|
142
|
-
return (e, o) => (u(), c("div",
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
153
|
+
return (e, o) => (u(), c("div", Ce, [
|
|
154
|
+
r("div", ke, [
|
|
155
|
+
r("div", Se, [
|
|
156
|
+
r("span", null, M(e.dataColumnLabel), 1)
|
|
146
157
|
]),
|
|
147
|
-
|
|
148
|
-
|
|
158
|
+
r("div", we, [
|
|
159
|
+
C(fe, {
|
|
149
160
|
label: "Color Palette ",
|
|
150
161
|
icon: "chevron-right",
|
|
151
|
-
title:
|
|
162
|
+
title: k(V)[d.value].title,
|
|
152
163
|
palette: d.value,
|
|
153
164
|
onButtonClick: o[0] || (o[0] = (l) => {
|
|
154
165
|
h.value = !0, R();
|
|
155
166
|
})
|
|
156
167
|
}, null, 8, ["title", "palette"])
|
|
157
168
|
]),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
modelValue:
|
|
169
|
+
P.value ? i("", !0) : (u(), c("div", $e, [
|
|
170
|
+
C(ge, {
|
|
171
|
+
modelValue: L.value,
|
|
161
172
|
"onUpdate:modelValue": [
|
|
162
|
-
o[1] || (o[1] = (l) =>
|
|
163
|
-
|
|
173
|
+
o[1] || (o[1] = (l) => L.value = l),
|
|
174
|
+
W
|
|
164
175
|
],
|
|
165
|
-
colors:
|
|
166
|
-
"get-color-for-percent":
|
|
176
|
+
colors: k(V)[d.value].colors,
|
|
177
|
+
"get-color-for-percent": K.value,
|
|
167
178
|
active: N.value,
|
|
168
|
-
onActive:
|
|
179
|
+
onActive: Y
|
|
169
180
|
}, null, 8, ["modelValue", "colors", "get-color-for-percent", "active"])
|
|
170
181
|
])),
|
|
171
|
-
h.value ? (u(),
|
|
182
|
+
h.value ? (u(), m(ve, {
|
|
172
183
|
key: 1,
|
|
173
184
|
title: "Color Palette",
|
|
174
185
|
"back-title": "Color mapping",
|
|
175
186
|
"onForm:close": o[2] || (o[2] = (l) => h.value = !1)
|
|
176
187
|
}, {
|
|
177
|
-
default:
|
|
178
|
-
|
|
188
|
+
default: S(() => [
|
|
189
|
+
C(_e, {
|
|
179
190
|
selected: d.value,
|
|
180
191
|
onSelect: B
|
|
181
192
|
}, null, 8, ["selected"])
|
|
@@ -183,91 +194,114 @@ const Ve = { class: "aes-mapping-block" }, he = { style: { margin: "0 24px" } },
|
|
|
183
194
|
_: 1
|
|
184
195
|
})) : i("", !0)
|
|
185
196
|
]),
|
|
186
|
-
e.allowReordering ? (u(), c("div",
|
|
187
|
-
|
|
197
|
+
e.allowReordering ? (u(), c("div", Te, " Drag the rows to reorder ")) : i("", !0),
|
|
198
|
+
r("div", {
|
|
188
199
|
class: "column-values-list",
|
|
189
200
|
ref_key: "optionsListRef",
|
|
190
|
-
ref:
|
|
201
|
+
ref: E
|
|
191
202
|
}, [
|
|
192
|
-
(u(!0), c(
|
|
193
|
-
class:
|
|
203
|
+
(u(!0), c(Z, null, ee(O.value, (l) => (u(), c("div", {
|
|
204
|
+
class: v(["column-value", { "column-value__with-reorder": e.allowReordering }])
|
|
194
205
|
}, [
|
|
195
|
-
e.allowReordering ? (u(), c("div",
|
|
196
|
-
(u(),
|
|
206
|
+
e.allowReordering ? (u(), c("div", Ie, [
|
|
207
|
+
(u(), m(le(he)))
|
|
197
208
|
])) : i("", !0),
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
e.
|
|
209
|
+
r("div", Ae, M(l.text), 1),
|
|
210
|
+
r("div", Le, [
|
|
211
|
+
e.allowHiding ? (u(), m(k(te), {
|
|
201
212
|
key: 0,
|
|
202
|
-
|
|
203
|
-
|
|
213
|
+
"open-delay": 100,
|
|
214
|
+
"close-delay": 100
|
|
215
|
+
}, {
|
|
216
|
+
tooltip: S(() => o[3] || (o[3] = [
|
|
217
|
+
r("span", null, " Show / hide ", -1)
|
|
218
|
+
])),
|
|
219
|
+
default: S(() => {
|
|
220
|
+
var a;
|
|
221
|
+
return [
|
|
222
|
+
r("div", {
|
|
223
|
+
onClick: w((_) => z(l), ["stop"]),
|
|
224
|
+
style: { cursor: "pointer" }
|
|
225
|
+
}, [
|
|
226
|
+
C(k(ne), {
|
|
227
|
+
name: (a = e.modelValue.hidden) != null && a[l.value] ? "view-hide" : "view-show"
|
|
228
|
+
}, null, 8, ["name"])
|
|
229
|
+
], 8, Pe)
|
|
230
|
+
];
|
|
231
|
+
}),
|
|
232
|
+
_: 2
|
|
233
|
+
}, 1024)) : i("", !0),
|
|
234
|
+
e.usedAesInMapping.lineType ? (u(), c("div", {
|
|
235
|
+
key: 1,
|
|
236
|
+
class: v(["column-value__aes", {
|
|
237
|
+
aes__selected: s.value === l.value && n.value === "lineType"
|
|
204
238
|
}]),
|
|
205
239
|
ref_for: !0,
|
|
206
|
-
ref: (a) =>
|
|
207
|
-
onClick:
|
|
240
|
+
ref: (a) => I("lineType", l, a),
|
|
241
|
+
onClick: w((a) => A(l, "lineType"), ["stop"])
|
|
208
242
|
}, [
|
|
209
|
-
|
|
210
|
-
class:
|
|
243
|
+
r("div", {
|
|
244
|
+
class: v(["icon__line line", { [`line__${l.lineType}`]: !0 }])
|
|
211
245
|
}, null, 2)
|
|
212
|
-
], 10,
|
|
246
|
+
], 10, Re)) : i("", !0),
|
|
213
247
|
e.usedAesInMapping.dotShape ? (u(), c("div", {
|
|
214
|
-
key:
|
|
215
|
-
class:
|
|
216
|
-
aes__selected:
|
|
248
|
+
key: 2,
|
|
249
|
+
class: v(["column-value__aes", {
|
|
250
|
+
aes__selected: s.value === l.value && n.value === "dotShape"
|
|
217
251
|
}]),
|
|
218
252
|
ref_for: !0,
|
|
219
|
-
ref: (a) =>
|
|
220
|
-
onClick:
|
|
253
|
+
ref: (a) => I("dotShape", l, a),
|
|
254
|
+
onClick: w((a) => A(l, "dotShape"), ["stop"])
|
|
221
255
|
}, [
|
|
222
|
-
|
|
223
|
-
class:
|
|
256
|
+
r("div", {
|
|
257
|
+
class: v(["dot", { [`dot__${l.dotShape}`]: !0 }])
|
|
224
258
|
}, null, 2)
|
|
225
|
-
], 10,
|
|
259
|
+
], 10, Fe)) : i("", !0),
|
|
226
260
|
e.usedAesInMapping.fill || e.usedAesInMapping.stroke ? (u(), c("div", {
|
|
227
|
-
key:
|
|
228
|
-
class:
|
|
229
|
-
aes__selected:
|
|
261
|
+
key: 3,
|
|
262
|
+
class: v(["column-value__aes", {
|
|
263
|
+
aes__selected: s.value === l.value && n.value === "color"
|
|
230
264
|
}]),
|
|
231
265
|
ref_for: !0,
|
|
232
|
-
ref: (a) =>
|
|
233
|
-
onClick:
|
|
266
|
+
ref: (a) => I("color", l, a),
|
|
267
|
+
onClick: w((a) => A(l, "color"), ["stop"])
|
|
234
268
|
}, [
|
|
235
|
-
|
|
269
|
+
r("div", {
|
|
236
270
|
class: "column-value__color",
|
|
237
|
-
style:
|
|
271
|
+
style: oe({ background: l.color })
|
|
238
272
|
}, null, 4)
|
|
239
|
-
], 10,
|
|
240
|
-
(n.value !== "color" ||
|
|
241
|
-
key: `${n.value}_${
|
|
242
|
-
targetRef:
|
|
273
|
+
], 10, Ee)) : i("", !0),
|
|
274
|
+
(n.value !== "color" || P.value) && n.value !== null && s.value === l.value ? (u(), m(Ve, {
|
|
275
|
+
key: `${n.value}_${s.value}`,
|
|
276
|
+
targetRef: T[n.value][s.value],
|
|
243
277
|
"onPopup:close": R,
|
|
244
278
|
height: H.value
|
|
245
279
|
}, {
|
|
246
|
-
default:
|
|
247
|
-
|
|
248
|
-
class:
|
|
280
|
+
default: S(() => [
|
|
281
|
+
r("div", {
|
|
282
|
+
class: v(["fixed-aes-list", { "fixed-aes-list__rows": !1 }])
|
|
249
283
|
}, [
|
|
250
|
-
n.value === "lineType" ? (u(),
|
|
284
|
+
n.value === "lineType" ? (u(), m(me, {
|
|
251
285
|
key: 0,
|
|
252
286
|
"onUpdate:modelValue": [
|
|
253
|
-
(a) =>
|
|
287
|
+
(a) => $(l.value, "lineShape", a),
|
|
254
288
|
(a) => l.lineType = a
|
|
255
289
|
],
|
|
256
290
|
modelValue: l.lineType
|
|
257
291
|
}, null, 8, ["onUpdate:modelValue", "modelValue"])) : i("", !0),
|
|
258
|
-
n.value === "dotShape" ? (u(),
|
|
292
|
+
n.value === "dotShape" ? (u(), m(pe, {
|
|
259
293
|
key: 1,
|
|
260
294
|
"onUpdate:modelValue": [
|
|
261
|
-
(a) =>
|
|
295
|
+
(a) => $(l.value, "dotShape", a),
|
|
262
296
|
(a) => l.dotShape = a
|
|
263
297
|
],
|
|
264
298
|
modelValue: l.dotShape
|
|
265
299
|
}, null, 8, ["onUpdate:modelValue", "modelValue"])) : i("", !0),
|
|
266
|
-
n.value === "color" ? (u(),
|
|
300
|
+
n.value === "color" ? (u(), m(ce, {
|
|
267
301
|
key: 2,
|
|
268
|
-
"colors-list":
|
|
302
|
+
"colors-list": F.value,
|
|
269
303
|
"onUpdate:modelValue": [
|
|
270
|
-
(a) =>
|
|
304
|
+
(a) => $(l.value, "color", a),
|
|
271
305
|
(a) => l.color = a
|
|
272
306
|
],
|
|
273
307
|
modelValue: l.color
|
|
@@ -283,6 +317,6 @@ const Ve = { class: "aes-mapping-block" }, he = { style: { margin: "0 24px" } },
|
|
|
283
317
|
}
|
|
284
318
|
});
|
|
285
319
|
export {
|
|
286
|
-
|
|
320
|
+
qe as default
|
|
287
321
|
};
|
|
288
322
|
//# sourceMappingURL=AesDataMappingDiscrete.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AesDataMappingDiscrete.vue.js","sources":["../../../../src/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useSortable } from '@platforma-sdk/ui-vue';\nimport { scaleLinear } from 'd3-scale';\nimport { ComponentPublicInstance, computed, reactive, ref, watch } from 'vue';\nimport {\n DotShape,\n LineType,\n Palette\n} from './types';\nimport {\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP, UNKNOWN_COLOR\n} from '../../constantsAesthetic';\nimport { AesType } from '../../constantsCommon';\nimport {\n AestheticMappingCategorical,\n createCategoricalMappingFromPalette\n} from '../../dataBindAes';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport FixedColorsList from './FixedColorsList.vue';\nimport FixedDotShapeList from './FixedDotShapeList.vue';\nimport FixedLineTypeList from './FixedLineTypeList.vue';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\nimport PlColorSlider from '../PlColorSlider.vue';\nimport Popup from '../Popup.vue';\nimport Reorder from '../../icons/Reorder.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n columnValueLabels: Record<string, string>;\n usedAesInMapping: Record<AesType, boolean>;\n modelValue: AestheticMappingCategorical;\n allowReordering?: boolean;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\nconst categorical = computed(() => isCategorical(palette.value));\n\ntype EditableAesType = 'color' | 'dotShape' | 'lineType';\n\nconst activeValue = ref<string | null>(null);\nconst activeValueIndex = computed(() => {\n if (activeValue.value === null) {\n return null;\n }\n return props.modelValue.order.indexOf(activeValue.value);\n});\nconst activeAesType = ref<EditableAesType | null>(null);\n\nconst optionsList = computed(() =>\n props.modelValue.order.map((value: string) => {\n const aes = props.modelValue.mapping[value]?.aes;\n return {\n text: props.columnValueLabels[value],\n value,\n dotShape: aes?.dotShape,\n color: aes?.color,\n lineType: aes?.lineShape\n };\n })\n);\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createCategoricalMappingFromPalette(value, props.modelValue.order)\n );\n}\n\nfunction onAesValueUpdate(\n value: string | number,\n aesField: string,\n aesValue: string | DotShape | LineType\n) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [value]: {\n ...props.modelValue.mapping[value],\n aes: {\n ...props.modelValue.mapping[value].aes,\n [aesField]: aesValue\n }\n }\n }\n });\n}\n\nconst itemRefs = reactive<\n Record<EditableAesType, Record<string, ComponentPublicInstance | Element>>\n>({\n color: {},\n dotShape: {},\n lineType: {}\n});\n\nfunction setRef(\n type: EditableAesType,\n item: (typeof optionsList.value)[0],\n el: ComponentPublicInstance | null | Element\n) {\n if (el && !itemRefs[type][item.value]) {\n itemRefs[type][item.value] = el;\n }\n}\n\nfunction toggleForm(\n item: (typeof optionsList.value)[0],\n valueType: EditableAesType\n) {\n const isThisFormOpen =\n activeValue.value === item.value && activeAesType.value === valueType;\n activeValue.value = isThisFormOpen ? null : item.value;\n activeAesType.value = isThisFormOpen ? null : valueType;\n}\n\nfunction closeForm() {\n activeValue.value = null;\n activeAesType.value = null;\n}\n\nconst selectedColorsList = computed(() =>\n PALETTE_MAP[palette.value].colors.map((color) => ({ color, name: color }))\n);\n\nconst popupHeight = computed(() => {\n if (!activeAesType.value) {\n return 0;\n }\n return getPopupHeightForFixedAesList(\n activeAesType.value === 'lineType' ? FIXED_LINE_TYPES.length : activeAesType.value === 'dotShape' ? FIXES_DOT_SHAPES.length : selectedColorsList.value.length,\n activeAesType.value\n );\n});\n\nconst optionsListRef = ref();\n\nif (props.allowReordering) {\n useSortable(optionsListRef, {\n handle: '.column-value__reorder-icon',\n onChange(indices) {\n emit('update:modelValue', {\n ...props.modelValue,\n order: indices.map((idx) => props.modelValue.order[idx])\n });\n }\n });\n}\n\nfunction getColorScale(colors: string[], unknownColor: string, from = 0, to = 1) {\n const colorStep = 1 / (colors.length - 1);\n const scale = scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => from + idx * colorStep * (to - from)))\n .range(colors);\n return (v: number) => {\n if (v > to || v < from) {\n return unknownColor;\n }\n return scale(v);\n };\n}\n\nconst continuousColorScale = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR)\n);\n\nconst colorForPercent = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR, 0, 100)\n);\nconst continuousMappingItems = ref(\n props.modelValue.order.map(\n (item) => props.modelValue.mapping[item].colorIdx * 100\n )\n);\nwatch(\n () => props.modelValue,\n (v) => {\n continuousMappingItems.value = v.order.map(\n (item) => v.mapping[item].colorIdx * 100\n );\n }\n);\n\nfunction updateContinuousColors(v: number[]) {\n v.forEach((value, idx) => {\n const item = props.modelValue.order[idx];\n const newColorIdx = value / 100;\n if (props.modelValue.mapping[item].colorIdx !== newColorIdx) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [item]: {\n colorIdx: newColorIdx,\n aes: {\n ...props.modelValue.mapping[item].aes,\n color: continuousColorScale.value(newColorIdx)\n }\n }\n }\n });\n }\n });\n}\n\nfunction setActiveElementFromColorSlider(e: { index: number, status: boolean }) {\n activeAesType.value = 'color';\n activeValue.value = e.status ? props.modelValue.order[e.index] : null;\n}\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <multiselect-button\n label=\"Color Palette \"\n icon=\"chevron-right\"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"\n palettesOpen = true;\n closeForm();\n \"\n />\n </div>\n <div v-if=\"!categorical\" style=\"margin: 24px 0\">\n <pl-color-slider\n v-model=\"continuousMappingItems\"\n :colors=\"PALETTE_MAP[palette].colors\"\n :get-color-for-percent=\"colorForPercent\"\n :active=\"activeValueIndex\"\n @active=\"setActiveElementFromColorSlider\"\n @update:model-value=\"updateContinuousColors\"\n />\n </div>\n <form-wrapper\n v-if=\"palettesOpen\"\n title=\"Color Palette\"\n back-title=\"Color mapping\"\n @form:close=\"palettesOpen = false\"\n >\n <palettes-form :selected=\"palette\" @select=\"onPaletteSelect\" />\n </form-wrapper>\n </div>\n <div v-if=\"allowReordering\" class=\"aes-settings-hint\">\n Drag the rows to reorder\n </div>\n <div class=\"column-values-list\" ref=\"optionsListRef\">\n <div\n v-for=\"item of optionsList\"\n class=\"column-value\"\n :class=\"{ 'column-value__with-reorder': allowReordering }\"\n >\n <div v-if=\"allowReordering\" class=\"column-value__reorder-icon\">\n <component :is=\"Reorder\" />\n </div>\n <div class=\"column-value__title\">{{ item.text }}</div>\n <div class=\"column-value__aes-group\">\n <div\n v-if=\"usedAesInMapping.lineType\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected:\n activeValue === item.value &&\n activeAesType === 'lineType'\n }\"\n :ref=\"(v) => setRef('lineType', item, v)\"\n @click.stop=\"toggleForm(item, 'lineType')\"\n >\n <div\n class=\"icon__line line\"\n :class=\"{ [`line__${item.lineType}`]: true }\"\n />\n </div>\n <div\n v-if=\"usedAesInMapping.dotShape\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'dotShape'\n }\"\n :ref=\"(v) => setRef('dotShape', item, v)\"\n @click.stop=\"toggleForm(item, 'dotShape')\"\n >\n <div class=\"dot\" :class=\"{ [`dot__${item.dotShape}`]: true }\" />\n </div>\n <div\n v-if=\"usedAesInMapping.fill || usedAesInMapping.stroke\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'color'\n }\"\n :ref=\"(v) => setRef('color', item, v)\"\n @click.stop=\"toggleForm(item, 'color')\"\n >\n <div\n class=\"column-value__color\"\n :style=\"{ background: item.color }\"\n />\n </div>\n <popup\n v-if=\"\n (activeAesType !== 'color' || categorical) &&\n activeAesType !== null &&\n activeValue === item.value\n \"\n :key=\"`${activeAesType}_${activeValue}`\"\n :targetRef=\"itemRefs[activeAesType][activeValue] as HTMLElement\"\n @popup:close=\"closeForm\"\n :height=\"popupHeight\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': false }\"\n >\n <fixed-line-type-list\n v-if=\"activeAesType === 'lineType'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'lineShape', v)\n \"\n v-model=\"item.lineType as LineType\"\n />\n <fixed-dot-shape-list\n v-if=\"activeAesType === 'dotShape'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'dotShape', v)\n \"\n v-model=\"item.dotShape as DotShape\"\n />\n <fixed-colors-list\n v-if=\"activeAesType === 'color'\"\n :colors-list=\"selectedColorsList\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'color', v)\n \"\n v-model=\"item.color as string\"\n />\n </div>\n </popup>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","categorical","computed","isCategorical","activeValue","activeValueIndex","activeAesType","optionsList","value","aes","_a","onPaletteSelect","createCategoricalMappingFromPalette","onAesValueUpdate","aesField","aesValue","itemRefs","reactive","setRef","type","item","el","toggleForm","valueType","isThisFormOpen","closeForm","selectedColorsList","PALETTE_MAP","color","popupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","optionsListRef","useSortable","indices","idx","getColorScale","colors","unknownColor","from","to","colorStep","scale","scaleLinear","_c","v","continuousColorScale","UNKNOWN_COLOR","colorForPercent","continuousMappingItems","watch","updateContinuousColors","newColorIdx","setActiveElementFromColorSlider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AesDataMappingDiscrete.vue.js","sources":["../../../../src/GraphMaker/components/AesSettings/AesDataMappingDiscrete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlIcon24, PlTooltip, useSortable } from '@platforma-sdk/ui-vue';\nimport { scaleLinear } from 'd3-scale';\nimport { ComponentPublicInstance, computed, reactive, ref, watch } from 'vue';\nimport {\n DotShape,\n LineType,\n Palette\n} from './types';\nimport {\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP, UNKNOWN_COLOR\n} from '../../constantsAesthetic';\nimport { AesType } from '../../constantsCommon';\nimport {\n AestheticMappingCategorical,\n createCategoricalMappingFromPalette\n} from '../../dataBindAes';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport FixedColorsList from './FixedColorsList.vue';\nimport FixedDotShapeList from './FixedDotShapeList.vue';\nimport FixedLineTypeList from './FixedLineTypeList.vue';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\nimport PlColorSlider from '../PlColorSlider.vue';\nimport Popup from '../Popup.vue';\nimport Reorder from '../../icons/Reorder.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n columnValueLabels: Record<string, string>;\n usedAesInMapping: Record<AesType, boolean>;\n modelValue: AestheticMappingCategorical;\n allowReordering?: boolean;\n allowHiding?: boolean;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\nconst categorical = computed(() => isCategorical(palette.value));\n\ntype EditableAesType = 'color' | 'dotShape' | 'lineType';\n\nconst activeValue = ref<string | null>(null);\nconst activeValueIndex = computed(() => {\n if (activeValue.value === null) {\n return null;\n }\n return props.modelValue.order.indexOf(activeValue.value);\n});\nconst activeAesType = ref<EditableAesType | null>(null);\n\nconst optionsList = computed(() =>\n props.modelValue.order.map((value: string) => {\n const aes = props.modelValue.mapping[value]?.aes;\n return {\n text: props.columnValueLabels[value],\n value,\n dotShape: aes?.dotShape,\n color: aes?.color,\n lineType: aes?.lineShape\n };\n })\n);\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createCategoricalMappingFromPalette(value, props.modelValue.order)\n );\n}\n\nfunction onAesValueUpdate(\n value: string | number,\n aesField: string,\n aesValue: string | DotShape | LineType\n) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [value]: {\n ...props.modelValue.mapping[value],\n aes: {\n ...props.modelValue.mapping[value].aes,\n [aesField]: aesValue\n }\n }\n }\n });\n}\n\nconst itemRefs = reactive<\n Record<EditableAesType, Record<string, ComponentPublicInstance | Element>>\n>({\n color: {},\n dotShape: {},\n lineType: {}\n});\n\nfunction setRef(\n type: EditableAesType,\n item: (typeof optionsList.value)[0],\n el: ComponentPublicInstance | null | Element\n) {\n if (el && !itemRefs[type][item.value]) {\n itemRefs[type][item.value] = el;\n }\n}\n\nfunction toggleForm(\n item: (typeof optionsList.value)[0],\n valueType: EditableAesType\n) {\n const isThisFormOpen =\n activeValue.value === item.value && activeAesType.value === valueType;\n activeValue.value = isThisFormOpen ? null : item.value;\n activeAesType.value = isThisFormOpen ? null : valueType;\n}\n\nfunction closeForm() {\n activeValue.value = null;\n activeAesType.value = null;\n}\n\nconst selectedColorsList = computed(() =>\n PALETTE_MAP[palette.value].colors.map((color) => ({ color, name: color }))\n);\n\nconst popupHeight = computed(() => {\n if (!activeAesType.value) {\n return 0;\n }\n return getPopupHeightForFixedAesList(\n activeAesType.value === 'lineType' ? FIXED_LINE_TYPES.length : activeAesType.value === 'dotShape' ? FIXES_DOT_SHAPES.length : selectedColorsList.value.length,\n activeAesType.value\n );\n});\n\nconst optionsListRef = ref();\n\nif (props.allowReordering) {\n useSortable(optionsListRef, {\n handle: '.column-value__reorder-icon',\n onChange(indices) {\n emit('update:modelValue', {\n ...props.modelValue,\n order: indices.map((idx) => props.modelValue.order[idx])\n });\n }\n });\n}\n\nfunction switchVisibility (option: {value: string}) {\n console.log('switch for', option.value)\n emit('update:modelValue', {\n ...props.modelValue,\n hidden: {\n ...props.modelValue.hidden,\n [option.value]: props.modelValue.hidden?.[option.value] ? false : true\n }\n });\n}\n\nfunction getColorScale(colors: string[], unknownColor: string, from = 0, to = 1) {\n const colorStep = 1 / (colors.length - 1);\n const scale = scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => from + idx * colorStep * (to - from)))\n .range(colors);\n return (v: number) => {\n if (v > to || v < from) {\n return unknownColor;\n }\n return scale(v);\n };\n}\n\nconst continuousColorScale = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR)\n);\n\nconst colorForPercent = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR, 0, 100)\n);\nconst continuousMappingItems = ref(\n props.modelValue.order.map(\n (item) => props.modelValue.mapping[item].colorIdx * 100\n )\n);\nwatch(\n () => props.modelValue,\n (v) => {\n continuousMappingItems.value = v.order.map(\n (item) => v.mapping[item].colorIdx * 100\n );\n }\n);\n\nfunction updateContinuousColors(v: number[]) {\n v.forEach((value, idx) => {\n const item = props.modelValue.order[idx];\n const newColorIdx = value / 100;\n if (props.modelValue.mapping[item].colorIdx !== newColorIdx) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [item]: {\n colorIdx: newColorIdx,\n aes: {\n ...props.modelValue.mapping[item].aes,\n color: continuousColorScale.value(newColorIdx)\n }\n }\n }\n });\n }\n });\n}\n\nfunction setActiveElementFromColorSlider(e: { index: number, status: boolean }) {\n activeAesType.value = 'color';\n activeValue.value = e.status ? props.modelValue.order[e.index] : null;\n}\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <multiselect-button\n label=\"Color Palette \"\n icon=\"chevron-right\"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"\n palettesOpen = true;\n closeForm();\n \"\n />\n </div>\n <div v-if=\"!categorical\" style=\"margin: 24px 0\">\n <pl-color-slider\n v-model=\"continuousMappingItems\"\n :colors=\"PALETTE_MAP[palette].colors\"\n :get-color-for-percent=\"colorForPercent\"\n :active=\"activeValueIndex\"\n @active=\"setActiveElementFromColorSlider\"\n @update:model-value=\"updateContinuousColors\"\n />\n </div>\n <form-wrapper\n v-if=\"palettesOpen\"\n title=\"Color Palette\"\n back-title=\"Color mapping\"\n @form:close=\"palettesOpen = false\"\n >\n <palettes-form :selected=\"palette\" @select=\"onPaletteSelect\" />\n </form-wrapper>\n </div>\n <div v-if=\"allowReordering\" class=\"aes-settings-hint\">\n Drag the rows to reorder\n </div>\n <div class=\"column-values-list\" ref=\"optionsListRef\">\n <div\n v-for=\"item of optionsList\"\n class=\"column-value\"\n :class=\"{ 'column-value__with-reorder': allowReordering }\"\n >\n <div v-if=\"allowReordering\" class=\"column-value__reorder-icon\">\n <component :is=\"Reorder\" />\n </div>\n <div class=\"column-value__title\">{{ item.text }}</div>\n <div class=\"column-value__aes-group\">\n <PlTooltip :open-delay=\"100\" :close-delay=\"100\" v-if=\"allowHiding\">\n <div @click.stop=\"switchVisibility(item)\" :style=\"{cursor: 'pointer'}\">\n <PlIcon24 :name=\"modelValue.hidden?.[item.value] ? 'view-hide' : 'view-show'\"/>\n </div>\n <template #tooltip>\n <span> Show / hide </span>\n </template>\n </PlTooltip>\n <div\n v-if=\"usedAesInMapping.lineType\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected:\n activeValue === item.value &&\n activeAesType === 'lineType'\n }\"\n :ref=\"(v) => setRef('lineType', item, v)\"\n @click.stop=\"toggleForm(item, 'lineType')\"\n >\n <div\n class=\"icon__line line\"\n :class=\"{ [`line__${item.lineType}`]: true }\"\n />\n </div>\n <div\n v-if=\"usedAesInMapping.dotShape\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'dotShape'\n }\"\n :ref=\"(v) => setRef('dotShape', item, v)\"\n @click.stop=\"toggleForm(item, 'dotShape')\"\n >\n <div class=\"dot\" :class=\"{ [`dot__${item.dotShape}`]: true }\" />\n </div>\n <div\n v-if=\"usedAesInMapping.fill || usedAesInMapping.stroke\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'color'\n }\"\n :ref=\"(v) => setRef('color', item, v)\"\n @click.stop=\"toggleForm(item, 'color')\"\n >\n <div\n class=\"column-value__color\"\n :style=\"{ background: item.color }\"\n />\n </div>\n <popup\n v-if=\"\n (activeAesType !== 'color' || categorical) &&\n activeAesType !== null &&\n activeValue === item.value\n \"\n :key=\"`${activeAesType}_${activeValue}`\"\n :targetRef=\"itemRefs[activeAesType][activeValue] as HTMLElement\"\n @popup:close=\"closeForm\"\n :height=\"popupHeight\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': false }\"\n >\n <fixed-line-type-list\n v-if=\"activeAesType === 'lineType'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'lineShape', v)\n \"\n v-model=\"item.lineType as LineType\"\n />\n <fixed-dot-shape-list\n v-if=\"activeAesType === 'dotShape'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'dotShape', v)\n \"\n v-model=\"item.dotShape as DotShape\"\n />\n <fixed-colors-list\n v-if=\"activeAesType === 'color'\"\n :colors-list=\"selectedColorsList\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'color', v)\n \"\n v-model=\"item.color as string\"\n />\n </div>\n </popup>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","categorical","computed","isCategorical","activeValue","activeValueIndex","activeAesType","optionsList","value","aes","_a","onPaletteSelect","createCategoricalMappingFromPalette","onAesValueUpdate","aesField","aesValue","itemRefs","reactive","setRef","type","item","el","toggleForm","valueType","isThisFormOpen","closeForm","selectedColorsList","PALETTE_MAP","color","popupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","optionsListRef","useSortable","indices","idx","switchVisibility","option","getColorScale","colors","unknownColor","from","to","colorStep","scale","scaleLinear","_c","v","continuousColorScale","UNKNOWN_COLOR","colorForPercent","continuousMappingItems","watch","updateContinuousColors","newColorIdx","setActiveElementFromColorSlider"],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export interface AestheticMappingCategorical {
|
|
|
24
24
|
palette: Palette;
|
|
25
25
|
naAes: AestheticValues;
|
|
26
26
|
order: string[];
|
|
27
|
+
hidden?: Record<string, boolean>;
|
|
27
28
|
mapping: AestheticMappingRecord;
|
|
28
29
|
}
|
|
29
30
|
export declare function isAestheticMappingCategorical(v: unknown | AestheticMappingCategorical): v is AestheticMappingCategorical;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataBindAes.d.ts","sourceRoot":"","sources":["../../src/GraphMaker/dataBindAes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,OAAO,EACR,MAAM,gCAAgC,CAAC;AAQxC,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,2BAA2B,CAAC;AAEhC,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,mDAAmD;AACnD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAC,OAAO,GAAG,0BAA0B,GAAG,CAAC,IAAI,0BAA0B,CAEpH;AAED,iDAAiD;AACjD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,wBAAgB,6BAA6B,CAAC,CAAC,EAAC,OAAO,GAAG,2BAA2B,GAAG,CAAC,IAAI,2BAA2B,CAEvH;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAC,OAAO,GAAG,0BAA0B,GAAG,2BAA2B,GAAE,CAAC,IAAI,gBAAgB,CAE7H;AAGD,KAAK,sBAAsB,GAAG,MAAM,CAClC,MAAM,GAAG,MAAM,EACf;IACE,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF,UAAU,eAAe;IACvB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,kBAAkB,EAAC,QAAkB,CAAC;AACnD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,EAAC,QAAe,CAAC;AAC/C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,iBAAiB,EAAC,WAAiC,CAAC;AAEjE,eAAO,MAAM,cAAc;;eAEQ,QAAQ;cACV,QAAQ;CACxC,CAAC;AAUF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,2BAA2B,
|
|
1
|
+
{"version":3,"file":"dataBindAes.d.ts","sourceRoot":"","sources":["../../src/GraphMaker/dataBindAes.ts"],"names":[],"mappings":"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"}
|