@milaboratories/graph-maker 1.2.1 → 1.2.2

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.
Files changed (92) hide show
  1. package/dist/assets/ui.css +1 -1
  2. package/dist/components/ChartTruncationWarningAlert.css +1 -0
  3. package/dist/components/ChartTruncationWarningAlert.vue.d.ts +7 -0
  4. package/dist/components/ChartTruncationWarningAlert.vue.d.ts.map +1 -0
  5. package/dist/components/ChartTruncationWarningAlert.vue.js +10 -0
  6. package/dist/components/ChartTruncationWarningAlert.vue.js.map +1 -0
  7. package/dist/components/ChartTruncationWarningAlert.vue2.js +54 -0
  8. package/dist/components/ChartTruncationWarningAlert.vue2.js.map +1 -0
  9. package/dist/components/ChartTruncationWarningAlert.vue3.js +8 -0
  10. package/dist/components/ChartTruncationWarningAlert.vue3.js.map +1 -0
  11. package/dist/components/DragAndDrop/DnDBasketChip.vue.d.ts.map +1 -1
  12. package/dist/components/DragAndDrop/DnDBasketChip.vue.js +34 -31
  13. package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
  14. package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts.map +1 -1
  15. package/dist/components/DragAndDrop/DnDRangeChip.vue.js +34 -31
  16. package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
  17. package/dist/components/DragAndDrop/DndDoubleChip.vue.d.ts.map +1 -1
  18. package/dist/components/DragAndDrop/DndDoubleChip.vue.js +40 -35
  19. package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
  20. package/dist/components/PanelModal.vue.d.ts.map +1 -1
  21. package/dist/components/PanelModal.vue.js +25 -11
  22. package/dist/components/PanelModal.vue.js.map +1 -1
  23. package/dist/constantsCommon.d.ts +6 -0
  24. package/dist/constantsCommon.d.ts.map +1 -1
  25. package/dist/constantsCommon.js +36 -32
  26. package/dist/constantsCommon.js.map +1 -1
  27. package/dist/dataBindAes.d.ts.map +1 -1
  28. package/dist/dataBindAes.js +81 -86
  29. package/dist/dataBindAes.js.map +1 -1
  30. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.d.ts.map +1 -1
  31. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +64 -54
  32. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
  33. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.d.ts.map +1 -1
  34. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +177 -157
  35. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  36. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
  37. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +133 -123
  38. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  39. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.d.ts.map +1 -1
  40. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +130 -120
  41. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
  42. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.d.ts.map +1 -1
  43. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +164 -147
  44. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
  45. package/dist/forms/DataMappingForm/utils.js +58 -58
  46. package/dist/forms/DataMappingForm/utils.js.map +1 -1
  47. package/dist/forms/LayersForm/AesSelector.vue.js +66 -66
  48. package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
  49. package/dist/index.vue.d.ts.map +1 -1
  50. package/dist/index.vue.js +186 -172
  51. package/dist/index.vue.js.map +1 -1
  52. package/dist/store.d.ts +2 -1
  53. package/dist/store.d.ts.map +1 -1
  54. package/dist/store.js +140 -134
  55. package/dist/store.js.map +1 -1
  56. package/dist/types.d.ts +2 -0
  57. package/dist/types.d.ts.map +1 -1
  58. package/dist/utils/calculateDiscreteGroups.d.ts.map +1 -1
  59. package/dist/utils/calculateDiscreteGroups.js +6 -6
  60. package/dist/utils/calculateDiscreteGroups.js.map +1 -1
  61. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +1 -0
  62. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts.map +1 -1
  63. package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +19 -1
  64. package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts.map +1 -1
  65. package/dist/utils/createChartSettingsForRender/composeChartSettings.js +74 -40
  66. package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
  67. package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts +1 -0
  68. package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
  69. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +22 -22
  70. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
  71. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +4 -487
  72. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  73. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +48 -35
  74. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
  75. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +1 -0
  76. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  77. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +1 -0
  78. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts.map +1 -1
  79. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +1 -0
  80. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  81. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +80 -67
  82. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  83. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
  84. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +28 -28
  85. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
  86. package/dist/utils/loadUniqueValuesToSave.d.ts +3 -1
  87. package/dist/utils/loadUniqueValuesToSave.d.ts.map +1 -1
  88. package/dist/utils/loadUniqueValuesToSave.js +81 -63
  89. package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
  90. package/package.json +3 -3
  91. package/dist/assets/drag-and-drop/img/chip-close.svg.js +0 -7
  92. package/dist/assets/drag-and-drop/img/chip-close.svg.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as q, computed as y, ref as F, watch as U, createElementBlock as _, openBlock as S, Fragment as ee, createElementVNode as O, createBlock as T, createCommentVNode as b, createVNode as L, withModifiers as te, unref as h, withCtx as M, normalizeClass as le } from "vue";
2
2
  import { PlDropdown as ae } from "@platforma-sdk/ui-vue";
3
- import { createDefaultMapping as ue, createContinuousMappingFromPalette as oe } from "../../dataBindAes.js";
3
+ import { createDefaultMapping as oe, createContinuousMappingFromPalette as ue } from "../../dataBindAes.js";
4
4
  import { DEFAULT_LINE_TYPE as ie, DEFAULT_DOT_SHAPE as ne, FIXED_COLORS as A, FIXED_LINE_TYPES as re, FIXES_DOT_SHAPES as se } from "../../constantsAesthetic.js";
5
5
  import de from "../../components/AesButton.vue.js";
6
6
  import { useStore as pe } from "../../store.js";
@@ -27,7 +27,7 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
27
27
  emits: ["aes-update", "aes-selector-close"],
28
28
  setup(n, { emit: X }) {
29
29
  var B, R;
30
- const d = n, s = pe(), u = y(() => s.value.reactive.chartType), $ = X, Y = {
30
+ const p = n, d = pe(), o = y(() => d.value.reactive.chartType), I = X, Y = {
31
31
  discrete: ["primaryGrouping", "secondaryGrouping"],
32
32
  scatterplot: ["grouping"],
33
33
  "scatterplot-umap": ["grouping"],
@@ -35,14 +35,14 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
35
35
  heatmap: [],
36
36
  histogram: ["grouping"],
37
37
  bubble: []
38
- }, G = d.possibleAesSourceInputs ?? Y[u.value], z = y(
39
- () => s.value.commonHelpersData.usedAesInMapping.value
38
+ }, G = p.possibleAesSourceInputs ?? Y[o.value], z = y(
39
+ () => d.value.commonHelpersData.usedAesInMapping.value
40
40
  );
41
- function k(t) {
42
- return typeof t == "string" ? t : u.value === "scatterplot" ? `grouping_${t.value}` : u.value === "dendro" ? `${t.type}_${t.value}` : t.type;
41
+ function w(t) {
42
+ return typeof t == "string" ? t : o.value === "scatterplot" ? `grouping_${t.value}` : o.value === "dendro" ? `${t.type}_${t.value}` : t.type;
43
43
  }
44
- const r = F(
45
- W(d.selected) ? k(d.selected) : "fix"
44
+ const s = F(
45
+ W(p.selected) ? w(p.selected) : "fix"
46
46
  ), K = {
47
47
  fill: A[0].color,
48
48
  stroke: A[0].color,
@@ -50,93 +50,93 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
50
50
  lineType: ie,
51
51
  size: ""
52
52
  // temporary
53
- }, j = y(() => s.value.inputGuide.value), J = y(() => s.value.uniqueValuesData.value), H = /* @__PURE__ */ new Set([
53
+ }, j = y(() => d.value.inputGuide.value), J = y(() => d.value.uniqueValuesData.value), H = /* @__PURE__ */ new Set([
54
54
  "scatterplot",
55
55
  "scatterplot-umap",
56
56
  "heatmap"
57
- ]), p = y(() => {
58
- const t = {}, e = s.value.reactive.optionsState.components;
59
- function v(a, l) {
60
- const o = j.value.getSourceInfo(l), c = J.value[l], x = (c == null ? void 0 : c.list) ?? [], f = (c == null ? void 0 : c.labels) ?? {}, C = k({ type: a, value: l });
61
- if (H.has(u.value) && o.type === "String" || !H.has(u.value)) {
62
- const V = s.value.reactive.dataBindAes[l] ?? ue(x, s.value.defaultPalette.categorical);
63
- t[C] = {
57
+ ]), v = y(() => {
58
+ const t = {}, e = d.value.reactive.optionsState.components;
59
+ function c(a, l) {
60
+ const u = j.value.getSourceInfo(l), r = J.value[l], x = r != null && r.overflow ? [] : (r == null ? void 0 : r.list) ?? [], f = r != null && r.overflow ? {} : (r == null ? void 0 : r.labels) ?? {}, $ = w({ type: a, value: l });
61
+ if (H.has(o.value) && u.type === "String" || !H.has(o.value)) {
62
+ const k = d.value.reactive.dataBindAes[l] ?? oe(x, d.value.defaultPalette.categorical);
63
+ t[$] = {
64
64
  type: "dataCategorical",
65
- value: C,
66
- initialData: V,
65
+ value: $,
66
+ initialData: k,
67
67
  inputName: a,
68
68
  selectedSource: l,
69
- selectedSourceInfo: o,
69
+ selectedSourceInfo: u,
70
70
  selectedSourceValues: x,
71
- labels: V.order.reduce(
72
- (w, I) => (w[I] = f[I] ?? String(I), I === "null" && (w[I] = s.value.reactive.axesSettings.other.nullValueLabel), w),
71
+ labels: k.order.reduce(
72
+ (V, C) => (V[C] = f[C] ?? String(C), C === "null" && (V[C] = d.value.reactive.axesSettings.other.nullValueLabel), V),
73
73
  {}
74
74
  )
75
75
  };
76
76
  } else {
77
- const V = s.value.reactive.dataBindAes[l] ?? oe(s.value.defaultPalette.continuous);
78
- t[C] = {
77
+ const k = d.value.reactive.dataBindAes[l] ?? ue(d.value.defaultPalette.continuous);
78
+ t[$] = {
79
79
  type: "dataContinuous",
80
- value: C,
81
- initialData: V,
80
+ value: $,
81
+ initialData: k,
82
82
  inputName: a,
83
83
  selectedSource: l,
84
- selectedSourceInfo: o,
84
+ selectedSourceInfo: u,
85
85
  selectedSourceValues: x
86
86
  };
87
87
  }
88
88
  }
89
89
  return G.forEach((a) => {
90
90
  var l;
91
- (l = e == null ? void 0 : e[a]) != null && l.selectorStates.length && e[a].selectorStates.forEach(({ selectedSource: o }) => {
92
- v(a, o);
91
+ (l = e == null ? void 0 : e[a]) != null && l.selectorStates.length && e[a].selectorStates.forEach(({ selectedSource: u }) => {
92
+ c(a, u);
93
93
  });
94
- }), d.withoutFixed || (t.fix = {
94
+ }), p.withoutFixed || (t.fix = {
95
95
  type: "fix",
96
96
  value: "fix",
97
- initialData: W(d.selected) ? K[d.type] : d.selected
97
+ initialData: W(p.selected) ? K[p.type] : p.selected
98
98
  }), t;
99
99
  }), i = y(
100
- () => p.value[r.value] ?? null
100
+ () => v.value[s.value] ?? null
101
101
  );
102
102
  function Q(t, e) {
103
- var v, a, l, o;
104
- return t.type === "fix" ? "Fixed" : e === t.value ? `${(v = t.selectedSourceInfo) == null ? void 0 : v.label}` : u.value === "discrete" ? `${t.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping: ${(a = t.selectedSourceInfo) == null ? void 0 : a.label}` : u.value === "scatterplot" || u.value === "dendro" ? `Grouping: ${(l = t.selectedSourceInfo) == null ? void 0 : l.label}` : ((o = t.selectedSourceInfo) == null ? void 0 : o.label) ?? "";
103
+ var c, a, l, u;
104
+ return t.type === "fix" ? "Fixed" : e === t.value ? `${(c = t.selectedSourceInfo) == null ? void 0 : c.label}` : o.value === "discrete" ? `${t.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping: ${(a = t.selectedSourceInfo) == null ? void 0 : a.label}` : o.value === "scatterplot" || o.value === "dendro" ? `Grouping: ${(l = t.selectedSourceInfo) == null ? void 0 : l.label}` : ((u = t.selectedSourceInfo) == null ? void 0 : u.label) ?? "";
105
105
  }
106
106
  const P = y(() => {
107
- const t = [], e = s.value.reactive.optionsState.components;
108
- function v(a, l) {
109
- const o = k({
107
+ const t = [], e = d.value.reactive.optionsState.components;
108
+ function c(a, l) {
109
+ const u = w({
110
110
  type: a === "shape" ? "grouping" : a,
111
111
  value: l
112
112
  });
113
- p.value[o] && t.push({
114
- text: Q(p.value[o], r.value),
115
- value: o
113
+ v.value[u] && t.push({
114
+ text: Q(v.value[u], s.value),
115
+ value: u
116
116
  });
117
117
  }
118
118
  if (G.forEach((a) => {
119
119
  var l;
120
- (l = e == null ? void 0 : e[a]) != null && l.selectorStates.length && e[a].selectorStates.forEach(({ selectedSource: o }) => {
121
- v(a, o);
120
+ (l = e == null ? void 0 : e[a]) != null && l.selectorStates.length && e[a].selectorStates.forEach(({ selectedSource: u }) => {
121
+ c(a, u);
122
122
  });
123
- }), !p.value[r.value]) {
123
+ }), !v.value[s.value]) {
124
124
  let a = "Not consistent (grouping)";
125
- u.value === "discrete" && (a = `${r.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping (not selected)`), t.push({ text: a, value: r.value });
125
+ o.value === "discrete" && (a = `${s.value === "primaryGrouping" ? "Primary" : "Secondary"} grouping (not selected)`), t.push({ text: a, value: s.value });
126
126
  }
127
- return d.withoutFixed || t.push({ text: "Fixed", value: "fix" }), t;
127
+ return p.withoutFixed || t.push({ text: "Fixed", value: "fix" }), t;
128
128
  }), E = F(!1), m = F(
129
- p.value.fix ? p.value.fix.initialData : null
129
+ v.value.fix ? v.value.fix.initialData : null
130
130
  ), g = F(
131
131
  ((B = i.value) == null ? void 0 : B.type) === "dataCategorical" ? i.value.initialData : null
132
132
  ), D = F(
133
133
  ((R = i.value) == null ? void 0 : R.type) === "dataContinuous" ? i.value.initialData : null
134
134
  );
135
135
  U(
136
- () => r.value,
136
+ () => s.value,
137
137
  (t) => {
138
- const e = p.value[t];
139
- (e == null ? void 0 : e.type) === "fix" ? $("aes-update", m.value, e) : (e == null ? void 0 : e.type) === "dataCategorical" ? (g.value = e.initialData, $("aes-update", e.initialData, e)) : (e == null ? void 0 : e.type) === "dataContinuous" && (D.value = e.initialData, $("aes-update", e.initialData, e));
138
+ const e = v.value[t];
139
+ (e == null ? void 0 : e.type) === "fix" ? I("aes-update", m.value, e) : (e == null ? void 0 : e.type) === "dataCategorical" ? (g.value = e.initialData, I("aes-update", e.initialData, e)) : (e == null ? void 0 : e.type) === "dataContinuous" && (D.value = e.initialData, I("aes-update", e.initialData, e));
140
140
  }
141
141
  ), U(
142
142
  () => {
@@ -144,13 +144,13 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
144
144
  return ((t = i.value) == null ? void 0 : t.type) === "dataCategorical" ? (e = i.value) == null ? void 0 : e.initialData : null;
145
145
  },
146
146
  (t) => {
147
- t && r.value !== "fix" && (!g.value || g.value.order.length === 0) && t.order.length > 0 && (g.value = t);
147
+ t && s.value !== "fix" && (!g.value || g.value.order.length === 0) && t.order.length > 0 && (g.value = t);
148
148
  },
149
149
  { deep: !0 }
150
150
  );
151
- const N = F(), Z = y(() => d.type === "lineType" ? re.length * 32 + 32 : d.type === "dotShape" ? Math.ceil(se.length / 6) * 36 + 40 : d.type === "fill" || d.type === "stroke" ? Math.ceil(A.length / 6) * 36 + 40 : 0);
151
+ const N = F(), Z = y(() => p.type === "lineType" ? re.length * 32 + 32 : p.type === "dotShape" ? Math.ceil(se.length / 6) * 36 + 40 : p.type === "fill" || p.type === "stroke" ? Math.ceil(A.length / 6) * 36 + 40 : 0);
152
152
  return (t, e) => {
153
- var v, a;
153
+ var c, a;
154
154
  return S(), _(ee, null, [
155
155
  O("div", Te, [
156
156
  O("div", {
@@ -159,8 +159,8 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
159
159
  }, ["stop"]))
160
160
  }, [
161
161
  L(h(ae), {
162
- modelValue: r.value,
163
- "onUpdate:modelValue": e[0] || (e[0] = (l) => r.value = l),
162
+ modelValue: s.value,
163
+ "onUpdate:modelValue": e[0] || (e[0] = (l) => s.value = l),
164
164
  disabled: n.disabled || P.value.length < 2,
165
165
  label: n.label,
166
166
  options: P.value
@@ -168,13 +168,13 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
168
168
  ]),
169
169
  L(de, {
170
170
  data: {
171
- type: r.value === "fix" ? n.type : "data",
172
- value: r.value === "fix" ? n.type === "size" ? Number(n.selected) : n.selected : null
171
+ type: s.value === "fix" ? n.type : "data",
172
+ value: s.value === "fix" ? n.type === "size" ? Number(n.selected) : n.selected : null
173
173
  },
174
174
  onClick: e[2] || (e[2] = (l) => E.value = !E.value),
175
175
  onRef: e[3] || (e[3] = (l) => N.value = l)
176
176
  }, null, 8, ["data"]),
177
- r.value === "fix" && E.value && m.value ? (S(), T(ve, {
177
+ s.value === "fix" && E.value && m.value ? (S(), T(ve, {
178
178
  key: 0,
179
179
  height: Z.value,
180
180
  targetRef: N.value,
@@ -189,7 +189,7 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
189
189
  modelValue: m.value,
190
190
  "onUpdate:modelValue": [
191
191
  e[4] || (e[4] = (l) => m.value = l),
192
- e[5] || (e[5] = (l) => t.$emit("aes-update", l, p.value.fix))
192
+ e[5] || (e[5] = (l) => t.$emit("aes-update", l, v.value.fix))
193
193
  ],
194
194
  "color-using": n.type
195
195
  }, null, 8, ["modelValue", "color-using"])) : b("", !0),
@@ -198,7 +198,7 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
198
198
  modelValue: m.value,
199
199
  "onUpdate:modelValue": [
200
200
  e[6] || (e[6] = (l) => m.value = l),
201
- e[7] || (e[7] = (l) => t.$emit("aes-update", l, p.value.fix))
201
+ e[7] || (e[7] = (l) => t.$emit("aes-update", l, v.value.fix))
202
202
  ]
203
203
  }, null, 8, ["modelValue"])) : b("", !0),
204
204
  n.type === "lineType" ? (S(), T(me, {
@@ -206,7 +206,7 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
206
206
  modelValue: m.value,
207
207
  "onUpdate:modelValue": [
208
208
  e[8] || (e[8] = (l) => m.value = l),
209
- e[9] || (e[9] = (l) => t.$emit("aes-update", l, p.value.fix))
209
+ e[9] || (e[9] = (l) => t.$emit("aes-update", l, v.value.fix))
210
210
  ]
211
211
  }, null, 8, ["modelValue"])) : b("", !0)
212
212
  ], 2)
@@ -214,14 +214,14 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
214
214
  _: 1
215
215
  }, 8, ["height", "targetRef"])) : b("", !0)
216
216
  ]),
217
- (((v = i.value) == null ? void 0 : v.type) === "dataCategorical" && g.value || ((a = i.value) == null ? void 0 : a.type) === "dataContinuous" && D.value) && E.value ? (S(), T(ge, {
217
+ (((c = i.value) == null ? void 0 : c.type) === "dataCategorical" && g.value || ((a = i.value) == null ? void 0 : a.type) === "dataContinuous" && D.value) && E.value ? (S(), T(ge, {
218
218
  key: 0,
219
219
  title: n.formTitle,
220
220
  "back-title": n.formBackTitle,
221
221
  "onForm:close": e[15] || (e[15] = (l) => E.value = !1)
222
222
  }, {
223
223
  default: M(() => {
224
- var l, o, c, x;
224
+ var l, u, r, x;
225
225
  return [
226
226
  ((l = i.value) == null ? void 0 : l.type) === "dataCategorical" && g.value ? (S(), T(ye, {
227
227
  key: 0,
@@ -231,13 +231,13 @@ const Te = { class: "aes-input-row" }, Ge = /* @__PURE__ */ q({
231
231
  e[12] || (e[12] = (f) => t.$emit("aes-update", f, i.value))
232
232
  ],
233
233
  "column-value-labels": i.value.labels,
234
- "data-column-label": ((o = i.value.selectedSourceInfo) == null ? void 0 : o.label) ?? "",
234
+ "data-column-label": ((u = i.value.selectedSourceInfo) == null ? void 0 : u.label) ?? "",
235
235
  "used-aes-in-mapping": z.value[i.value.selectedSource],
236
- "allow-hiding": u.value === "discrete" || u.value === "histogram",
237
- "allow-reordering": u.value === "discrete" || u.value === "histogram" || u.value === "scatterplot" || u.value === "scatterplot-umap",
238
- "allow-null-option": u.value === "discrete" && (r.value === "primaryGrouping" && h(s).reactive.axesSettings.axisX.allowNullPrimaryGroups || r.value === "secondaryGrouping" && h(s).reactive.axesSettings.axisX.allowNullSecondaryGroups) || u.value === "scatterplot" || u.value === "scatterplot-umap" || u.value === "histogram"
236
+ "allow-hiding": o.value === "discrete" || o.value === "histogram",
237
+ "allow-reordering": o.value === "discrete" || o.value === "histogram" || o.value === "scatterplot" || o.value === "scatterplot-umap",
238
+ "allow-null-option": o.value === "discrete" && (s.value === "primaryGrouping" && h(d).reactive.axesSettings.axisX.allowNullPrimaryGroups || s.value === "secondaryGrouping" && h(d).reactive.axesSettings.axisX.allowNullSecondaryGroups) || o.value === "scatterplot" || o.value === "scatterplot-umap" || o.value === "histogram"
239
239
  }, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-hiding", "allow-reordering", "allow-null-option"])) : b("", !0),
240
- ((c = i.value) == null ? void 0 : c.type) === "dataContinuous" && D.value ? (S(), T(Se, {
240
+ ((r = i.value) == null ? void 0 : r.type) === "dataContinuous" && D.value ? (S(), T(Se, {
241
241
  key: 1,
242
242
  modelValue: D.value,
243
243
  "onUpdate:modelValue": [
@@ -1 +1 @@
1
- {"version":3,"file":"AesSelector.vue.js","sources":["../../../src/forms/LayersForm/AesSelector.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n AestheticMappingCategorical, AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n createDefaultMapping,\n} from '../../dataBindAes';\nimport type {\n AesOption,\n DotShape,\n LineType,\n} from '../../components/AesSettings/types';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_LINE_TYPE,\n FIXED_COLORS,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n} from '../../constantsAesthetic';\nimport AesButton, { type AesButtonProps } from '../../components/AesButton.vue';\nimport { useStore } from '../../store';\nimport type { AesType, MappingLink } from '../../constantsCommon';\nimport { isMappedAes } from '../../constantsCommon';\nimport Popup from '../../components/Popup.vue';\nimport FixedColorsList from '../../components/AesSettings/FixedColorsList.vue';\nimport FixedDotShapeList from '../../components/AesSettings/FixedDotShapeList.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport AesDataMappingDiscrete from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport AesDataMappingContinuous from '../../components/AesSettings/AesDataMappingContinuous.vue';\nimport type { ChartType } from '@milaboratories/pf-plots';\n\nconst props = defineProps<{\n label: string;\n type: AesType;\n selected: string | MappingLink;\n formTitle: string;\n formBackTitle: string;\n possibleAesSourceInputs?: string[];\n withoutFixed?: boolean;\n disabled?: boolean;\n}>();\n\nconst store = useStore();\nconst chartType = computed(() => store.value.reactive.chartType);\nconst emit = defineEmits(['aes-update', 'aes-selector-close']);\n\nconst DEFAULT_AES_INPUTS: Record<ChartType, string[]> = {\n 'discrete': ['primaryGrouping', 'secondaryGrouping'],\n 'scatterplot': ['grouping'],\n 'scatterplot-umap': ['grouping'],\n 'dendro': [],\n 'heatmap': [],\n 'histogram': ['grouping'],\n 'bubble': [],\n};\nconst possibleAesSourceInputs = props.possibleAesSourceInputs ?? DEFAULT_AES_INPUTS[chartType.value];\nconst usedAesInMapping = computed(\n () => {\n const v = store.value.commonHelpersData.usedAesInMapping.value;\n return v;\n },\n);\n\nfunction getKeyFromSelectedType(value: MappingLink | string) {\n if (typeof value === 'string') {\n return value;\n }\n if (chartType.value === 'scatterplot') {\n return `grouping_${value.value}`;\n }\n if (chartType.value === 'dendro') {\n return `${value.type}_${value.value}`;\n }\n return value.type;\n}\n\nconst selectedType = ref(\n isMappedAes(props.selected) ? getKeyFromSelectedType(props.selected) : 'fix',\n);\nconst DEFAULT_BY_TYPES: Record<AesType, string | DotShape | LineType> = {\n fill: FIXED_COLORS[0].color,\n stroke: FIXED_COLORS[0].color,\n dotShape: DEFAULT_DOT_SHAPE,\n lineType: DEFAULT_LINE_TYPE,\n size: '', // temporary\n};\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst chartTypesWithContinuousColors = new Set<ChartType>([\n 'scatterplot', 'scatterplot-umap', 'heatmap',\n]);\n\nconst optionsInfo = computed(() => {\n const res: Record<string, AesOption> = {};\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addInfo(name: string, source: string) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(source);\n const uniqueValuesItem = labelsInfo.value[source];\n const uniqueValues = uniqueValuesItem?.list ?? [];\n const valueLabels = uniqueValuesItem?.labels ?? {};\n const key = getKeyFromSelectedType({ type: name, value: source });\n if (\n (chartTypesWithContinuousColors.has(chartType.value) && selectedSourceInfo.type === 'String')\n || !chartTypesWithContinuousColors.has(chartType.value)\n ) {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createDefaultMapping(uniqueValues, store.value.defaultPalette.categorical)) as AestheticMappingCategorical;\n res[key] = {\n type: 'dataCategorical',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n labels: mapping.order.reduce(\n (res: Record<string, string>, v: string | number) => {\n res[v] = valueLabels[v] ?? String(v);\n if (v === 'null') {\n res[v] = store.value.reactive.axesSettings.other.nullValueLabel;\n }\n return res;\n },\n {},\n ),\n };\n } else {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createContinuousMappingFromPalette(store.value.defaultPalette.continuous)) as AestheticMappingContinuous;\n res[key] = {\n type: 'dataContinuous',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n };\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addInfo(name, selectedSource);\n });\n }\n });\n\n if (!props.withoutFixed) {\n res['fix'] = {\n type: 'fix',\n value: 'fix',\n initialData: isMappedAes(props.selected)\n ? DEFAULT_BY_TYPES[props.type]\n : props.selected,\n };\n }\n return res;\n});\n\nconst option = computed<AesOption | null>(\n () => optionsInfo.value[selectedType.value] ?? null,\n);\n\nfunction getTitle(option: AesOption, selected: string) {\n if (option.type === 'fix') {\n return 'Fixed';\n }\n if (selected === option.value) {\n return `${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'discrete') {\n return `${\n option.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping: ${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'scatterplot' || chartType.value === 'dendro') {\n return `Grouping: ${option.selectedSourceInfo?.label}`;\n }\n return option.selectedSourceInfo?.label ?? '';\n}\n\nconst typeOptions = computed(() => {\n const options = [];\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addOption(name: string, source: string) {\n const key = getKeyFromSelectedType({\n type: name === 'shape' ? 'grouping' : name,\n value: source,\n });\n if (optionsInfo.value[key]) {\n options.push({\n text: getTitle(optionsInfo.value[key], selectedType.value),\n value: key,\n });\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addOption(name, selectedSource);\n });\n }\n });\n if (!optionsInfo.value[selectedType.value]) {\n let text = 'Not consistent (grouping)';\n if (chartType.value === 'discrete') {\n text = `${\n selectedType.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping (not selected)`;\n }\n options.push({ text, value: selectedType.value });\n }\n if (!props.withoutFixed) {\n options.push({ text: 'Fixed', value: 'fix' });\n }\n return options;\n});\n\nconst openForm = ref(false);\n\nconst defaultFixed = ref(\n optionsInfo.value['fix']\n ? (optionsInfo.value['fix'].initialData as string)\n : null,\n);\nconst defaultMappingCategorical = ref(\n option.value?.type === 'dataCategorical'\n ? (option.value.initialData as AestheticMappingCategorical)\n : null,\n);\n\nconst defaultMappingContinuous = ref(\n option.value?.type === 'dataContinuous'\n ? (option.value.initialData as AestheticMappingContinuous)\n : null,\n);\nwatch(\n () => selectedType.value,\n (value) => {\n const option = optionsInfo.value[value];\n if (option?.type === 'fix') {\n emit('aes-update', defaultFixed.value, option);\n } else if (option?.type === 'dataCategorical') {\n defaultMappingCategorical.value = option.initialData;\n emit('aes-update', option.initialData, option);\n } else if (option?.type === 'dataContinuous') {\n defaultMappingContinuous.value = option.initialData;\n emit('aes-update', option.initialData, option);\n }\n },\n);\n\n// Sync default mapping refs when option.initialData gets populated after load (e.g.\n// uniqueValuesData and dataBindAes arrived). Only sync when current ref is empty\n// so we don't overwrite user changes (e.g. palette).\nwatch(\n () => option.value?.type === 'dataCategorical' ? option.value?.initialData : null,\n (mapping) => {\n if (\n mapping\n && selectedType.value !== 'fix'\n && (!defaultMappingCategorical.value || (defaultMappingCategorical.value as AestheticMappingCategorical).order.length === 0)\n && (mapping as AestheticMappingCategorical).order.length > 0\n ) {\n defaultMappingCategorical.value = mapping as AestheticMappingCategorical;\n }\n },\n { deep: true },\n);\n\nconst aesButtonRef = ref();\n\n// TODO: move to utils\nconst popupHeight = computed(() => {\n if (props.type === 'lineType') {\n const ROW_HEIGHT = 32;\n const OFFSET = 16;\n return FIXED_LINE_TYPES.length * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'dotShape') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXES_DOT_SHAPES.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'fill' || props.type === 'stroke') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXED_COLORS.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n return 0;\n});\n\n</script>\n\n<template>\n <div class=\"aes-input-row\">\n <div class=\"aes-input-select\" @click.stop>\n <PlDropdown\n v-model=\"selectedType\"\n :disabled=\"disabled || typeOptions.length < 2\"\n :label=\"label\"\n :options=\"typeOptions\"\n />\n </div>\n <AesButton\n :data=\"{\n type: selectedType === 'fix' ? type : 'data',\n value: selectedType === 'fix' ? type === 'size' ? Number(selected) : selected as string : null\n } as AesButtonProps['data']\"\n @click=\"openForm = !openForm\"\n @ref=\"(el:Element) => (aesButtonRef = el)\"\n />\n <Popup\n v-if=\"selectedType === 'fix' && openForm && defaultFixed\"\n :height=\"popupHeight\"\n :targetRef=\"aesButtonRef\"\n @popup:close=\"openForm = false\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': type === 'lineType' }\"\n >\n <FixedColorsList\n v-if=\"type === 'fill' || type === 'stroke'\"\n v-model=\"defaultFixed\"\n :color-using=\"type\"\n @update:modelValue=\"\n (value:string) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedDotShapeList\n v-if=\"type === 'dotShape'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:DotShape) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedLineTypeList\n v-if=\"type === 'lineType'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:LineType) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n </div>\n </Popup>\n </div>\n <template\n v-if=\"(\n (option?.type === 'dataCategorical' && defaultMappingCategorical) ||\n (option?.type === 'dataContinuous' && defaultMappingContinuous)) && openForm\"\n >\n <FormWrapper\n :title=\"formTitle\"\n :back-title=\"formBackTitle\"\n @form:close=\"openForm = false\"\n >\n <AesDataMappingDiscrete\n v-if=\"option?.type === 'dataCategorical' && defaultMappingCategorical\"\n v-model=\"defaultMappingCategorical\"\n :column-value-labels=\"option.labels\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[option.selectedSource]\"\n :allow-hiding=\"chartType === 'discrete' || chartType === 'histogram' \"\n :allow-reordering=\"chartType === 'discrete' || chartType === 'histogram' || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n :allow-null-option=\"chartType === 'discrete' && (\n selectedType === 'primaryGrouping' && store.reactive.axesSettings.axisX.allowNullPrimaryGroups ||\n selectedType === 'secondaryGrouping' && store.reactive.axesSettings.axisX.allowNullSecondaryGroups\n ) || chartType === 'scatterplot' || chartType === 'scatterplot-umap' || chartType === 'histogram'\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => $emit('aes-update', value, option)\"\n />\n <AesDataMappingContinuous\n v-if=\"option?.type === 'dataContinuous' && defaultMappingContinuous\"\n v-model=\"defaultMappingContinuous\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n @update:modelValue=\"(value:AestheticMappingContinuous) => $emit('aes-update', value, option)\"\n />\n </FormWrapper>\n </template>\n</template>\n"],"names":["props","__props","store","useStore","chartType","computed","emit","__emit","DEFAULT_AES_INPUTS","possibleAesSourceInputs","usedAesInMapping","getKeyFromSelectedType","value","selectedType","ref","isMappedAes","DEFAULT_BY_TYPES","FIXED_COLORS","DEFAULT_DOT_SHAPE","DEFAULT_LINE_TYPE","inputGuide","labelsInfo","chartTypesWithContinuousColors","optionsInfo","res","inputStateMap","addInfo","name","source","selectedSourceInfo","uniqueValuesItem","uniqueValues","valueLabels","key","mapping","createDefaultMapping","v","createContinuousMappingFromPalette","_a","selectedSource","option","getTitle","selected","typeOptions","options","addOption","text","openForm","defaultFixed","defaultMappingCategorical","defaultMappingContinuous","_b","watch","aesButtonRef","popupHeight","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","AesButton","_cache","el","_createBlock","Popup","_normalizeClass","FixedColorsList","$emit","FixedDotShapeList","FixedLineTypeList","FormWrapper","AesDataMappingDiscrete","_c","AesDataMappingContinuous","_d"],"mappings":"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"}
1
+ {"version":3,"file":"AesSelector.vue.js","sources":["../../../src/forms/LayersForm/AesSelector.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue';\nimport { PlDropdown } from '@platforma-sdk/ui-vue';\nimport type {\n AestheticMappingCategorical, AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n createDefaultMapping,\n} from '../../dataBindAes';\nimport type {\n AesOption,\n DotShape,\n LineType,\n} from '../../components/AesSettings/types';\nimport {\n DEFAULT_DOT_SHAPE,\n DEFAULT_LINE_TYPE,\n FIXED_COLORS,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n} from '../../constantsAesthetic';\nimport AesButton, { type AesButtonProps } from '../../components/AesButton.vue';\nimport { useStore } from '../../store';\nimport type { AesType, MappingLink } from '../../constantsCommon';\nimport { isMappedAes } from '../../constantsCommon';\nimport Popup from '../../components/Popup.vue';\nimport FixedColorsList from '../../components/AesSettings/FixedColorsList.vue';\nimport FixedDotShapeList from '../../components/AesSettings/FixedDotShapeList.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport AesDataMappingDiscrete from '../../components/AesSettings/AesDataMappingDiscrete.vue';\nimport AesDataMappingContinuous from '../../components/AesSettings/AesDataMappingContinuous.vue';\nimport type { ChartType } from '@milaboratories/pf-plots';\n\nconst props = defineProps<{\n label: string;\n type: AesType;\n selected: string | MappingLink;\n formTitle: string;\n formBackTitle: string;\n possibleAesSourceInputs?: string[];\n withoutFixed?: boolean;\n disabled?: boolean;\n}>();\n\nconst store = useStore();\nconst chartType = computed(() => store.value.reactive.chartType);\nconst emit = defineEmits(['aes-update', 'aes-selector-close']);\n\nconst DEFAULT_AES_INPUTS: Record<ChartType, string[]> = {\n 'discrete': ['primaryGrouping', 'secondaryGrouping'],\n 'scatterplot': ['grouping'],\n 'scatterplot-umap': ['grouping'],\n 'dendro': [],\n 'heatmap': [],\n 'histogram': ['grouping'],\n 'bubble': [],\n};\nconst possibleAesSourceInputs = props.possibleAesSourceInputs ?? DEFAULT_AES_INPUTS[chartType.value];\nconst usedAesInMapping = computed(\n () => {\n const v = store.value.commonHelpersData.usedAesInMapping.value;\n return v;\n },\n);\n\nfunction getKeyFromSelectedType(value: MappingLink | string) {\n if (typeof value === 'string') {\n return value;\n }\n if (chartType.value === 'scatterplot') {\n return `grouping_${value.value}`;\n }\n if (chartType.value === 'dendro') {\n return `${value.type}_${value.value}`;\n }\n return value.type;\n}\n\nconst selectedType = ref(\n isMappedAes(props.selected) ? getKeyFromSelectedType(props.selected) : 'fix',\n);\nconst DEFAULT_BY_TYPES: Record<AesType, string | DotShape | LineType> = {\n fill: FIXED_COLORS[0].color,\n stroke: FIXED_COLORS[0].color,\n dotShape: DEFAULT_DOT_SHAPE,\n lineType: DEFAULT_LINE_TYPE,\n size: '', // temporary\n};\n\nconst inputGuide = computed(() => store.value.inputGuide.value);\nconst labelsInfo = computed(() => store.value.uniqueValuesData.value);\n\nconst chartTypesWithContinuousColors = new Set<ChartType>([\n 'scatterplot', 'scatterplot-umap', 'heatmap',\n]);\n\nconst optionsInfo = computed(() => {\n const res: Record<string, AesOption> = {};\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addInfo(name: string, source: string) {\n const selectedSourceInfo = inputGuide.value.getSourceInfo(source);\n const uniqueValuesItem = labelsInfo.value[source];\n const uniqueValues = uniqueValuesItem?.overflow ? [] : (uniqueValuesItem?.list ?? []);\n const valueLabels = uniqueValuesItem?.overflow ? {} : (uniqueValuesItem?.labels ?? {});\n const key = getKeyFromSelectedType({ type: name, value: source });\n if (\n (chartTypesWithContinuousColors.has(chartType.value) && selectedSourceInfo.type === 'String')\n || !chartTypesWithContinuousColors.has(chartType.value)\n ) {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createDefaultMapping(uniqueValues, store.value.defaultPalette.categorical)) as AestheticMappingCategorical;\n res[key] = {\n type: 'dataCategorical',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n labels: mapping.order.reduce(\n (res: Record<string, string>, v: string | number) => {\n res[v] = valueLabels[v] ?? String(v);\n if (v === 'null') {\n res[v] = store.value.reactive.axesSettings.other.nullValueLabel;\n }\n return res;\n },\n {},\n ),\n };\n } else {\n const mapping = (store.value.reactive.dataBindAes[source] ?? createContinuousMappingFromPalette(store.value.defaultPalette.continuous)) as AestheticMappingContinuous;\n res[key] = {\n type: 'dataContinuous',\n value: key,\n initialData: mapping,\n inputName: name,\n selectedSource: source,\n selectedSourceInfo,\n selectedSourceValues: uniqueValues,\n };\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addInfo(name, selectedSource);\n });\n }\n });\n\n if (!props.withoutFixed) {\n res['fix'] = {\n type: 'fix',\n value: 'fix',\n initialData: isMappedAes(props.selected)\n ? DEFAULT_BY_TYPES[props.type]\n : props.selected,\n };\n }\n return res;\n});\n\nconst option = computed<AesOption | null>(\n () => optionsInfo.value[selectedType.value] ?? null,\n);\n\nfunction getTitle(option: AesOption, selected: string) {\n if (option.type === 'fix') {\n return 'Fixed';\n }\n if (selected === option.value) {\n return `${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'discrete') {\n return `${\n option.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping: ${option.selectedSourceInfo?.label}`;\n }\n if (chartType.value === 'scatterplot' || chartType.value === 'dendro') {\n return `Grouping: ${option.selectedSourceInfo?.label}`;\n }\n return option.selectedSourceInfo?.label ?? '';\n}\n\nconst typeOptions = computed(() => {\n const options = [];\n const inputStateMap = store.value.reactive.optionsState.components;\n\n function addOption(name: string, source: string) {\n const key = getKeyFromSelectedType({\n type: name === 'shape' ? 'grouping' : name,\n value: source,\n });\n if (optionsInfo.value[key]) {\n options.push({\n text: getTitle(optionsInfo.value[key], selectedType.value),\n value: key,\n });\n }\n }\n\n possibleAesSourceInputs.forEach((name) => {\n if (inputStateMap?.[name]?.selectorStates.length) {\n inputStateMap[name].selectorStates.forEach(({ selectedSource }) => {\n addOption(name, selectedSource);\n });\n }\n });\n if (!optionsInfo.value[selectedType.value]) {\n let text = 'Not consistent (grouping)';\n if (chartType.value === 'discrete') {\n text = `${\n selectedType.value === 'primaryGrouping' ? 'Primary' : 'Secondary'\n } grouping (not selected)`;\n }\n options.push({ text, value: selectedType.value });\n }\n if (!props.withoutFixed) {\n options.push({ text: 'Fixed', value: 'fix' });\n }\n return options;\n});\n\nconst openForm = ref(false);\n\nconst defaultFixed = ref(\n optionsInfo.value['fix']\n ? (optionsInfo.value['fix'].initialData as string)\n : null,\n);\nconst defaultMappingCategorical = ref(\n option.value?.type === 'dataCategorical'\n ? (option.value.initialData as AestheticMappingCategorical)\n : null,\n);\n\nconst defaultMappingContinuous = ref(\n option.value?.type === 'dataContinuous'\n ? (option.value.initialData as AestheticMappingContinuous)\n : null,\n);\nwatch(\n () => selectedType.value,\n (value) => {\n const option = optionsInfo.value[value];\n if (option?.type === 'fix') {\n emit('aes-update', defaultFixed.value, option);\n } else if (option?.type === 'dataCategorical') {\n defaultMappingCategorical.value = option.initialData;\n emit('aes-update', option.initialData, option);\n } else if (option?.type === 'dataContinuous') {\n defaultMappingContinuous.value = option.initialData;\n emit('aes-update', option.initialData, option);\n }\n },\n);\n\n// Sync default mapping refs when option.initialData gets populated after load (e.g.\n// uniqueValuesData and dataBindAes arrived). Only sync when current ref is empty\n// so we don't overwrite user changes (e.g. palette).\nwatch(\n () => option.value?.type === 'dataCategorical' ? option.value?.initialData : null,\n (mapping) => {\n if (\n mapping\n && selectedType.value !== 'fix'\n && (!defaultMappingCategorical.value || (defaultMappingCategorical.value as AestheticMappingCategorical).order.length === 0)\n && (mapping as AestheticMappingCategorical).order.length > 0\n ) {\n defaultMappingCategorical.value = mapping as AestheticMappingCategorical;\n }\n },\n { deep: true },\n);\n\nconst aesButtonRef = ref();\n\n// TODO: move to utils\nconst popupHeight = computed(() => {\n if (props.type === 'lineType') {\n const ROW_HEIGHT = 32;\n const OFFSET = 16;\n return FIXED_LINE_TYPES.length * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'dotShape') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXES_DOT_SHAPES.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n if (props.type === 'fill' || props.type === 'stroke') {\n const ROW_HEIGHT = 36;\n const OFFSET = 20;\n return Math.ceil(FIXED_COLORS.length / 6) * ROW_HEIGHT + OFFSET * 2;\n }\n return 0;\n});\n\n</script>\n\n<template>\n <div class=\"aes-input-row\">\n <div class=\"aes-input-select\" @click.stop>\n <PlDropdown\n v-model=\"selectedType\"\n :disabled=\"disabled || typeOptions.length < 2\"\n :label=\"label\"\n :options=\"typeOptions\"\n />\n </div>\n <AesButton\n :data=\"{\n type: selectedType === 'fix' ? type : 'data',\n value: selectedType === 'fix' ? type === 'size' ? Number(selected) : selected as string : null\n } as AesButtonProps['data']\"\n @click=\"openForm = !openForm\"\n @ref=\"(el:Element) => (aesButtonRef = el)\"\n />\n <Popup\n v-if=\"selectedType === 'fix' && openForm && defaultFixed\"\n :height=\"popupHeight\"\n :targetRef=\"aesButtonRef\"\n @popup:close=\"openForm = false\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': type === 'lineType' }\"\n >\n <FixedColorsList\n v-if=\"type === 'fill' || type === 'stroke'\"\n v-model=\"defaultFixed\"\n :color-using=\"type\"\n @update:modelValue=\"\n (value:string) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedDotShapeList\n v-if=\"type === 'dotShape'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:DotShape) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n <FixedLineTypeList\n v-if=\"type === 'lineType'\"\n v-model=\"defaultFixed\"\n @update:modelValue=\"\n (value:LineType) => $emit('aes-update', value, optionsInfo['fix'])\n \"\n />\n </div>\n </Popup>\n </div>\n <template\n v-if=\"(\n (option?.type === 'dataCategorical' && defaultMappingCategorical) ||\n (option?.type === 'dataContinuous' && defaultMappingContinuous)) && openForm\"\n >\n <FormWrapper\n :title=\"formTitle\"\n :back-title=\"formBackTitle\"\n @form:close=\"openForm = false\"\n >\n <AesDataMappingDiscrete\n v-if=\"option?.type === 'dataCategorical' && defaultMappingCategorical\"\n v-model=\"defaultMappingCategorical\"\n :column-value-labels=\"option.labels\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n :used-aes-in-mapping=\"usedAesInMapping[option.selectedSource]\"\n :allow-hiding=\"chartType === 'discrete' || chartType === 'histogram' \"\n :allow-reordering=\"chartType === 'discrete' || chartType === 'histogram' || chartType === 'scatterplot' || chartType === 'scatterplot-umap'\"\n :allow-null-option=\"chartType === 'discrete' && (\n selectedType === 'primaryGrouping' && store.reactive.axesSettings.axisX.allowNullPrimaryGroups ||\n selectedType === 'secondaryGrouping' && store.reactive.axesSettings.axisX.allowNullSecondaryGroups\n ) || chartType === 'scatterplot' || chartType === 'scatterplot-umap' || chartType === 'histogram'\"\n @update:modelValue=\"(value:AestheticMappingCategorical) => $emit('aes-update', value, option)\"\n />\n <AesDataMappingContinuous\n v-if=\"option?.type === 'dataContinuous' && defaultMappingContinuous\"\n v-model=\"defaultMappingContinuous\"\n :data-column-label=\"option.selectedSourceInfo?.label ?? ''\"\n @update:modelValue=\"(value:AestheticMappingContinuous) => $emit('aes-update', value, option)\"\n />\n </FormWrapper>\n </template>\n</template>\n"],"names":["props","__props","store","useStore","chartType","computed","emit","__emit","DEFAULT_AES_INPUTS","possibleAesSourceInputs","usedAesInMapping","getKeyFromSelectedType","value","selectedType","ref","isMappedAes","DEFAULT_BY_TYPES","FIXED_COLORS","DEFAULT_DOT_SHAPE","DEFAULT_LINE_TYPE","inputGuide","labelsInfo","chartTypesWithContinuousColors","optionsInfo","res","inputStateMap","addInfo","name","source","selectedSourceInfo","uniqueValuesItem","uniqueValues","valueLabels","key","mapping","createDefaultMapping","v","createContinuousMappingFromPalette","_a","selectedSource","option","getTitle","selected","typeOptions","options","addOption","text","openForm","defaultFixed","defaultMappingCategorical","defaultMappingContinuous","_b","watch","aesButtonRef","popupHeight","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","_createElementVNode","_hoisted_1","_createVNode","_unref","PlDropdown","$event","AesButton","_cache","el","_createBlock","Popup","_normalizeClass","FixedColorsList","$emit","FixedDotShapeList","FixedLineTypeList","FormWrapper","AesDataMappingDiscrete","_c","AesDataMappingContinuous","_d"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../src/index.vue"],"names":[],"mappings":"AA6cA,OAAO,KAAK,EAA0B,gBAAgB,EAAa,MAAM,sBAAsB,CAAC;AAGhG,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAmC,eAAe,EAAe,MAAM,SAAS,CAAC;AAyE7F,iBAAS,KAAK,SAcb;AAkUD,iBAAS,cAAc;WAiMT,OAAO,IAA6B;;+BAbf,GAAG;iCACA,GAAG;8BACN,GAAG;yBACR,GAAG;;;;EAehC;AAmCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;gBAlPT,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;IApY5B;;;OAGG;;;;;;;;gBAgYO,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;;;;;6FA6P5B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../src/index.vue"],"names":[],"mappings":"AAieA,OAAO,KAAK,EAA0B,gBAAgB,EAAa,MAAM,sBAAsB,CAAC;AAGhG,OAAO,kBAAkB,CAAC;AAS1B,OAAO,KAAK,EAAmC,eAAe,EAAe,MAAM,SAAS,CAAC;AA0E7F,iBAAS,KAAK,SAcb;AAgVD,iBAAS,cAAc;WA4MT,OAAO,IAA6B;;+BAbf,GAAG;iCACA,GAAG;8BACN,GAAG;yBACR,GAAG;;;;EAehC;AAqCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;gBA/PT,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;IAlZ5B;;;OAGG;;;;;;;;gBA8YO,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;gBADlB,eAAe;gBACb,gBAAgB;;;;;;6FA0Q5B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}