@feedmepos/mf-report 5.21.8 → 5.21.9

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 (19) hide show
  1. package/dist/{App-CeJpDwr6.js → App-BldH4lfX.js} +3 -3
  2. package/dist/{BaseDialog.vue_vue_type_script_setup_true_lang-D8B07yTS.js → BaseDialog.vue_vue_type_script_setup_true_lang-geRM2Oed.js} +3 -3
  3. package/dist/{Default.vue_vue_type_script_setup_true_lang-CvXrokyz.js → Default.vue_vue_type_script_setup_true_lang-D4wHkMoh.js} +1 -1
  4. package/dist/FilterSelector.vue_vue_type_script_setup_true_lang-2rRVA20p.js +2443 -0
  5. package/dist/{InsightView-DrnotG7Z.js → InsightView-BDcZif2-.js} +2 -2
  6. package/dist/{Layout-BvO2OI5t.js → Layout-B63eRFpp.js} +1 -1
  7. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-BbijlCFH.js → MenuTab.vue_vue_type_script_setup_true_lang-BJhLdhAs.js} +3 -3
  8. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-BY8mogXn.js → NavigationTab.vue_vue_type_script_setup_true_lang-DMvt7llN.js} +1 -1
  9. package/dist/{OverviewView-BdboVIf3.js → OverviewView-Y8PR2IAN.js} +4 -4
  10. package/dist/{Report-IgEocSBo.js → Report-Bk2gvswN.js} +2 -2
  11. package/dist/{ReportEditor-Cnl7YJ49.js → ReportEditor-BEkhWwDc.js} +3 -3
  12. package/dist/{ReportView-qsbMlGws.js → ReportView-92_Xd7Y6.js} +5 -5
  13. package/dist/{Setting-B6bq7bjI.js → Setting-BvhSn9lR.js} +2 -2
  14. package/dist/TileEditor-CxUUdory.js +2820 -0
  15. package/dist/{TransitionFade-DPmXyftE.js → TransitionFade-nRtG3ig3.js} +2 -2
  16. package/dist/app.js +17 -9
  17. package/package.json +1 -1
  18. package/dist/FilterSelector.vue_vue_type_script_setup_true_lang-CyUEHyk-.js +0 -2437
  19. package/dist/TileEditor-BnxQfQUO.js +0 -2766
@@ -1,2766 +0,0 @@
1
- import { defineComponent as X, mergeModels as G, useModel as le, computed as _, ref as q, resolveComponent as x, createElementBlock as I, openBlock as h, createVNode as u, createElementVNode as C, unref as l, withCtx as $, toDisplayString as j, Fragment as ee, renderList as de, withModifiers as ae, createTextVNode as me, watch as se, createCommentVNode as U, createBlock as T, onMounted as ke, onUnmounted as Xe, renderSlot as Ne, onBeforeUnmount as We, resolveDynamicComponent as Oe, normalizeClass as Ie, withDirectives as te, vShow as ne, normalizeStyle as qe, isRef as He } from "vue";
2
- import { useRoute as Ye, useRouter as Ee } from "vue-router";
3
- import { h as Je, d as _e, S as we, _ as Ge, W as Ke, b as Qe, T as Ze, a as el } from "./TransitionFade-DPmXyftE.js";
4
- import { W as B, b as Be, d as pe, D as ll, S as Te, C as ol, P as Ue, a as al } from "./BaseDialog.vue_vue_type_script_setup_true_lang-D8B07yTS.js";
5
- import { storeToRefs as ue } from "pinia";
6
- import { u as Le } from "./message-dialog-UoMWOnil.js";
7
- import { u as Y, h as je, p as tl, b as Re, d as ce } from "./vue-i18n-CMOl_N2v.js";
8
- import { useSnackbar as nl, useBreakpoints as Me, FmButtonColorThemeVariant as ve } from "@feedmepos/ui-library";
9
- import { _ as Q } from "./SelectComponent.vue_vue_type_script_setup_true_lang-eyldXQxi.js";
10
- import { r as Z } from "./i18n-DQxDgiLO.js";
11
- import { g as fe, u as ge, L as ie, b as Ve, _ as ze, a as il } from "./FilterSelector.vue_vue_type_script_setup_true_lang-CyUEHyk-.js";
12
- import { d as be } from "./DateRangeSelect.vue_vue_type_script_setup_true_lang-D9jFJLmv.js";
13
- import { _ as Pe } from "./NoData.vue_vue_type_script_setup_true_lang-Cp2mQEY3.js";
14
- const he = [
15
- {
16
- type: B.Circular,
17
- maxDimension: null,
18
- maxMetric: 1,
19
- hasBreakdownDimension: !1,
20
- canTranspose: !1,
21
- isDrillConfigurable: !1,
22
- hasChart: !0,
23
- hasTable: !1,
24
- hasLabel: !0,
25
- hasLegend: !0,
26
- hasXy: !1,
27
- canRollup: !1,
28
- showRollupPosition: !1,
29
- canSearch: !1,
30
- periodType: null
31
- },
32
- {
33
- type: B.Table,
34
- maxDimension: null,
35
- maxMetric: null,
36
- hasBreakdownDimension: !1,
37
- canTranspose: !1,
38
- isDrillConfigurable: !0,
39
- hasChart: !1,
40
- hasTable: !0,
41
- hasLabel: !1,
42
- hasLegend: !1,
43
- hasXy: !1,
44
- canRollup: !0,
45
- showRollupPosition: !0,
46
- canSearch: !0,
47
- periodType: null
48
- },
49
- {
50
- type: B.BarChart,
51
- maxDimension: null,
52
- maxMetric: 1,
53
- hasBreakdownDimension: !0,
54
- canTranspose: !0,
55
- isDrillConfigurable: !1,
56
- hasChart: !0,
57
- hasTable: !1,
58
- hasLabel: !0,
59
- hasLegend: !0,
60
- hasXy: !0,
61
- canRollup: !1,
62
- showRollupPosition: !1,
63
- canSearch: !1,
64
- periodType: null
65
- },
66
- {
67
- type: B.LineChart,
68
- maxDimension: null,
69
- maxMetric: 1,
70
- hasBreakdownDimension: !0,
71
- canTranspose: !0,
72
- isDrillConfigurable: !1,
73
- hasChart: !0,
74
- hasTable: !1,
75
- hasLabel: !0,
76
- hasLegend: !0,
77
- hasXy: !0,
78
- canRollup: !1,
79
- showRollupPosition: !1,
80
- canSearch: !1,
81
- periodType: null
82
- },
83
- {
84
- type: B.StackBarChart,
85
- maxDimension: null,
86
- maxMetric: 1,
87
- hasBreakdownDimension: !0,
88
- canTranspose: !0,
89
- isDrillConfigurable: !1,
90
- hasChart: !0,
91
- hasTable: !1,
92
- hasLabel: !0,
93
- hasLegend: !0,
94
- hasXy: !0,
95
- canRollup: !1,
96
- showRollupPosition: !1,
97
- canSearch: !1,
98
- periodType: null
99
- },
100
- {
101
- type: B.StackLineChart,
102
- maxDimension: null,
103
- maxMetric: 1,
104
- hasBreakdownDimension: !0,
105
- canTranspose: !0,
106
- isDrillConfigurable: !1,
107
- hasChart: !0,
108
- hasTable: !1,
109
- hasLabel: !0,
110
- hasLegend: !0,
111
- hasXy: !0,
112
- canRollup: !1,
113
- showRollupPosition: !1,
114
- canSearch: !1,
115
- periodType: null
116
- },
117
- {
118
- type: B.Scorecard,
119
- maxDimension: null,
120
- maxMetric: 1,
121
- hasBreakdownDimension: !1,
122
- canTranspose: !1,
123
- isDrillConfigurable: !1,
124
- hasChart: !1,
125
- hasTable: !1,
126
- hasLabel: !1,
127
- hasLegend: !1,
128
- hasXy: !1,
129
- canRollup: !1,
130
- showRollupPosition: !1,
131
- canSearch: !1,
132
- periodType: null
133
- },
134
- {
135
- type: B.Spacer,
136
- maxDimension: 0,
137
- maxMetric: 0,
138
- hasBreakdownDimension: !1,
139
- canTranspose: !1,
140
- isDrillConfigurable: !1,
141
- hasChart: !1,
142
- hasTable: !1,
143
- hasLabel: !1,
144
- hasLegend: !1,
145
- hasXy: !1,
146
- canRollup: !1,
147
- showRollupPosition: !1,
148
- canSearch: !1,
149
- periodType: null
150
- }
151
- ], sl = { class: "flex flex-col my-2 gap-8" }, ul = { class: "fm-typo-en-body-lg-600" }, dl = { class: "text-sm text-fm-color-neutral-gray-400" }, rl = ["onClick"], ml = { class: "fm-typo-en-body-lg-400 overflow-hidden text-ellipsis line-clamp-1" }, pl = /* @__PURE__ */ X({
152
- __name: "SchemaSection",
153
- props: /* @__PURE__ */ G({
154
- options: {
155
- type: Array,
156
- default: () => []
157
- },
158
- label: {
159
- type: String,
160
- default: "Schema"
161
- }
162
- }, {
163
- modelValue: { required: !0 },
164
- modelModifiers: {}
165
- }),
166
- emits: ["update:modelValue"],
167
- setup(w) {
168
- const { t: p, te: o } = Y(), s = le(w, "modelValue"), n = w, { schemas: f } = ue(Be()), V = _(
169
- () => f.value.map((b) => ({
170
- label: b.label,
171
- value: b.name,
172
- raw: b
173
- }))
174
- ), v = _(() => {
175
- if (s.value.schemaNames.length === 0 || i.value === 0)
176
- return V.value.filter((b) => !b.raw.isJoinOnly);
177
- {
178
- const b = s.value.schemaNames[0], y = f.value.find((c) => c.name === b), d = ((y == null ? void 0 : y.joins) || []).map((c) => c);
179
- return V.value.filter((c) => d.includes(c.raw.name));
180
- }
181
- }), m = q(!1), a = q(""), i = q(), F = nl();
182
- function S(b) {
183
- var y;
184
- return Z(
185
- p,
186
- o,
187
- (y = f.value.find((d) => d.name === b)) == null ? void 0 : y.label,
188
- "schema"
189
- );
190
- }
191
- function D(b) {
192
- i.value = b, m.value = !0, b !== void 0 ? a.value = s.value.schemaNames[b] : a.value = "";
193
- }
194
- function O() {
195
- a.value !== "" ? (i.value !== void 0 ? s.value.schemaNames[i.value] = a.value : s.value.schemaNames.push(a.value), m.value = !1) : F.open({ message: p("report.section.schema.nothingSelected"), type: "error" });
196
- }
197
- return (b, y) => {
198
- const d = x("FmForm"), c = x("FmIcon"), t = x("FmField");
199
- return h(), I("div", sl, [
200
- u(pe, {
201
- modelValue: m.value,
202
- "onUpdate:modelValue": y[1] || (y[1] = (e) => m.value = e),
203
- title: n.label,
204
- "primary-button-label": l(p)("report.common.confirm"),
205
- "secondary-button-label": l(p)("report.common.cancel"),
206
- onConfirm: O
207
- }, {
208
- content: $(() => [
209
- u(d, { ref: "form" }, {
210
- default: $(() => [
211
- u(Q, {
212
- modelValue: a.value,
213
- "onUpdate:modelValue": y[0] || (y[0] = (e) => a.value = e),
214
- label: l(p)("report.section.schema.title"),
215
- items: i.value === 0 ? V.value.map((e) => ({
216
- label: l(Z)(l(p), l(o), e.label, "schema"),
217
- value: e.value
218
- })) : v.value.map((e) => ({
219
- label: l(Z)(l(p), l(o), e.label, "schema"),
220
- value: e.value
221
- }))
222
- }, null, 8, ["modelValue", "label", "items"])
223
- ]),
224
- _: 1
225
- }, 512)
226
- ]),
227
- _: 1
228
- }, 8, ["modelValue", "title", "primary-button-label", "secondary-button-label"]),
229
- C("div", null, [
230
- C("p", ul, j(l(p)("report.section.schema.title")), 1),
231
- C("p", dl, j(l(p)("report.section.schema.description")), 1)
232
- ]),
233
- (h(!0), I(ee, null, de(s.value.schemaNames, (e, r) => (h(), I("div", {
234
- key: r,
235
- class: "flex flex-col gap-2 w-full"
236
- }, [
237
- C("div", {
238
- class: "flex items-center gap-2 border rounded-md border-neutral-300 p-2 h-[40px]",
239
- onClick: (k) => D(r)
240
- }, [
241
- C("p", ml, j(S(e)), 1),
242
- y[3] || (y[3] = C("div", { class: "grow" }, null, -1)),
243
- u(c, {
244
- name: "close",
245
- onClick: ae(
246
- () => {
247
- s.value.schemaNames = l(Je)(s.value.schemaNames, r);
248
- },
249
- ["stop"]
250
- )
251
- }, null, 8, ["onClick"])
252
- ], 8, rl)
253
- ]))), 128)),
254
- u(t, {
255
- class: "text-fm-color-typo-tertiary",
256
- onClick: y[2] || (y[2] = () => {
257
- D();
258
- })
259
- }, {
260
- default: $(() => [
261
- me(j(l(p)("report.section.schema.add")), 1)
262
- ]),
263
- _: 1
264
- })
265
- ]);
266
- };
267
- }
268
- }), cl = {
269
- key: 0,
270
- class: "flex flex-col my-2 gap-8"
271
- }, vl = { class: "fm-typo-en-body-lg-600 text-ellipsis line-clamp-1" }, fl = { class: "fm-typo-en-body-sm-600 text-fm-color-neutral-gray-400" }, gl = { class: "fm-typo-en-body-lg-400 text-ellipsis overflow-hidden line-clamp-1" }, Fe = /* @__PURE__ */ X({
272
- __name: "DimensionSection",
273
- props: /* @__PURE__ */ G({
274
- options: {
275
- type: Array,
276
- default: () => []
277
- },
278
- label: {
279
- type: String,
280
- default: "Dimension"
281
- },
282
- max: {
283
- type: Number,
284
- default: void 0
285
- },
286
- config: {
287
- type: Object,
288
- default: () => {
289
- }
290
- },
291
- hasRowColumn: {
292
- type: Boolean,
293
- default: !1
294
- }
295
- }, {
296
- modelValue: {
297
- required: !1,
298
- default: []
299
- },
300
- modelModifiers: {}
301
- }),
302
- emits: ["update:modelValue"],
303
- setup(w) {
304
- const { t: p, te: o } = Y(), s = le(w, "modelValue"), n = w, f = q(!1), V = _(
305
- () => s.value.map((t, e) => ({
306
- index: e,
307
- labels: [t.label || t.name],
308
- value: t
309
- }))
310
- ), v = q(s.value.length > 0 ? 0 : void 0);
311
- function m(t) {
312
- var e, r, k;
313
- f.value = !0, a.value = t != null && t.value ? JSON.parse(
314
- JSON.stringify({
315
- ...t.value,
316
- label: Z(p, o, (e = t.value) == null ? void 0 : e.label, "other")
317
- })
318
- ) : void 0, v.value = t == null ? void 0 : t.index, i.value = !!((r = a.value) != null && r.dataFormula || (k = a.value) != null && k.displayFormula), a.value && a.value.formatter === void 0 && (n.options.find(
319
- (g) => {
320
- var R, M;
321
- return g.schemaName === ((R = a.value) == null ? void 0 : R.schemaName) && g.name === ((M = a.value) == null ? void 0 : M.name);
322
- }
323
- ), t != null && t.value.timeFormatter && a.value.formatter === void 0 && (a.value.formatter = t == null ? void 0 : t.value.timeFormatter, a.value.timeFormatter = void 0));
324
- }
325
- const a = q(void 0), i = q(!1), F = _(
326
- () => n.options.find(
327
- (t) => {
328
- var e, r;
329
- return t.schemaName === ((e = a.value) == null ? void 0 : e.schemaName) && t.name === ((r = a.value) == null ? void 0 : r.name);
330
- }
331
- ) ?? {}
332
- );
333
- se(
334
- () => {
335
- var t;
336
- return (t = a.value) == null ? void 0 : t.option;
337
- },
338
- () => {
339
- !S.value && a.value && (a.value.fillGap = !1);
340
- }
341
- );
342
- const S = _(
343
- () => {
344
- var t, e, r;
345
- return (r = (t = F.value) == null ? void 0 : t.fillGapDimensionOptions) == null ? void 0 : r.includes(((e = a.value) == null ? void 0 : e.option) || "");
346
- }
347
- );
348
- function D(t) {
349
- var e, r;
350
- (t.schemaName !== ((e = a.value) == null ? void 0 : e.schemaName) || t.name !== ((r = a.value) == null ? void 0 : r.name)) && (a.value = {
351
- schemaName: t.schemaName,
352
- name: t.name,
353
- option: t.dimensionOptions[0],
354
- label: Z(p, o, t.label, "other"),
355
- decimal: t.isNumericType ? 2 : void 0,
356
- hide: !1
357
- }, i.value = !1);
358
- }
359
- function O() {
360
- if (!a.value) {
361
- console.error("new field is undefined");
362
- return;
363
- }
364
- const t = [...V.value.map((e) => e.value)];
365
- i.value || (a.value.dataFormula = void 0), v.value !== void 0 ? t[v.value] = a.value : t.push(a.value), s.value = t, f.value = !1;
366
- }
367
- function b(t) {
368
- const r = [...V.value.map((k) => k.value)].filter((k, g) => g !== t);
369
- s.value = r;
370
- }
371
- function y(t) {
372
- a.value && (a.value.decimal = Number(t));
373
- }
374
- const d = _(
375
- () => n.options.map((t) => ({
376
- label: t.labels.join(" "),
377
- value: t
378
- }))
379
- ), c = _(
380
- () => n.label ? n.label : p(`report.section.dimension.${n.label}`)
381
- );
382
- return (t, e) => {
383
- const r = x("FmTextField"), k = x("FmStepperField"), g = x("FmCheckbox"), R = x("FmTextarea"), M = x("FmForm"), A = x("FmIcon"), H = x("FmButton"), E = x("FmListItem"), oe = x("FmList"), N = x("FmField");
384
- return w.max !== 0 ? (h(), I("div", cl, [
385
- u(pe, {
386
- modelValue: f.value,
387
- "onUpdate:modelValue": e[12] || (e[12] = (L) => f.value = L),
388
- title: c.value,
389
- "primary-button-label": l(p)("report.common.confirm"),
390
- "secondary-button-label": l(p)("report.common.cancel"),
391
- onConfirm: O
392
- }, {
393
- content: $(() => [
394
- u(M, {
395
- ref: "form",
396
- class: "flex flex-col gap-2 w-[490px]"
397
- }, {
398
- default: $(() => {
399
- var L, W, K, J, re, P, Se;
400
- return [
401
- u(Q, {
402
- "model-value": F.value,
403
- items: d.value,
404
- placeholder: c.value,
405
- label: c.value,
406
- "onUpdate:modelValue": e[0] || (e[0] = (z) => D(z))
407
- }, null, 8, ["model-value", "items", "placeholder", "label"]),
408
- a.value ? (h(), I(ee, { key: 0 }, [
409
- u(r, {
410
- modelValue: a.value.label,
411
- "onUpdate:modelValue": e[1] || (e[1] = (z) => a.value.label = z),
412
- label: l(p)("report.section.dimension.label")
413
- }, null, 8, ["modelValue", "label"]),
414
- (((L = F.value) == null ? void 0 : L.dimensionOptions) || []).length > 0 ? (h(), T(Q, {
415
- key: 0,
416
- modelValue: a.value.option,
417
- "onUpdate:modelValue": e[2] || (e[2] = (z) => a.value.option = z),
418
- items: ((W = F.value) == null ? void 0 : W.dimensionOptions.map((z) => ({
419
- label: l(Z)(l(p), l(o), z, "field"),
420
- value: z
421
- }))) ?? []
422
- }, null, 8, ["modelValue", "items"])) : U("", !0),
423
- (K = F.value) != null && K.isNumericType ? (h(), T(k, {
424
- key: 1,
425
- label: l(p)("report.common.decimal"),
426
- "model-value": ((J = a.value) == null ? void 0 : J.decimal) ?? 2,
427
- "onUpdate:modelValue": e[3] || (e[3] = (z) => {
428
- y(z);
429
- })
430
- }, null, 8, ["label", "model-value"])) : U("", !0),
431
- (re = F.value) != null && re.isNumericType ? (h(), T(Q, {
432
- key: 2,
433
- modelValue: a.value.formatter,
434
- "onUpdate:modelValue": e[4] || (e[4] = (z) => a.value.formatter = z),
435
- placeholder: l(p)("report.section.dimension.formatter"),
436
- label: l(p)("report.section.dimension.formatter"),
437
- items: [
438
- { label: "NONE", value: null },
439
- ...(((P = F.value) == null ? void 0 : P.formatters) || []).map((z) => ({
440
- label: z,
441
- value: z
442
- }))
443
- ]
444
- }, null, 8, ["modelValue", "placeholder", "label", "items"])) : U("", !0),
445
- S.value ? (h(), T(g, {
446
- key: 3,
447
- "model-value": a.value.fillGap ?? !1,
448
- label: l(p)("report.section.dimension.fillGap"),
449
- value: "",
450
- placeholder: "Fill gap",
451
- "onUpdate:modelValue": e[5] || (e[5] = (z) => {
452
- a.value && (a.value.fillGap = z);
453
- })
454
- }, null, 8, ["model-value", "label"])) : U("", !0),
455
- ((Se = F.value) == null ? void 0 : Se.type) === l(ll).Timestamp ? (h(), T(g, {
456
- key: 4,
457
- "model-value": a.value.dateComparison ?? !1,
458
- label: l(p)("report.section.dimension.dateComparison"),
459
- value: "",
460
- "onUpdate:modelValue": e[6] || (e[6] = (z) => {
461
- a.value && (a.value.dateComparison = z);
462
- })
463
- }, null, 8, ["model-value", "label"])) : U("", !0),
464
- u(g, {
465
- modelValue: a.value.hide,
466
- "onUpdate:modelValue": e[7] || (e[7] = (z) => a.value.hide = z),
467
- label: l(p)("report.section.dimension.hide"),
468
- value: ""
469
- }, null, 8, ["modelValue", "label"]),
470
- n.hasRowColumn ? (h(), T(g, {
471
- key: 5,
472
- modelValue: a.value.moveToColumn,
473
- "onUpdate:modelValue": e[8] || (e[8] = (z) => a.value.moveToColumn = z),
474
- label: l(p)("report.section.dimension.moveToColumn"),
475
- value: ""
476
- }, null, 8, ["modelValue", "label"])) : U("", !0),
477
- u(g, {
478
- modelValue: i.value,
479
- "onUpdate:modelValue": e[9] || (e[9] = (z) => i.value = z),
480
- label: l(p)("report.section.dimension.advance"),
481
- value: !0
482
- }, null, 8, ["modelValue", "label"]),
483
- i.value ? (h(), T(R, {
484
- key: 6,
485
- modelValue: a.value.dataFormula,
486
- "onUpdate:modelValue": e[10] || (e[10] = (z) => a.value.dataFormula = z),
487
- placeholder: l(p)("report.section.dimension.dataFormula")
488
- }, null, 8, ["modelValue", "placeholder"])) : U("", !0),
489
- i.value ? (h(), T(R, {
490
- key: 7,
491
- modelValue: a.value.displayFormula,
492
- "onUpdate:modelValue": e[11] || (e[11] = (z) => a.value.displayFormula = z),
493
- placeholder: l(p)("report.section.dimension.displayFormula")
494
- }, null, 8, ["modelValue", "placeholder"])) : U("", !0)
495
- ], 64)) : U("", !0)
496
- ];
497
- }),
498
- _: 1
499
- }, 512)
500
- ]),
501
- _: 1
502
- }, 8, ["modelValue", "title", "primary-button-label", "secondary-button-label"]),
503
- C("div", null, [
504
- C("p", vl, j(c.value), 1),
505
- C("p", fl, j(l(p)("report.section.dimension.description")), 1)
506
- ]),
507
- u(oe, null, {
508
- default: $(() => [
509
- u(l(_e), {
510
- list: s.value,
511
- "item-key": "id",
512
- class: "flex flex-col gap-2"
513
- }, {
514
- item: $(({ element: L, index: W }) => [
515
- u(E, {
516
- class: "!cursor-grab border rounded-md border-neutral-300 h-[40px] !p-[8px]",
517
- onClick: ae((K) => m(V.value[W]), ["stop"])
518
- }, {
519
- default: $(() => [
520
- u(A, { name: "drag_handle" }),
521
- C("p", gl, j(l(Z)(l(p), l(o), L.label, "other")), 1),
522
- e[14] || (e[14] = C("div", { class: "grow" }, null, -1)),
523
- u(H, {
524
- icon: "close",
525
- size: "md",
526
- variant: "tertiary",
527
- onClick: ae((K) => b(W), ["stop"])
528
- }, null, 8, ["onClick"])
529
- ]),
530
- _: 2
531
- }, 1032, ["onClick"])
532
- ]),
533
- _: 1
534
- }, 8, ["list"])
535
- ]),
536
- _: 1
537
- }),
538
- u(N, {
539
- class: "text-fm-color-typo-tertiary",
540
- onClick: e[13] || (e[13] = () => {
541
- m();
542
- })
543
- }, {
544
- default: $(() => [
545
- me(j(l(p)("report.section.dimension.add")), 1)
546
- ]),
547
- _: 1
548
- })
549
- ])) : U("", !0);
550
- };
551
- }
552
- }), xe = {
553
- value: "_metric_name"
554
- };
555
- function bl(w, p, o) {
556
- switch (w) {
557
- case B.BarChart:
558
- case B.StackBarChart:
559
- case B.LineChart:
560
- case B.StackLineChart:
561
- case B.Circular:
562
- return p.length > 1;
563
- default:
564
- return o;
565
- }
566
- }
567
- function yl(w) {
568
- var s;
569
- const { rowIds: p, columnIds: o } = ye(w.widget.config);
570
- return {
571
- ...w,
572
- widget: {
573
- ...w.widget,
574
- config: {
575
- ...w.widget.config,
576
- rowIds: p,
577
- columnIds: o,
578
- isDrillable: bl(
579
- w.widget.type,
580
- w.widget.config.dimensions,
581
- w.widget.config.isDrillable
582
- ),
583
- joinDatasources: (s = w.widget.config.joinDatasources) == null ? void 0 : s.map((n) => {
584
- const { rowIds: f, columnIds: V } = ye(n);
585
- return {
586
- ...n,
587
- rowIds: f,
588
- columnIds: V
589
- };
590
- })
591
- }
592
- }
593
- };
594
- }
595
- function ye(w) {
596
- const p = w.dimensions.filter((V) => V.hide !== !0 && !V.moveToColumn).map((V) => fe(V)), o = w.dimensions.filter((V) => V.hide !== !0 && V.moveToColumn == !0).map((V) => fe(V)), s = w.metrics.length > 0;
597
- s && w.metrics.find((V) => V.moveToRow == !0) ? p.push(xe.value) : s && o.push(xe.value);
598
- const n = [], f = [];
599
- for (const V of p)
600
- n.push(V);
601
- for (const V of o)
602
- f.push(V);
603
- return {
604
- rowIds: n,
605
- columnIds: f
606
- };
607
- }
608
- const hl = { class: "flex flex-col my-2 gap-8" }, Vl = { class: "fm-typo-en-body-lg-600" }, Fl = { class: "fm-typo-en-body-sm-600 text-fm-color-neutral-gray-400" }, wl = { class: "fm-typo-en-body-lg-400 overflow-hidden text-ellipsis line-clamp-1" }, xl = /* @__PURE__ */ X({
609
- __name: "MetricSection",
610
- props: /* @__PURE__ */ G({
611
- options: {
612
- type: Array,
613
- default: () => []
614
- },
615
- label: {
616
- type: String,
617
- default: "Metric"
618
- },
619
- max: {
620
- type: Number,
621
- default: void 0
622
- },
623
- config: {
624
- type: Object,
625
- default: () => {
626
- }
627
- },
628
- hasRowColumn: {
629
- type: Boolean,
630
- default: !1
631
- }
632
- }, {
633
- modelValue: { required: !1, default: [] },
634
- modelModifiers: {}
635
- }),
636
- emits: /* @__PURE__ */ G(["config"], ["update:modelValue"]),
637
- setup(w, { emit: p }) {
638
- const { t: o, te: s } = Y(), n = le(w, "modelValue"), f = w;
639
- _(() => !!f.max && n.value.length === f.max);
640
- const V = q(!1), v = _(
641
- () => n.value.map((e, r) => ({
642
- index: r,
643
- labels: [e.label || e.name],
644
- value: e
645
- }))
646
- ), m = q(n.value.length > 0 ? 0 : void 0);
647
- function a(e) {
648
- var r, k, g;
649
- V.value = !0, i.value = e != null && e.value ? JSON.parse(
650
- JSON.stringify({
651
- ...e.value,
652
- label: Z(o, s, e.value.label, "other")
653
- })
654
- ) : void 0, m.value = e == null ? void 0 : e.index, F.value = !!((r = i.value) != null && r.dataFormula || (k = i.value) != null && k.displayFormula), i.value && i.value.formatter === void 0 && (f.options.find(
655
- (R) => {
656
- var M, A;
657
- return R.schemaName === ((M = i.value) == null ? void 0 : M.schemaName) && R.name === ((A = i.value) == null ? void 0 : A.name);
658
- }
659
- ), e != null && e.value.timeFormatter && i.value.formatter === void 0 && (i.value.formatter = e == null ? void 0 : e.value.timeFormatter, i.value.timeFormatter = void 0)), ((g = f.config.rowIds) == null ? void 0 : g.findIndex((R) => R === xe.value)) !== -1 && i.value && (i.value.moveToRow = !0);
660
- }
661
- const i = q(void 0), F = q(!1), S = _(
662
- () => f.options.find(
663
- (e) => {
664
- var r, k;
665
- return e.schemaName === ((r = i.value) == null ? void 0 : r.schemaName) && e.name === ((k = i.value) == null ? void 0 : k.name);
666
- }
667
- ) ?? {}
668
- );
669
- function D(e, r) {
670
- var k;
671
- return (e == null ? void 0 : e.isNumericType) || ((k = e == null ? void 0 : e.isNumericAggregations) == null ? void 0 : k.includes(r || ""));
672
- }
673
- const O = _(
674
- () => {
675
- var e;
676
- return D(S.value, (e = i.value) == null ? void 0 : e.aggregation);
677
- }
678
- );
679
- se(O, (e) => {
680
- i.value && (e ? i.value.decimal = typeof i.value.decimal != "number" ? 2 : i.value.decimal : i.value.decimal = void 0);
681
- });
682
- function b(e) {
683
- var r, k;
684
- (e.schemaName !== ((r = i.value) == null ? void 0 : r.schemaName) || e.name !== ((k = i.value) == null ? void 0 : k.name)) && (i.value = {
685
- schemaName: e.schemaName,
686
- name: e.name,
687
- aggregation: e.aggregations[0],
688
- label: Z(o, s, e.label, "other"),
689
- decimal: D(e, e.aggregations[0]) ? 2 : void 0,
690
- moveToRow: !1,
691
- hide: !1
692
- }, F.value = !1);
693
- }
694
- function y() {
695
- const e = [...v.value.map((r) => r.value)];
696
- i.value && (F.value || (i.value.dataFormula = void 0), m.value !== void 0 ? e[m.value] = i.value : e.push(i.value)), n.value = e, V.value = !1;
697
- }
698
- function d(e) {
699
- const r = [...v.value.map((k) => k.value)];
700
- r.splice(e, 1), n.value = r;
701
- }
702
- const c = _(
703
- () => f.options.map((e) => ({
704
- label: e.labels.join(" "),
705
- value: e
706
- }))
707
- ), t = _(
708
- () => f.label ? f.label : o(`report.section.metric.${f.label}`)
709
- );
710
- return (e, r) => {
711
- const k = x("FmTextField"), g = x("FmStepperField"), R = x("FmCheckbox"), M = x("FmTextarea"), A = x("FmForm"), H = x("FmIcon"), E = x("FmButton"), oe = x("FmListItem"), N = x("FmList"), L = x("FmField");
712
- return h(), I("div", hl, [
713
- u(pe, {
714
- modelValue: V.value,
715
- "onUpdate:modelValue": r[10] || (r[10] = (W) => V.value = W),
716
- title: t.value,
717
- onConfirm: y
718
- }, {
719
- content: $(() => [
720
- u(A, {
721
- ref: "form",
722
- class: "flex flex-col gap-2 w-[490px]"
723
- }, {
724
- default: $(() => {
725
- var W, K, J, re;
726
- return [
727
- u(Q, {
728
- "model-value": S.value,
729
- items: c.value,
730
- placeholder: t.value,
731
- label: t.value,
732
- "onUpdate:modelValue": r[0] || (r[0] = (P) => b(P))
733
- }, null, 8, ["model-value", "items", "placeholder", "label"]),
734
- i.value ? (h(), I(ee, { key: 0 }, [
735
- u(k, {
736
- modelValue: i.value.label,
737
- "onUpdate:modelValue": r[1] || (r[1] = (P) => i.value.label = P),
738
- label: l(o)("report.section.metric.label")
739
- }, null, 8, ["modelValue", "label"]),
740
- (((W = S.value) == null ? void 0 : W.aggregations) || []).length > 0 ? (h(), T(Q, {
741
- key: 0,
742
- modelValue: i.value.aggregation,
743
- "onUpdate:modelValue": r[2] || (r[2] = (P) => i.value.aggregation = P),
744
- label: l(o)("report.section.metric.aggregation"),
745
- items: ((K = S.value) == null ? void 0 : K.aggregations.map((P) => ({
746
- label: l(Z)(l(o), l(s), P, "field"),
747
- value: P
748
- }))) ?? []
749
- }, null, 8, ["modelValue", "label", "items"])) : U("", !0),
750
- O.value ? (h(), T(g, {
751
- key: 1,
752
- label: l(o)("report.common.decimal"),
753
- "model-value": ((J = i.value) == null ? void 0 : J.decimal) ?? 2,
754
- "onUpdate:modelValue": r[3] || (r[3] = (P) => {
755
- i.value && (i.value.decimal = P);
756
- })
757
- }, null, 8, ["label", "model-value"])) : U("", !0),
758
- O.value ? (h(), T(Q, {
759
- key: 2,
760
- modelValue: i.value.formatter,
761
- "onUpdate:modelValue": r[4] || (r[4] = (P) => i.value.formatter = P),
762
- placeholder: l(o)("report.section.metric.formatter"),
763
- label: l(o)("report.section.metric.formatter"),
764
- items: [
765
- { label: "NONE", value: null },
766
- ...(((re = S.value) == null ? void 0 : re.formatters) || []).map((P) => ({
767
- label: P,
768
- value: P
769
- }))
770
- ]
771
- }, null, 8, ["modelValue", "placeholder", "label", "items"])) : U("", !0),
772
- u(R, {
773
- modelValue: i.value.hide,
774
- "onUpdate:modelValue": r[5] || (r[5] = (P) => i.value.hide = P),
775
- label: l(o)("report.section.metric.hide"),
776
- value: ""
777
- }, null, 8, ["modelValue", "label"]),
778
- f.hasRowColumn ? (h(), T(R, {
779
- key: 3,
780
- modelValue: i.value.moveToRow,
781
- "onUpdate:modelValue": r[6] || (r[6] = (P) => i.value.moveToRow = P),
782
- label: l(o)("report.section.metric.moveToRow"),
783
- value: ""
784
- }, null, 8, ["modelValue", "label"])) : U("", !0),
785
- u(R, {
786
- modelValue: F.value,
787
- "onUpdate:modelValue": r[7] || (r[7] = (P) => F.value = P),
788
- label: l(o)("report.section.metric.advance"),
789
- value: !0
790
- }, null, 8, ["modelValue", "label"]),
791
- F.value ? (h(), T(M, {
792
- key: 4,
793
- modelValue: i.value.dataFormula,
794
- "onUpdate:modelValue": r[8] || (r[8] = (P) => i.value.dataFormula = P),
795
- placeholder: l(o)("report.section.metric.dataFormula")
796
- }, null, 8, ["modelValue", "placeholder"])) : U("", !0),
797
- F.value ? (h(), T(M, {
798
- key: 5,
799
- modelValue: i.value.displayFormula,
800
- "onUpdate:modelValue": r[9] || (r[9] = (P) => i.value.displayFormula = P),
801
- placeholder: l(o)("report.section.metric.displayFormula")
802
- }, null, 8, ["modelValue", "placeholder"])) : U("", !0)
803
- ], 64)) : U("", !0)
804
- ];
805
- }),
806
- _: 1
807
- }, 512)
808
- ]),
809
- _: 1
810
- }, 8, ["modelValue", "title"]),
811
- C("div", null, [
812
- C("p", Vl, j(t.value), 1),
813
- C("p", Fl, j(l(o)("report.section.metric.description")), 1)
814
- ]),
815
- u(N, null, {
816
- default: $(() => [
817
- u(l(_e), {
818
- list: n.value,
819
- "item-key": "id",
820
- class: "flex flex-col gap-2 w-full"
821
- }, {
822
- item: $(({ element: W, index: K }) => [
823
- u(oe, {
824
- class: "!cursor-grab border rounded-md border-neutral-300 h-[40px] !p-[8px]",
825
- onClick: ae((J) => a(v.value[K]), ["stop"])
826
- }, {
827
- default: $(() => [
828
- u(H, { name: "drag_handle" }),
829
- C("p", wl, j(l(Z)(l(o), l(s), W.label, "other")), 1),
830
- r[12] || (r[12] = C("div", { class: "grow" }, null, -1)),
831
- u(E, {
832
- icon: "close",
833
- size: "md",
834
- variant: "tertiary",
835
- onClick: ae((J) => d(K), ["stop"])
836
- }, null, 8, ["onClick"])
837
- ]),
838
- _: 2
839
- }, 1032, ["onClick"])
840
- ]),
841
- _: 1
842
- }, 8, ["list"])
843
- ]),
844
- _: 1
845
- }),
846
- u(L, {
847
- class: "text-fm-color-typo-tertiary",
848
- onClick: r[11] || (r[11] = () => {
849
- a();
850
- })
851
- }, {
852
- default: $(() => [
853
- me(j(l(o)("report.section.metric.add")), 1)
854
- ]),
855
- _: 1
856
- })
857
- ]);
858
- };
859
- }
860
- }), Cl = { class: "flex flex-col my-2 gap-8" }, kl = { class: "fm-typo-en-body-lg-600" }, _l = { class: "fm-typo-en-body-sm-600 text-fm-color-neutral-gray-400" }, Sl = { class: "fm-typo-en-body-lg-400 text-ellipsis overflow-hidden line-clamp-1" }, Tl = /* @__PURE__ */ X({
861
- __name: "SortSection",
862
- props: /* @__PURE__ */ G({
863
- options: {
864
- type: Array,
865
- default: () => []
866
- },
867
- label: {
868
- type: String,
869
- default: "Sort"
870
- }
871
- }, {
872
- modelValue: { required: !1, default: [] },
873
- modelModifiers: {}
874
- }),
875
- emits: ["update:modelValue"],
876
- setup(w) {
877
- const { t: p } = Y(), o = le(w, "modelValue"), s = w, n = _(
878
- () => s.label ? s.label : p(`report.section.sort.${s.label}`)
879
- ), f = q(!1), V = _(
880
- () => o.value.map((y, d) => {
881
- const c = s.options.find(
882
- (t) => t.schemaName === y.schemaName && t.name === y.name
883
- );
884
- return {
885
- index: d,
886
- labels: (c == null ? void 0 : c.labels) || [y.schemaName, y.name],
887
- value: y
888
- };
889
- })
890
- ), v = q(o.value.length > 0 ? 0 : void 0);
891
- function m(y) {
892
- var d;
893
- f.value = !0, a.value = y != null && y.value ? JSON.parse(JSON.stringify(y.value)) : void 0, v.value = y == null ? void 0 : y.index, i.value = !!((d = a.value) != null && d.dataFormula);
894
- }
895
- const a = q(void 0), i = q(!1), F = _(
896
- () => s.options.find(
897
- (y) => {
898
- var d, c;
899
- return y.schemaName === ((d = a.value) == null ? void 0 : d.schemaName) && y.name === ((c = a.value) == null ? void 0 : c.name);
900
- }
901
- ) ?? {}
902
- );
903
- function S(y) {
904
- var d, c;
905
- (y.schemaName !== ((d = a.value) == null ? void 0 : d.schemaName) || y.name !== ((c = a.value) == null ? void 0 : c.name)) && (a.value = {
906
- schemaName: y.schemaName,
907
- name: y.name,
908
- dimensionOption: y.dimensionOptions[0],
909
- aggregation: null,
910
- type: Te.Asc
911
- });
912
- }
913
- function D() {
914
- if (!a.value) {
915
- console.log("new sort is undefined");
916
- return;
917
- }
918
- const y = [...V.value.map((d) => d.value)];
919
- i.value || (a.value.dataFormula = void 0), v.value !== void 0 ? y[v.value] = a.value : y.push(a.value), o.value = y, f.value = !1;
920
- }
921
- function O(y) {
922
- const d = [...V.value.map((c) => c.value)];
923
- d.splice(y, 1), o.value = d, f.value = !1;
924
- }
925
- const b = _(
926
- () => s.options.map((y) => ({
927
- label: y.labels.join(" "),
928
- value: y
929
- }))
930
- );
931
- return (y, d) => {
932
- const c = x("FmCheckbox"), t = x("FmTextarea"), e = x("FmForm"), r = x("FmIcon"), k = x("FmButton"), g = x("FmListItem"), R = x("FmList"), M = x("FmField");
933
- return h(), I("div", Cl, [
934
- u(pe, {
935
- modelValue: f.value,
936
- "onUpdate:modelValue": d[6] || (d[6] = (A) => f.value = A),
937
- title: n.value,
938
- onConfirm: D
939
- }, {
940
- content: $(() => [
941
- u(e, {
942
- ref: "form",
943
- class: "flex flex-col gap-2 w-[490px]"
944
- }, {
945
- default: $(() => {
946
- var A, H, E, oe;
947
- return [
948
- u(Q, {
949
- "model-value": F.value,
950
- items: b.value,
951
- placeholder: n.value,
952
- label: n.value,
953
- "onUpdate:modelValue": d[0] || (d[0] = (N) => S(N))
954
- }, null, 8, ["model-value", "items", "placeholder", "label"]),
955
- a.value ? (h(), I(ee, { key: 0 }, [
956
- (((A = F.value) == null ? void 0 : A.dimensionOptions) || []).length > 0 ? (h(), T(Q, {
957
- key: 0,
958
- modelValue: a.value.dimensionOption,
959
- "onUpdate:modelValue": d[1] || (d[1] = (N) => a.value.dimensionOption = N),
960
- items: ((H = F.value) == null ? void 0 : H.dimensionOptions.map((N) => ({ label: N, value: N }))) ?? [],
961
- placeholder: l(p)("report.section.sort.format"),
962
- label: l(p)("report.section.sort.format")
963
- }, null, 8, ["modelValue", "items", "placeholder", "label"])) : U("", !0),
964
- (((E = F.value) == null ? void 0 : E.aggregations) || []).length > 0 ? (h(), T(Q, {
965
- key: 1,
966
- modelValue: a.value.aggregation,
967
- "onUpdate:modelValue": d[2] || (d[2] = (N) => a.value.aggregation = N),
968
- items: ((oe = F.value) == null ? void 0 : oe.aggregations.map((N) => ({ label: N, value: N }))) ?? [],
969
- label: l(p)("report.section.sort.aggregation"),
970
- placeholder: l(p)("report.section.sort.aggregation")
971
- }, null, 8, ["modelValue", "items", "label", "placeholder"])) : U("", !0),
972
- u(Q, {
973
- modelValue: a.value.type,
974
- "onUpdate:modelValue": d[3] || (d[3] = (N) => a.value.type = N),
975
- items: Object.values(l(Te)).map((N) => ({ label: N, value: N })),
976
- placeholder: l(p)("report.section.sort.order"),
977
- label: l(p)("report.section.sort.order")
978
- }, null, 8, ["modelValue", "items", "placeholder", "label"]),
979
- u(c, {
980
- modelValue: i.value,
981
- "onUpdate:modelValue": d[4] || (d[4] = (N) => i.value = N),
982
- label: l(p)("report.section.sort.advance"),
983
- value: !0
984
- }, null, 8, ["modelValue", "label"]),
985
- i.value ? (h(), T(t, {
986
- key: 2,
987
- modelValue: a.value.dataFormula,
988
- "onUpdate:modelValue": d[5] || (d[5] = (N) => a.value.dataFormula = N),
989
- placeholder: l(p)("report.section.sort.dataFormula")
990
- }, null, 8, ["modelValue", "placeholder"])) : U("", !0)
991
- ], 64)) : U("", !0)
992
- ];
993
- }),
994
- _: 1
995
- }, 512)
996
- ]),
997
- _: 1
998
- }, 8, ["modelValue", "title"]),
999
- C("div", null, [
1000
- C("p", kl, j(n.value), 1),
1001
- C("p", _l, j(l(p)("report.section.sort.description")), 1)
1002
- ]),
1003
- u(R, null, {
1004
- default: $(() => [
1005
- u(l(_e), {
1006
- list: o.value,
1007
- "item-key": "id",
1008
- class: "flex flex-col gap-2 w-full"
1009
- }, {
1010
- item: $(({ element: A, index: H }) => [
1011
- u(g, {
1012
- class: "!cursor-grab border rounded-md border-neutral-300 h-[40px] !p-[8px]",
1013
- onClick: ae((E) => m(V.value[H]), ["stop"])
1014
- }, {
1015
- default: $(() => [
1016
- u(r, { name: "drag_handle" }),
1017
- C("p", Sl, j(l(je)(A.name)), 1),
1018
- d[8] || (d[8] = C("div", { class: "grow" }, null, -1)),
1019
- u(k, {
1020
- icon: "close",
1021
- size: "md",
1022
- variant: "tertiary",
1023
- onClick: ae((E) => O(H), ["stop"])
1024
- }, null, 8, ["onClick"])
1025
- ]),
1026
- _: 2
1027
- }, 1032, ["onClick"])
1028
- ]),
1029
- _: 1
1030
- }, 8, ["list"])
1031
- ]),
1032
- _: 1
1033
- }),
1034
- u(M, {
1035
- class: "text-fm-color-typo-tertiary",
1036
- onClick: d[7] || (d[7] = () => {
1037
- m();
1038
- })
1039
- }, {
1040
- default: $(() => [
1041
- me(j(l(p)("report.section.sort.add")), 1)
1042
- ]),
1043
- _: 1
1044
- })
1045
- ]);
1046
- };
1047
- }
1048
- }), Ul = { class: "fm-typo-en-body-lg-600" }, Dl = { class: "fm-typo-en-body-sm-600 text-fm-color-neutral-gray-400" }, $l = /* @__PURE__ */ X({
1049
- __name: "LimitSection",
1050
- props: {
1051
- modelValue: { required: !0, default: null },
1052
- modelModifiers: {}
1053
- },
1054
- emits: ["update:modelValue"],
1055
- setup(w) {
1056
- const { t: p } = Y(), o = le(w, "modelValue"), s = be((n) => {
1057
- n !== "" ? o.value = n : o.value = null;
1058
- }, 1e3);
1059
- return (n, f) => {
1060
- const V = x("FmTextField");
1061
- return h(), I(ee, null, [
1062
- C("div", null, [
1063
- C("p", Ul, j(l(p)("report.section.limit.title")), 1),
1064
- C("p", Dl, j(l(p)("report.section.limit.description")), 1)
1065
- ]),
1066
- u(V, {
1067
- "model-value": o.value,
1068
- inputmode: "numeric",
1069
- placeholder: l(p)("report.section.limit.placeholder"),
1070
- "onUpdate:modelValue": f[0] || (f[0] = (v) => l(s)(v))
1071
- }, null, 8, ["model-value", "placeholder"])
1072
- ], 64);
1073
- };
1074
- }
1075
- }), Nl = { class: "flex flex-col my-2 gap-8" }, Ol = { class: "fm-typo-en-body-lg-600" }, Il = { class: "fm-typo-en-body-sm-600 text-fm-color-neutral-gray-400" }, Bl = { class: "fm-typo-en-body-lg-400 text-ellipsis overflow-hidden line-clamp-1" }, Ll = /* @__PURE__ */ X({
1076
- __name: "ConditionSection",
1077
- props: /* @__PURE__ */ G({
1078
- joinFieldOptions: {
1079
- type: Array,
1080
- default: () => []
1081
- },
1082
- mainFieldOptions: {
1083
- type: Array,
1084
- default: () => []
1085
- }
1086
- }, {
1087
- modelValue: { required: !0 },
1088
- modelModifiers: {}
1089
- }),
1090
- emits: ["update:modelValue"],
1091
- setup(w) {
1092
- const { t: p } = Y(), o = le(w, "modelValue"), s = w, n = q(!1), f = _(
1093
- () => o.value.map((d, c) => {
1094
- var t, e;
1095
- return {
1096
- index: c,
1097
- labels: [(t = d.joinDimension) == null ? void 0 : t.schemaName, (e = d.joinDimension) == null ? void 0 : e.name],
1098
- value: d
1099
- };
1100
- })
1101
- ), V = q(o.value.length > 0 ? 0 : void 0);
1102
- function v(d) {
1103
- d ? (m.value = d != null && d.value ? JSON.parse(JSON.stringify(d.value)) : void 0, V.value = d == null ? void 0 : d.index) : (m.value = {
1104
- joinDimension: null,
1105
- operator: "",
1106
- mainDimensions: []
1107
- }, V.value = void 0), n.value = !0;
1108
- }
1109
- const m = q(void 0), a = _(
1110
- () => s.joinFieldOptions.find(
1111
- (d) => {
1112
- var c, t;
1113
- return d.schemaName === ((t = (c = m.value) == null ? void 0 : c.joinDimension) == null ? void 0 : t.schemaName) && d.name === m.value.joinDimension.name;
1114
- }
1115
- ) ?? {}
1116
- ), i = _(
1117
- () => {
1118
- var d;
1119
- return (((d = m.value) == null ? void 0 : d.mainDimensions) || []).map(
1120
- (c) => s.mainFieldOptions.find(
1121
- (t) => t.schemaName === (c == null ? void 0 : c.schemaName) && t.name === c.name
1122
- ) ?? {}
1123
- );
1124
- }
1125
- ), F = _(
1126
- () => s.joinFieldOptions.map((d) => ({ label: d.labels.join(" "), value: d }))
1127
- );
1128
- function S(d) {
1129
- var c, t, e, r;
1130
- m.value && (m.value && d.schemaName !== ((t = (c = m.value) == null ? void 0 : c.joinDimension) == null ? void 0 : t.schemaName) || d.name !== ((r = (e = m.value) == null ? void 0 : e.joinDimension) == null ? void 0 : r.name)) && (m.value = {
1131
- ...m.value,
1132
- joinDimension: {
1133
- schemaName: d.schemaName,
1134
- name: d.name,
1135
- option: d.dimensionOptions[0],
1136
- label: `_${d.label}`,
1137
- hide: !0
1138
- }
1139
- }, d.joinConditionOperators.includes(m.value.operator) || O(d.joinConditionOperators[0]));
1140
- }
1141
- function D(d, c) {
1142
- var t, e, r, k;
1143
- if (m.value && c >= 0 && (m.value && d.schemaName !== ((e = (t = m.value) == null ? void 0 : t.mainDimensions[c]) == null ? void 0 : e.schemaName) || d.name !== ((k = (r = m.value) == null ? void 0 : r.mainDimensions[c]) == null ? void 0 : k.name))) {
1144
- const g = [...m.value.mainDimensions];
1145
- g[c] = {
1146
- schemaName: d.schemaName,
1147
- name: d.name,
1148
- option: d.dimensionOptions[0],
1149
- label: d.label,
1150
- hide: !0
1151
- }, m.value = {
1152
- ...m.value,
1153
- mainDimensions: g
1154
- };
1155
- }
1156
- }
1157
- function O(d) {
1158
- if (m.value)
1159
- switch (d) {
1160
- case ol.Between:
1161
- m.value = {
1162
- ...m.value,
1163
- operator: d,
1164
- mainDimensions: [null, null]
1165
- };
1166
- break;
1167
- default:
1168
- m.value = {
1169
- ...m.value,
1170
- operator: d,
1171
- mainDimensions: [null]
1172
- };
1173
- break;
1174
- }
1175
- }
1176
- function b() {
1177
- const d = [...f.value.map((c) => c.value)];
1178
- m.value && (m.value.mainDimensions = m.value.mainDimensions.filter(
1179
- (c) => c !== "" && c != null
1180
- ), V.value !== void 0 ? d[V.value] = m.value : d.push(m.value)), o.value = d, n.value = !1;
1181
- }
1182
- function y(d) {
1183
- const c = [...f.value.map((t) => t.value)];
1184
- c.splice(d, 1), o.value = c;
1185
- }
1186
- return (d, c) => {
1187
- const t = x("FmMenuDivider"), e = x("FmForm"), r = x("FmButton"), k = x("FmListItem"), g = x("FmList"), R = x("FmField");
1188
- return h(), I("div", Nl, [
1189
- u(pe, {
1190
- modelValue: n.value,
1191
- "onUpdate:modelValue": c[2] || (c[2] = (M) => n.value = M),
1192
- title: l(p)("report.section.condition.condition"),
1193
- onConfirm: b
1194
- }, {
1195
- content: $(() => [
1196
- u(e, {
1197
- ref: "form",
1198
- class: "flex flex-col gap-2 w-[490px]"
1199
- }, {
1200
- default: $(() => {
1201
- var M, A, H, E, oe;
1202
- return [
1203
- u(Q, {
1204
- label: l(p)("report.section.condition.joinDatasource"),
1205
- "model-value": a.value,
1206
- items: F.value,
1207
- placeholder: l(p)("report.section.condition.joinDimension"),
1208
- "onUpdate:modelValue": c[0] || (c[0] = (N) => S(N))
1209
- }, null, 8, ["label", "model-value", "items", "placeholder"]),
1210
- u(t),
1211
- (M = m.value) != null && M.joinDimension && (((A = a.value) == null ? void 0 : A.dimensionOptions) || []).length > 0 ? (h(), T(Q, {
1212
- key: 0,
1213
- modelValue: m.value.joinDimension.option,
1214
- "onUpdate:modelValue": c[1] || (c[1] = (N) => m.value.joinDimension.option = N),
1215
- label: l(p)("report.section.condition.format"),
1216
- items: ((H = a.value) == null ? void 0 : H.dimensionOptions.map((N) => ({
1217
- label: N,
1218
- value: N
1219
- }))) ?? []
1220
- }, null, 8, ["modelValue", "label", "items"])) : U("", !0),
1221
- m.value && (((E = a.value) == null ? void 0 : E.joinConditionOperators) || []).length > 0 ? (h(), T(Q, {
1222
- key: 1,
1223
- "model-value": m.value.operator,
1224
- label: l(p)("report.section.condition.operator"),
1225
- items: a.value.joinConditionOperators.map((N) => ({
1226
- label: N,
1227
- value: N
1228
- })) ?? [],
1229
- "onUpdate:modelValue": O
1230
- }, null, 8, ["model-value", "label", "items"])) : U("", !0),
1231
- (h(!0), I(ee, null, de(((oe = m.value) == null ? void 0 : oe.mainDimensions) || [], (N, L) => {
1232
- var W, K;
1233
- return h(), I("div", {
1234
- key: L,
1235
- class: "flex flex-col gap-2"
1236
- }, [
1237
- u(Q, {
1238
- "model-value": i.value[L],
1239
- label: l(p)("report.section.condition.mainDatasource", { index: L + 1 }),
1240
- items: s.mainFieldOptions.map((J) => ({
1241
- label: J.labels.join(" "),
1242
- value: J
1243
- })),
1244
- "onUpdate:modelValue": (J) => D(J, L)
1245
- }, null, 8, ["model-value", "label", "items", "onUpdate:modelValue"]),
1246
- N && (((W = i.value[L]) == null ? void 0 : W.dimensionOptions) || []).length > 0 && N ? (h(), T(Q, {
1247
- key: 0,
1248
- modelValue: N.option,
1249
- "onUpdate:modelValue": (J) => N.option = J,
1250
- items: (K = i.value[L]) == null ? void 0 : K.dimensionOptions.map((J) => ({
1251
- label: J,
1252
- value: J
1253
- }))
1254
- }, null, 8, ["modelValue", "onUpdate:modelValue", "items"])) : U("", !0),
1255
- u(t)
1256
- ]);
1257
- }), 128))
1258
- ];
1259
- }),
1260
- _: 1
1261
- }, 512)
1262
- ]),
1263
- _: 1
1264
- }, 8, ["modelValue", "title"]),
1265
- C("div", null, [
1266
- C("p", Ol, j(l(p)("report.section.condition.condition")), 1),
1267
- C("p", Il, j(l(p)("report.section.condition.description")), 1)
1268
- ]),
1269
- u(g, { class: "flex flex-col gap-2" }, {
1270
- default: $(() => [
1271
- (h(!0), I(ee, null, de(o.value, (M, A) => (h(), T(k, {
1272
- key: A,
1273
- class: "!cursor-grab border rounded-md border-neutral-300 h-[40px] !p-[8px]",
1274
- onClick: (H) => v(f.value[A])
1275
- }, {
1276
- default: $(() => {
1277
- var H, E;
1278
- return [
1279
- C("p", Bl, j(l(tl)(((H = M.joinDimension) == null ? void 0 : H.schemaName) ?? "")) + " " + j((E = M.joinDimension) == null ? void 0 : E.label), 1),
1280
- c[4] || (c[4] = C("div", { class: "grow" }, null, -1)),
1281
- u(r, {
1282
- icon: "close",
1283
- size: "md",
1284
- variant: "tertiary",
1285
- onClick: ae((oe) => y(A), ["stop"])
1286
- }, null, 8, ["onClick"])
1287
- ];
1288
- }),
1289
- _: 2
1290
- }, 1032, ["onClick"]))), 128))
1291
- ]),
1292
- _: 1
1293
- }),
1294
- u(R, {
1295
- class: "text-fm-color-typo-tertiary cursor-pointer",
1296
- onClick: c[3] || (c[3] = (M) => v())
1297
- }, {
1298
- default: $(() => [
1299
- me(j(l(p)("report.section.condition.add")), 1)
1300
- ]),
1301
- _: 1
1302
- })
1303
- ]);
1304
- };
1305
- }
1306
- }), jl = /* @__PURE__ */ X({
1307
- __name: "TableResizeSection",
1308
- props: {
1309
- model: {}
1310
- },
1311
- setup(w) {
1312
- const { t: p, te: o } = Y(), s = w, { isEditing: n, colWidths: f, rowHeight: V } = ue(ge()), { enableCellResizing: v, cancelResizingChanges: m } = ge();
1313
- return ke(() => {
1314
- s.model.rowHeight !== void 0 && (V.value = s.model.rowHeight), s.model.colWidths && (f.value = [...s.model.colWidths]);
1315
- }), (a, i) => {
1316
- const F = x("FmButton");
1317
- return h(), I(ee, null, [
1318
- u(F, {
1319
- label: l(p)("report.section.datasource.resizeTable"),
1320
- onClick: l(v)
1321
- }, null, 8, ["label", "onClick"]),
1322
- l(n) ? (h(), T(F, {
1323
- key: 0,
1324
- label: l(p)("report.common.cancel"),
1325
- onClick: l(m)
1326
- }, null, 8, ["label", "onClick"])) : U("", !0)
1327
- ], 64);
1328
- };
1329
- }
1330
- }), De = /* @__PURE__ */ X({
1331
- __name: "Datasource",
1332
- props: /* @__PURE__ */ G({
1333
- label: {
1334
- type: String,
1335
- default: "Label"
1336
- },
1337
- config: {
1338
- type: Object,
1339
- default: null
1340
- },
1341
- closeable: {
1342
- type: Boolean,
1343
- default: !1
1344
- },
1345
- mainDatasourceConfig: {
1346
- type: Object,
1347
- default: () => {
1348
- }
1349
- },
1350
- modelValue: {
1351
- type: Object,
1352
- default: () => {
1353
- }
1354
- }
1355
- }, {
1356
- modelValue: { required: !0 },
1357
- modelModifiers: {}
1358
- }),
1359
- emits: /* @__PURE__ */ G(["click-close"], ["update:modelValue"]),
1360
- setup(w, { emit: p }) {
1361
- const { disableEditMode: o, resetStore: s } = ge(), n = le(w, "modelValue");
1362
- se(
1363
- [() => n.value.dimensions, () => n.value.metrics],
1364
- () => {
1365
- const { rowIds: c, columnIds: t } = ye(n.value);
1366
- n.value.rowIds = c, n.value.columnIds = t;
1367
- },
1368
- { deep: !0 }
1369
- );
1370
- const f = w, V = p, { schemas: v } = ue(Be());
1371
- Xe(() => {
1372
- o(), s();
1373
- });
1374
- const { t: m, te: a } = Y(), i = _(() => !f.mainDatasourceConfig), F = _(
1375
- () => [B.BarChart, B.LineChart, B.Scorecard].includes(f.config.type)
1376
- ), S = _(() => {
1377
- const c = [...n.value.dimensions].filter((t) => !t.hide);
1378
- return c.sort(
1379
- (t, e) => (n.value.rowIds || []).indexOf(fe(t)) - (n.value.rowIds || []).indexOf(fe(e))
1380
- ), c;
1381
- }), D = _(() => f.config.type === B.Scorecard), O = _(
1382
- () => {
1383
- var c;
1384
- return (((c = f.mainDatasourceConfig) == null ? void 0 : c.schemaNames) || []).reduce(
1385
- (t, e) => {
1386
- const r = v.value.find((k) => k.name === e);
1387
- return r && (t = [
1388
- ...t,
1389
- ...r.fields.map((k) => ({
1390
- ...k,
1391
- labels: [
1392
- Z(m, a, r.label, "schema"),
1393
- Z(m, a, k.label || k.name, "other")
1394
- ]
1395
- }))
1396
- ]), t;
1397
- },
1398
- []
1399
- );
1400
- }
1401
- ), b = _(
1402
- () => n.value.schemaNames.reduce((c, t) => {
1403
- const e = v.value.find((r) => r.name === t);
1404
- return e && (c = [
1405
- ...c,
1406
- ...e.fields.map((r) => ({
1407
- ...r,
1408
- labels: [
1409
- Z(m, a, e.label, "schema"),
1410
- Z(m, a, r.label || r.name, "other")
1411
- ]
1412
- }))
1413
- ]), c;
1414
- }, [])
1415
- ), y = _(() => [
1416
- { label: m("report.section.datasource.none"), value: null },
1417
- { label: m("report.section.datasource.grandTotal"), value: 0 },
1418
- ...[...S.value].slice(0, S.value.length - 1).map((c, t) => ({
1419
- label: Z(m, a, c.label, "other"),
1420
- value: t + 1
1421
- }))
1422
- ]), d = [
1423
- {
1424
- label: "None",
1425
- value: null
1426
- },
1427
- ...Object.keys(Ue).map((c) => ({
1428
- label: c,
1429
- value: Ue[c]
1430
- }))
1431
- ];
1432
- return (c, t) => {
1433
- const e = x("FmButton"), r = x("FmSwitch"), k = x("FmSelect");
1434
- return h(), T(we, null, {
1435
- header: $(() => [
1436
- C("p", null, j(f.label), 1),
1437
- t[20] || (t[20] = C("div", { class: "grow" }, null, -1)),
1438
- f.closeable ? (h(), T(e, {
1439
- key: 0,
1440
- icon: "close",
1441
- variant: "tertiary",
1442
- size: "md",
1443
- onClick: t[0] || (t[0] = ae((g) => V("click-close"), ["stop"]))
1444
- })) : U("", !0)
1445
- ]),
1446
- content: $(() => [
1447
- u(pl, {
1448
- modelValue: n.value,
1449
- "onUpdate:modelValue": t[1] || (t[1] = (g) => n.value = g),
1450
- label: l(m)("report.section.schema.title")
1451
- }, null, 8, ["modelValue", "label"]),
1452
- u(Fe, {
1453
- modelValue: n.value.dimensions,
1454
- "onUpdate:modelValue": t[2] || (t[2] = (g) => n.value.dimensions = g),
1455
- options: b.value,
1456
- config: n.value,
1457
- max: f.config.maxDimension,
1458
- "has-row-column": !0,
1459
- onConfig: t[3] || (t[3] = (g) => {
1460
- n.value = g;
1461
- })
1462
- }, null, 8, ["modelValue", "options", "config", "max"]),
1463
- u(r, {
1464
- "label-placement": "right",
1465
- label: l(m)("report.section.datasource.comparable"),
1466
- "model-value": n.value.isComparable ?? !1,
1467
- "onUpdate:modelValue": t[4] || (t[4] = (g) => {
1468
- n.value.isComparable = g;
1469
- })
1470
- }, null, 8, ["label", "model-value"]),
1471
- F.value ? (h(), T(r, {
1472
- key: 0,
1473
- "label-placement": "right",
1474
- label: l(m)("report.section.datasource.cumulative"),
1475
- "model-value": n.value.isCumulative ?? !1,
1476
- "onUpdate:modelValue": t[5] || (t[5] = (g) => {
1477
- n.value.isCumulative = g;
1478
- })
1479
- }, null, 8, ["label", "model-value"])) : U("", !0),
1480
- f.config.isDrillConfigurable && i.value ? (h(), T(r, {
1481
- key: 1,
1482
- label: l(m)("report.section.datasource.drill"),
1483
- "label-placement": "right",
1484
- "model-value": n.value.isDrillable ?? !1,
1485
- "onUpdate:modelValue": t[6] || (t[6] = (g) => {
1486
- n.value.isDrillable = g;
1487
- })
1488
- }, null, 8, ["label", "model-value"])) : U("", !0),
1489
- i.value ? (h(), T(r, {
1490
- key: 2,
1491
- modelValue: n.value.isBlend,
1492
- "onUpdate:modelValue": t[7] || (t[7] = (g) => n.value.isBlend = g),
1493
- label: l(m)("report.section.datasource.blend"),
1494
- "label-placement": "right"
1495
- }, null, 8, ["modelValue", "label"])) : U("", !0),
1496
- f.config.canRollup && i.value ? (h(), T(k, {
1497
- key: 3,
1498
- modelValue: n.value.rollup,
1499
- "onUpdate:modelValue": t[8] || (t[8] = (g) => n.value.rollup = g),
1500
- label: l(m)("report.section.datasource.subTotal"),
1501
- items: y.value
1502
- }, null, 8, ["modelValue", "label", "items"])) : U("", !0),
1503
- i.value ? U("", !0) : (h(), T(k, {
1504
- key: 4,
1505
- modelValue: n.value.periodType,
1506
- "onUpdate:modelValue": t[9] || (t[9] = (g) => n.value.periodType = g),
1507
- label: l(m)("report.section.datasource.periodType"),
1508
- items: d
1509
- }, null, 8, ["modelValue", "label"])),
1510
- f.config.canTranspose && i.value ? (h(), T(r, {
1511
- key: 5,
1512
- modelValue: n.value.isTransposed,
1513
- "onUpdate:modelValue": t[10] || (t[10] = (g) => n.value.isTransposed = g),
1514
- label: l(m)("report.section.datasource.transpose"),
1515
- "label-placement": "right"
1516
- }, null, 8, ["modelValue", "label"])) : U("", !0),
1517
- f.config.hasTable ? (h(), T(jl, {
1518
- key: 6,
1519
- model: n.value,
1520
- "onUpdate:model": t[11] || (t[11] = (g) => n.value = g)
1521
- }, null, 8, ["model"])) : U("", !0),
1522
- f.config.hasBreakdownDimension ? (h(), T(Fe, {
1523
- key: 7,
1524
- "model-value": n.value.breakdownDimension ? [n.value.breakdownDimension] : [],
1525
- label: l(m)("report.section.dimension.breakdownDimension"),
1526
- max: 1,
1527
- options: b.value,
1528
- "onUpdate:modelValue": t[12] || (t[12] = (g) => {
1529
- n.value.breakdownDimension = g[0];
1530
- })
1531
- }, null, 8, ["model-value", "label", "options"])) : U("", !0),
1532
- D.value ? (h(), T(Fe, {
1533
- key: 8,
1534
- "model-value": n.value.sparklineDimension ? [n.value.sparklineDimension] : [],
1535
- label: l(m)("report.section.dimension.sparklineDimension"),
1536
- max: 1,
1537
- options: b.value,
1538
- "onUpdate:modelValue": t[13] || (t[13] = (g) => {
1539
- n.value.sparklineDimension = g[0];
1540
- })
1541
- }, null, 8, ["model-value", "label", "options"])) : U("", !0),
1542
- u(xl, {
1543
- modelValue: n.value.metrics,
1544
- "onUpdate:modelValue": t[14] || (t[14] = (g) => n.value.metrics = g),
1545
- options: b.value,
1546
- max: f.config.maxMetric,
1547
- config: n.value,
1548
- "has-row-column": f.config.type === l(B).Table,
1549
- onConfig: t[15] || (t[15] = (g) => {
1550
- n.value = g;
1551
- })
1552
- }, null, 8, ["modelValue", "options", "max", "config", "has-row-column"]),
1553
- u(Ge, {
1554
- modelValue: n.value.filters,
1555
- "onUpdate:modelValue": t[16] || (t[16] = (g) => n.value.filters = g),
1556
- options: b.value
1557
- }, null, 8, ["modelValue", "options"]),
1558
- u(Tl, {
1559
- modelValue: n.value.sorts,
1560
- "onUpdate:modelValue": t[17] || (t[17] = (g) => n.value.sorts = g),
1561
- options: b.value
1562
- }, null, 8, ["modelValue", "options"]),
1563
- u($l, {
1564
- modelValue: n.value.limit,
1565
- "onUpdate:modelValue": t[18] || (t[18] = (g) => n.value.limit = g)
1566
- }, null, 8, ["modelValue"]),
1567
- n.value.conditions ? (h(), T(Ll, {
1568
- key: 9,
1569
- modelValue: n.value.conditions,
1570
- "onUpdate:modelValue": t[19] || (t[19] = (g) => n.value.conditions = g),
1571
- "join-field-options": b.value,
1572
- "main-field-options": O.value
1573
- }, null, 8, ["modelValue", "join-field-options", "main-field-options"])) : U("", !0)
1574
- ]),
1575
- _: 1
1576
- });
1577
- };
1578
- }
1579
- }), Rl = { class: "fm-typo-en-title-sm-600" }, Ce = /* @__PURE__ */ X({
1580
- __name: "TileEditorTabHeader",
1581
- props: /* @__PURE__ */ G({
1582
- icon: {
1583
- type: String,
1584
- required: !0
1585
- }
1586
- }, {
1587
- modelValue: { type: Boolean, required: !0, default: !1 },
1588
- modelModifiers: {}
1589
- }),
1590
- emits: ["update:modelValue"],
1591
- setup(w) {
1592
- const { t: p } = Y(), o = le(w, "modelValue"), s = w;
1593
- return (n, f) => {
1594
- const V = x("FmIcon");
1595
- return h(), I("div", {
1596
- class: "px-6 py-16 flex items-center gap-2 bg-fm-color-neutral-white border cursor-pointer",
1597
- onClick: f[0] || (f[0] = (v) => o.value = !o.value)
1598
- }, [
1599
- C("p", Rl, j(l(p)("report.tile.setting")), 1),
1600
- f[1] || (f[1] = C("div", { class: "grow" }, null, -1)),
1601
- u(V, {
1602
- name: s.icon
1603
- }, null, 8, ["name"])
1604
- ]);
1605
- };
1606
- }
1607
- }), Ml = /* @__PURE__ */ X({
1608
- __name: "TileEditorTabDesktop",
1609
- props: {
1610
- modelValue: { required: !0, default: !1 },
1611
- modelModifiers: {}
1612
- },
1613
- emits: ["update:modelValue"],
1614
- setup(w) {
1615
- const p = le(w, "modelValue");
1616
- return (o, s) => (h(), I(ee, null, [
1617
- u(Ce, {
1618
- modelValue: p.value,
1619
- "onUpdate:modelValue": s[0] || (s[0] = (n) => p.value = n),
1620
- icon: "keyboard_double_arrow_left"
1621
- }, null, 8, ["modelValue"]),
1622
- Ne(o.$slots, "default")
1623
- ], 64));
1624
- }
1625
- }), zl = { class: "fixed bottom-0 w-full" }, Pl = /* @__PURE__ */ X({
1626
- __name: "TileEditorTabMobile",
1627
- props: {
1628
- modelValue: { required: !0, default: !1 },
1629
- modelModifiers: {}
1630
- },
1631
- emits: ["update:modelValue"],
1632
- setup(w) {
1633
- const p = le(w, "modelValue");
1634
- return (o, s) => {
1635
- const n = x("FmTopSheet");
1636
- return h(), I("div", zl, [
1637
- u(Ce, {
1638
- modelValue: p.value,
1639
- "onUpdate:modelValue": s[0] || (s[0] = (f) => p.value = f),
1640
- icon: "keyboard_double_arrow_up"
1641
- }, null, 8, ["modelValue"]),
1642
- u(n, {
1643
- modelValue: p.value,
1644
- "onUpdate:modelValue": s[2] || (s[2] = (f) => p.value = f),
1645
- "fullscreen-size": "sm"
1646
- }, {
1647
- default: $(() => [
1648
- u(Ce, {
1649
- modelValue: p.value,
1650
- "onUpdate:modelValue": s[1] || (s[1] = (f) => p.value = f),
1651
- icon: "keyboard_double_arrow_down"
1652
- }, null, 8, ["modelValue"]),
1653
- p.value ? Ne(o.$slots, "default", { key: 0 }) : U("", !0)
1654
- ]),
1655
- _: 3
1656
- }, 8, ["modelValue"])
1657
- ]);
1658
- };
1659
- }
1660
- }), Al = { class: "flex gap-16" }, Xl = { class: "flex flex-col gap-8 max-w-[120px]" }, Wl = { class: "fm-typo-en-body-lg-600" }, ql = { class: "flex flex-col gap-16" }, Hl = { class: "flex flex-row gap-8" }, Yl = /* @__PURE__ */ X({
1661
- __name: "TitleSection",
1662
- props: {
1663
- model: {}
1664
- },
1665
- emits: ["update:model"],
1666
- setup(w, { emit: p }) {
1667
- const o = w, s = p, { t: n } = Y(), f = _({
1668
- get: () => o.model.showTitle ?? !1,
1669
- set: (i) => s("update:model", { ...o.model, showTitle: i })
1670
- }), V = _({
1671
- get: () => o.model.titleFontSize ?? 14,
1672
- set: (i) => s("update:model", { ...o.model, titleFontSize: Math.min(Number(i), 24) })
1673
- }), v = _({
1674
- get: () => o.model.titleBold ?? !1,
1675
- set: (i) => s("update:model", { ...o.model, titleBold: i })
1676
- }), m = _({
1677
- get: () => o.model.titleItalic ?? !1,
1678
- set: (i) => s("update:model", { ...o.model, titleItalic: i })
1679
- }), a = _({
1680
- get: () => o.model.titleUnderline ?? !1,
1681
- set: (i) => s("update:model", { ...o.model, titleUnderline: i })
1682
- });
1683
- return (i, F) => {
1684
- const S = x("FmStepperField"), D = x("FmButton"), O = x("FmSwitch");
1685
- return h(), I(ee, null, [
1686
- C("div", null, [
1687
- C("div", Al, [
1688
- C("div", Xl, [
1689
- C("p", Wl, j(l(n)("report.section.datasource.title.titleFontSize")), 1),
1690
- u(S, {
1691
- modelValue: V.value,
1692
- "onUpdate:modelValue": F[0] || (F[0] = (b) => V.value = b),
1693
- max: 24,
1694
- min: 1,
1695
- type: "number"
1696
- }, null, 8, ["modelValue"])
1697
- ]),
1698
- C("div", ql, [
1699
- F[5] || (F[5] = C("p", { class: "fm-typo-en-body-lg-600" }, "Text style and format", -1)),
1700
- C("div", Hl, [
1701
- u(D, {
1702
- "append-icon": "format_bold",
1703
- "model-value": i.model.titleBold ?? !1,
1704
- variant: "tertiary",
1705
- "icon-color": i.model.titleBold ? "neutral-gray-400" : "neutral-gray-300",
1706
- "bg-color": i.model.titleBold ? "neutral-gray-100" : "neutral-white",
1707
- class: "rounded-sm",
1708
- onClick: F[1] || (F[1] = (b) => v.value = !v.value)
1709
- }, null, 8, ["model-value", "icon-color", "bg-color"]),
1710
- u(D, {
1711
- "append-icon": "format_italic",
1712
- "model-value": i.model.titleItalic ?? !1,
1713
- "icon-color": i.model.titleItalic ? "neutral-gray-400" : "neutral-gray-300",
1714
- "bg-color": i.model.titleItalic ? "neutral-gray-100" : "neutral-white",
1715
- class: "rounded-sm",
1716
- onClick: F[2] || (F[2] = (b) => m.value = !m.value)
1717
- }, null, 8, ["model-value", "icon-color", "bg-color"]),
1718
- u(D, {
1719
- "append-icon": "format_underlined",
1720
- "model-value": i.model.titleUnderline ?? !1,
1721
- "icon-color": i.model.titleUnderline ? "neutral-gray-400" : "neutral-gray-300",
1722
- "bg-color": i.model.titleUnderline ? "neutral-gray-100" : "neutral-white",
1723
- class: "rounded-sm",
1724
- onClick: F[3] || (F[3] = (b) => a.value = !a.value)
1725
- }, null, 8, ["model-value", "icon-color", "bg-color"])
1726
- ])
1727
- ])
1728
- ])
1729
- ]),
1730
- u(O, {
1731
- modelValue: f.value,
1732
- "onUpdate:modelValue": F[4] || (F[4] = (b) => f.value = b),
1733
- label: l(n)("report.section.datasource.title.showTitle"),
1734
- "label-placement": "right"
1735
- }, null, 8, ["modelValue", "label"])
1736
- ], 64);
1737
- };
1738
- }
1739
- }), El = { class: "flex gap-16 justify-center items-center" }, Jl = { class: "fm-typo-en-title-sm-600" }, Gl = { class: "fm-typo-en-body-lg-600" }, Kl = { class: "fm-typo-en-body-md-400 text-fm-color-typo-tertiary" }, Ql = { class: "h-[40x]" }, $e = "YYYY-MM-DD", Ae = /* @__PURE__ */ X({
1740
- __name: "TileEditorTab",
1741
- props: /* @__PURE__ */ G({
1742
- hideConfiguration: {
1743
- type: Boolean,
1744
- default: !1
1745
- }
1746
- }, {
1747
- modelValue: {
1748
- required: !0
1749
- },
1750
- modelModifiers: {}
1751
- }),
1752
- emits: /* @__PURE__ */ G(["hideConfiguration"], ["update:modelValue"]),
1753
- setup(w, { emit: p }) {
1754
- var e, r;
1755
- const o = Re(), { dateRange: s, timezone: n } = ue(o), f = {
1756
- startDate: s.value.startDate,
1757
- endDate: s.value.endDate
1758
- }, V = q({
1759
- startDate: (e = ce(s.value.startDate)) == null ? void 0 : e.tz(n.value).format($e),
1760
- endDate: (r = ce(s.value.endDate)) == null ? void 0 : r.tz(n.value).format($e)
1761
- });
1762
- se(
1763
- V,
1764
- ({ startDate: k, endDate: g }) => {
1765
- s.value = {
1766
- startDate: ce(k).toISOString(),
1767
- endDate: ce(g).toISOString()
1768
- };
1769
- },
1770
- { deep: !0, immediate: !0 }
1771
- ), We(() => {
1772
- s.value = { ...f };
1773
- });
1774
- const v = le(w, "modelValue"), { breakpoints: m } = Me(), a = w, { promptMessage: i } = Le(), F = p, { t: S } = Y();
1775
- function D(k) {
1776
- v.value = yl(k);
1777
- }
1778
- function O() {
1779
- const k = [...v.value.widget.config.joinDatasources || []];
1780
- k.push({ ...Qe(v.value.widget.type), conditions: [] }), D({
1781
- ...v.value,
1782
- widget: {
1783
- ...v.value.widget,
1784
- config: {
1785
- ...v.value.widget.config,
1786
- joinDatasources: k
1787
- }
1788
- }
1789
- });
1790
- }
1791
- async function b(k) {
1792
- if (!await i({
1793
- title: S("report.tile.datasource.remove"),
1794
- message: S("report.tile.datasource.confirmRemove", { index: k + 1 })
1795
- })) return;
1796
- const R = [...v.value.widget.config.joinDatasources || []];
1797
- R.splice(k, 1), D({
1798
- ...v.value,
1799
- widget: {
1800
- ...v.value.widget,
1801
- config: {
1802
- ...v.value.widget.config,
1803
- joinDatasources: R
1804
- }
1805
- }
1806
- });
1807
- }
1808
- const y = (k, g) => {
1809
- let R = 1, M = 1;
1810
- switch (k) {
1811
- case B.Scorecard:
1812
- R = 1, M = 2;
1813
- break;
1814
- case B.BarChart:
1815
- case B.StackBarChart:
1816
- case B.LineChart:
1817
- case B.StackLineChart:
1818
- R = 4, M = 6;
1819
- break;
1820
- case B.Table:
1821
- R = 4, M = 12;
1822
- break;
1823
- case B.Circular:
1824
- R = 4, M = 4;
1825
- break;
1826
- case B.Spacer:
1827
- R = 0, M = 12;
1828
- break;
1829
- }
1830
- return {
1831
- size: {
1832
- height: R,
1833
- width: M
1834
- },
1835
- widget: {
1836
- ...g.widget,
1837
- type: k
1838
- }
1839
- };
1840
- }, d = _(
1841
- () => he.find((k) => k.type === v.value.widget.type)
1842
- ), c = _(() => v.value.widget.config.joinDatasources), t = be((k) => {
1843
- v.value.widget.title = k;
1844
- }, 500);
1845
- return se(
1846
- () => v.value.size.height,
1847
- (k) => {
1848
- k < 1 && (v.value.size.height = 1), k > 12 && (v.value.size.height = 12);
1849
- }
1850
- ), se(
1851
- () => v.value.size.width,
1852
- (k) => {
1853
- k < 1 && (v.value.size.width = 1), k > 12 && (v.value.size.width = 12);
1854
- }
1855
- ), (k, g) => {
1856
- const R = x("FmCircularProgress"), M = x("FmSimpleDateRangePicker"), A = x("FmTextField"), H = x("FmTextarea"), E = x("FmStepperField"), oe = x("FmButton"), N = x("FmForm");
1857
- return h(), T(Oe(l(m).lg || l(m).md ? Ml : Pl), {
1858
- "model-value": a.hideConfiguration,
1859
- "onUpdate:modelValue": g[8] || (g[8] = (L) => F("hideConfiguration", L))
1860
- }, {
1861
- default: $(() => [
1862
- v.value ? (h(), T(N, {
1863
- key: 1,
1864
- ref: "form",
1865
- class: "px-6 py-16 flex flex-col gap-24 overflow-y-auto overflow-x-hidden"
1866
- }, {
1867
- default: $(() => [
1868
- C("div", El, [
1869
- u(M, {
1870
- modelValue: V.value,
1871
- "onUpdate:modelValue": g[0] || (g[0] = (L) => V.value = L)
1872
- }, null, 8, ["modelValue"])
1873
- ]),
1874
- u(we, null, {
1875
- header: $(() => [
1876
- C("p", Jl, j(l(S)("report.tile.widget.details")), 1),
1877
- g[9] || (g[9] = C("div", { class: "grow" }, null, -1))
1878
- ]),
1879
- content: $(() => [
1880
- u(A, {
1881
- "model-value": v.value.widget.title,
1882
- label: l(S)("report.tile.widget.title"),
1883
- placeholder: l(S)("report.tile.widget.titlePlaceholder"),
1884
- "onUpdate:modelValue": l(t)
1885
- }, null, 8, ["model-value", "label", "placeholder", "onUpdate:modelValue"]),
1886
- u(H, {
1887
- modelValue: v.value.widget.description,
1888
- "onUpdate:modelValue": g[1] || (g[1] = (L) => v.value.widget.description = L),
1889
- disabled: v.value.widget.title === "",
1890
- placeholder: l(S)("report.tile.widget.descriptionPlaceholder"),
1891
- "helper-text": l(S)("report.tile.widget.descriptionHelper")
1892
- }, {
1893
- label: $(() => [
1894
- C("p", Gl, j(l(S)("report.tile.widget.widgetDescription")), 1),
1895
- C("p", Kl, " (" + j(l(S)("report.tile.widget.optional")) + ") ", 1)
1896
- ]),
1897
- _: 1
1898
- }, 8, ["modelValue", "disabled", "placeholder", "helper-text"]),
1899
- u(Yl, {
1900
- model: v.value.widget.config,
1901
- "onUpdate:model": g[2] || (g[2] = (L) => v.value.widget.config = L)
1902
- }, null, 8, ["model"]),
1903
- C("div", {
1904
- class: Ie(["flex flex-row", `${l(m).sm || l(m).xs ? "gap-16" : "gap-2"}`])
1905
- }, [
1906
- u(E, {
1907
- modelValue: v.value.size.width,
1908
- "onUpdate:modelValue": g[3] || (g[3] = (L) => v.value.size.width = L),
1909
- label: l(S)("report.tile.widget.width"),
1910
- min: 1,
1911
- max: 12
1912
- }, null, 8, ["modelValue", "label"]),
1913
- u(E, {
1914
- modelValue: v.value.size.height,
1915
- "onUpdate:modelValue": g[4] || (g[4] = (L) => v.value.size.height = L),
1916
- label: l(S)("report.tile.widget.height"),
1917
- min: 1,
1918
- max: 12,
1919
- disabled: v.value.widget.type === l(B).Scorecard
1920
- }, null, 8, ["modelValue", "label", "disabled"])
1921
- ], 2)
1922
- ]),
1923
- _: 1
1924
- }),
1925
- u(we, null, {
1926
- header: $(() => [
1927
- C("p", null, j(l(S)("report.tile.widget.type")), 1),
1928
- g[10] || (g[10] = C("div", { class: "grow" }, null, -1))
1929
- ]),
1930
- content: $(() => [
1931
- u(Ke, {
1932
- "is-list": !0,
1933
- "model-value": v.value.widget.type,
1934
- class: "grid grid-cols-1 gap-2",
1935
- "child-class": "flex flex-row p-[8px] gap-2",
1936
- "exclude-widge-type": [l(B).Spacer],
1937
- "onUpdate:modelValue": g[5] || (g[5] = (L) => v.value = y(L, v.value))
1938
- }, null, 8, ["model-value", "exclude-widge-type"])
1939
- ]),
1940
- _: 1
1941
- }),
1942
- u(De, {
1943
- modelValue: v.value.widget.config,
1944
- "onUpdate:modelValue": g[6] || (g[6] = (L) => v.value.widget.config = L),
1945
- label: l(S)("report.tile.datasource.main"),
1946
- config: d.value
1947
- }, null, 8, ["modelValue", "label", "config"]),
1948
- c.value ? (h(!0), I(ee, { key: 0 }, de(c.value, (L, W) => (h(), I("div", { key: W }, [
1949
- u(De, {
1950
- modelValue: c.value[W],
1951
- "onUpdate:modelValue": (K) => c.value[W] = K,
1952
- label: l(S)("report.tile.datasource.join", { index: W + 1 }),
1953
- config: d.value,
1954
- "main-datasource-config": v.value.widget.config,
1955
- closeable: !0,
1956
- onClickClose: (K) => b(W)
1957
- }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "config", "main-datasource-config", "onClickClose"])
1958
- ]))), 128)) : U("", !0),
1959
- C("div", Ql, [
1960
- u(oe, {
1961
- label: l(S)("report.tile.datasource.joinButton"),
1962
- variant: "secondary",
1963
- icon: "add",
1964
- "icon-position": "prepend",
1965
- "border-color": l(ve).ColorPrimary,
1966
- "text-color": l(ve).ColorPrimary,
1967
- class: "w-full",
1968
- onClick: g[7] || (g[7] = (L) => O())
1969
- }, null, 8, ["label", "border-color", "text-color"])
1970
- ])
1971
- ]),
1972
- _: 1
1973
- }, 512)) : (h(), T(R, { key: 0 }))
1974
- ]),
1975
- _: 1
1976
- }, 8, ["model-value"]);
1977
- };
1978
- }
1979
- }), Zl = { class: "flex flex-col gap-8" }, eo = { class: "pl-32 flex flex-col gap-8" }, lo = { class: "fm-typo-en-body-lg-600" }, oo = { class: "flex flex-row gap-8" }, ao = { class: "fm-typo-en-body-lg-600" }, to = { class: "flex flex-row gap-8" }, no = /* @__PURE__ */ X({
1980
- __name: "LabelSection",
1981
- props: {
1982
- model: {}
1983
- },
1984
- emits: ["update:model"],
1985
- setup(w, { emit: p }) {
1986
- const o = w, s = p, { t: n } = Y(), f = _({
1987
- get: () => o.model.showLabel ?? !1,
1988
- set: (D) => {
1989
- s("update:model", { ...o.model, showLabel: D });
1990
- }
1991
- }), V = _({
1992
- get: () => o.model.labelRotation ?? 0,
1993
- set: (D) => s("update:model", { ...o.model, labelRotation: D })
1994
- }), v = _({
1995
- get: () => o.model.labelOffset ?? 0,
1996
- set: (D) => s("update:model", { ...o.model, labelOffset: D })
1997
- }), m = _({
1998
- get: () => o.model.labelFontSize ?? 12,
1999
- set: (D) => s("update:model", { ...o.model, labelFontSize: D })
2000
- }), a = (D) => {
2001
- s("update:model", {
2002
- ...o.model,
2003
- labelAlign: o.model.labelAlign === D ? void 0 : D
2004
- });
2005
- }, i = (D) => {
2006
- s("update:model", {
2007
- ...o.model,
2008
- labelAnchor: o.model.labelAnchor === D ? void 0 : D
2009
- });
2010
- }, F = [
2011
- { icon: "align_horizontal_left", value: ie.left, tooltip: "alignLeft" },
2012
- { icon: "align_justify_center", value: ie.center, tooltip: "alignCenter" },
2013
- { icon: "align_horizontal_right", value: ie.right, tooltip: "alignRight" },
2014
- { icon: "align_justify_flex_start", value: ie.start, tooltip: "alignStart" },
2015
- { icon: "align_justify_flex_end", value: ie.end, tooltip: "alignEnd" },
2016
- { icon: "align_flex_start", value: ie.top, tooltip: "alignTop" },
2017
- { icon: "align_flex_end", value: ie.bottom, tooltip: "alignBottom" }
2018
- ], S = [
2019
- { icon: "format_align_left", value: Ve.start, tooltip: "anchorStart" },
2020
- { icon: "format_align_center", value: Ve.center, tooltip: "anchorCenter" },
2021
- { icon: "format_align_right", value: Ve.end, tooltip: "anchorEnd" }
2022
- ];
2023
- return (D, O) => {
2024
- const b = x("FmCheckbox"), y = x("FmButton"), d = x("FmTooltip"), c = x("FmTextField"), t = x("FmStepperField");
2025
- return h(), I("div", Zl, [
2026
- u(b, {
2027
- modelValue: f.value,
2028
- "onUpdate:modelValue": O[0] || (O[0] = (e) => f.value = e),
2029
- value: !1,
2030
- label: l(n)("report.section.datasource.label.showLabel"),
2031
- "label-placement": "right",
2032
- class: "fm-typo-en-body-lg-400"
2033
- }, null, 8, ["modelValue", "label"]),
2034
- te(C("div", eo, [
2035
- C("p", lo, j(l(n)("report.section.datasource.alignment.textAlignment")), 1),
2036
- C("div", oo, [
2037
- (h(), I(ee, null, de(F, ({ icon: e, value: r, tooltip: k }) => u(d, {
2038
- key: r,
2039
- variant: "plain",
2040
- placement: "top",
2041
- content: l(n)(`report.section.datasource.alignment.alignOptions.${k}`),
2042
- "z-index": 50
2043
- }, {
2044
- default: $(() => [
2045
- u(y, {
2046
- "append-icon": e,
2047
- variant: "tertiary",
2048
- "icon-color": D.model.labelAlign === r ? "neutral-gray-400" : "neutral-gray-300",
2049
- "bg-color": D.model.labelAlign === r ? "neutral-gray-100" : "neutral-white",
2050
- class: "rounded-sm",
2051
- onClick: (g) => a(r)
2052
- }, null, 8, ["append-icon", "icon-color", "bg-color", "onClick"])
2053
- ]),
2054
- _: 2
2055
- }, 1032, ["content"])), 64))
2056
- ]),
2057
- C("p", ao, j(l(n)("report.section.datasource.alignment.anchor")), 1),
2058
- C("div", to, [
2059
- (h(), I(ee, null, de(S, ({ icon: e, value: r, tooltip: k }) => u(d, {
2060
- key: r,
2061
- variant: "plain",
2062
- placement: "top",
2063
- content: l(n)(`report.section.datasource.alignment.anchorOptions.${k}`),
2064
- "z-index": 50
2065
- }, {
2066
- default: $(() => [
2067
- u(y, {
2068
- "append-icon": e,
2069
- variant: "tertiary",
2070
- "icon-color": D.model.labelAnchor === r ? "neutral-gray-400" : "neutral-gray-300",
2071
- "bg-color": D.model.labelAnchor === r ? "neutral-gray-100" : "neutral-white",
2072
- class: "rounded-sm",
2073
- onClick: (g) => i(r)
2074
- }, null, 8, ["append-icon", "icon-color", "bg-color", "onClick"])
2075
- ]),
2076
- _: 2
2077
- }, 1032, ["content"])), 64))
2078
- ]),
2079
- u(c, {
2080
- modelValue: V.value,
2081
- "onUpdate:modelValue": O[1] || (O[1] = (e) => V.value = e),
2082
- label: l(n)("report.section.datasource.alignment.rotation"),
2083
- type: "number",
2084
- min: -180,
2085
- max: 180,
2086
- step: 1
2087
- }, null, 8, ["modelValue", "label"]),
2088
- u(c, {
2089
- modelValue: v.value,
2090
- "onUpdate:modelValue": O[2] || (O[2] = (e) => v.value = e),
2091
- label: l(n)("report.section.datasource.alignment.offset"),
2092
- type: "number"
2093
- }, null, 8, ["modelValue", "label"]),
2094
- u(t, {
2095
- modelValue: m.value,
2096
- "onUpdate:modelValue": O[3] || (O[3] = (e) => m.value = e),
2097
- label: l(n)("report.section.datasource.fontSize"),
2098
- type: "number",
2099
- min: 1
2100
- }, null, 8, ["modelValue", "label"])
2101
- ], 512), [
2102
- [ne, f.value]
2103
- ])
2104
- ]);
2105
- };
2106
- }
2107
- }), io = { class: "flex flex-col gap-8" }, so = { class: "pl-32 flex flex-col gap-8" }, uo = { class: "pl-32 flex flex-col gap-8" }, ro = { class: "pl-32 flex flex-col gap-8" }, mo = { class: "pl-32 flex flex-col gap-8" }, po = { class: "pl-32 flex flex-col gap-8" }, co = { class: "pl-32 flex flex-col gap-8" }, vo = /* @__PURE__ */ X({
2108
- __name: "XySection",
2109
- props: {
2110
- model: {}
2111
- },
2112
- emits: ["update:model"],
2113
- setup(w, { emit: p }) {
2114
- const o = w, s = p, { t: n } = Y(), f = _({
2115
- get: () => o.model.showX ?? !0,
2116
- set: (b) => {
2117
- s("update:model", { ...o.model, showX: b });
2118
- }
2119
- }), V = _({
2120
- get: () => o.model.showXGrid ?? !1,
2121
- set: (b) => {
2122
- s("update:model", { ...o.model, showXGrid: b });
2123
- }
2124
- }), v = _({
2125
- get: () => o.model.showXTick ?? !0,
2126
- set: (b) => {
2127
- s("update:model", { ...o.model, showXTick: b });
2128
- }
2129
- }), m = _({
2130
- get: () => o.model.showY ?? !0,
2131
- set: (b) => {
2132
- s("update:model", { ...o.model, showY: b });
2133
- }
2134
- }), a = _({
2135
- get: () => o.model.showYGrid ?? !0,
2136
- set: (b) => {
2137
- s("update:model", { ...o.model, showYGrid: b });
2138
- }
2139
- }), i = _({
2140
- get: () => o.model.showYTick ?? !0,
2141
- set: (b) => {
2142
- s("update:model", { ...o.model, showYTick: b });
2143
- }
2144
- }), F = _({
2145
- get: () => o.model.showXTitle ?? !1,
2146
- set: (b) => {
2147
- s("update:model", { ...o.model, showXTitle: b });
2148
- }
2149
- }), S = _({
2150
- get: () => o.model.showYTitle ?? !1,
2151
- set: (b) => {
2152
- s("update:model", { ...o.model, showYTitle: b });
2153
- }
2154
- }), D = be((b) => {
2155
- s("update:model", { ...o.model, xTitle: b });
2156
- }, 500), O = be((b) => {
2157
- s("update:model", { ...o.model, yTitle: b });
2158
- }, 500);
2159
- return ke(() => {
2160
- var b, y, d, c;
2161
- !o.model.xTitle && ((y = (b = o.model.metrics) == null ? void 0 : b[0]) != null && y.label) && D(o.model.metrics[0].label), !o.model.yTitle && ((c = (d = o.model.dimensions) == null ? void 0 : d[0]) != null && c.label) && O(o.model.dimensions[0].label);
2162
- }), (b, y) => {
2163
- const d = x("FmCheckbox"), c = x("FmStepperField"), t = x("FmTextField");
2164
- return h(), I("div", io, [
2165
- u(d, {
2166
- modelValue: f.value,
2167
- "onUpdate:modelValue": y[0] || (y[0] = (e) => f.value = e),
2168
- label: l(n)("report.section.datasource.axis.showX"),
2169
- "label-placement": "right",
2170
- value: !0
2171
- }, null, 8, ["modelValue", "label"]),
2172
- te(C("div", so, [
2173
- u(d, {
2174
- modelValue: V.value,
2175
- "onUpdate:modelValue": y[1] || (y[1] = (e) => V.value = e),
2176
- label: l(n)("report.section.datasource.axis.showGrid"),
2177
- "label-placement": "right",
2178
- value: !1
2179
- }, null, 8, ["modelValue", "label"]),
2180
- u(d, {
2181
- modelValue: v.value,
2182
- "onUpdate:modelValue": y[2] || (y[2] = (e) => v.value = e),
2183
- label: l(n)("report.section.datasource.axis.showTick"),
2184
- "label-placement": "right",
2185
- value: !0
2186
- }, null, 8, ["modelValue", "label"]),
2187
- te(C("div", uo, [
2188
- u(c, {
2189
- label: l(n)("report.section.datasource.fontSize"),
2190
- type: "number",
2191
- "model-value": b.model.xTickFontSize ?? 12,
2192
- min: 1,
2193
- "onUpdate:modelValue": y[3] || (y[3] = (e) => {
2194
- s("update:model", { ...b.model, xTickFontSize: Number(e) });
2195
- })
2196
- }, null, 8, ["label", "model-value"])
2197
- ], 512), [
2198
- [ne, b.model.showXTick ?? !0]
2199
- ]),
2200
- u(d, {
2201
- modelValue: F.value,
2202
- "onUpdate:modelValue": y[4] || (y[4] = (e) => F.value = e),
2203
- label: l(n)("report.section.datasource.axis.showTitle"),
2204
- "label-placement": "right",
2205
- value: !0
2206
- }, null, 8, ["modelValue", "label"]),
2207
- te(C("div", ro, [
2208
- u(t, {
2209
- "model-value": b.model.xTitle,
2210
- label: l(n)("report.common.title"),
2211
- placeholder: l(n)("report.tile.widget.titlePlaceholder"),
2212
- "onUpdate:modelValue": l(D)
2213
- }, null, 8, ["model-value", "label", "placeholder", "onUpdate:modelValue"]),
2214
- u(c, {
2215
- label: l(n)("report.section.datasource.fontSize"),
2216
- type: "number",
2217
- "model-value": b.model.xTitleFontSize ?? 12,
2218
- min: 1,
2219
- "onUpdate:modelValue": y[5] || (y[5] = (e) => {
2220
- s("update:model", { ...b.model, xTitleFontSize: Number(e) });
2221
- })
2222
- }, null, 8, ["label", "model-value"])
2223
- ], 512), [
2224
- [ne, F.value]
2225
- ])
2226
- ], 512), [
2227
- [ne, b.model.showX ?? !0]
2228
- ]),
2229
- u(d, {
2230
- modelValue: m.value,
2231
- "onUpdate:modelValue": y[6] || (y[6] = (e) => m.value = e),
2232
- label: l(n)("report.section.datasource.axis.showY"),
2233
- "label-placement": "right",
2234
- value: !0
2235
- }, null, 8, ["modelValue", "label"]),
2236
- te(C("div", mo, [
2237
- u(d, {
2238
- modelValue: a.value,
2239
- "onUpdate:modelValue": y[7] || (y[7] = (e) => a.value = e),
2240
- label: l(n)("report.section.datasource.axis.showGrid"),
2241
- "label-placement": "right",
2242
- value: !1
2243
- }, null, 8, ["modelValue", "label"]),
2244
- u(d, {
2245
- modelValue: i.value,
2246
- "onUpdate:modelValue": y[8] || (y[8] = (e) => i.value = e),
2247
- label: l(n)("report.section.datasource.axis.showTick"),
2248
- "label-placement": "right",
2249
- value: !0
2250
- }, null, 8, ["modelValue", "label"]),
2251
- te(C("div", po, [
2252
- u(c, {
2253
- label: l(n)("report.section.datasource.fontSize"),
2254
- type: "number",
2255
- "model-value": b.model.yTickFontSize ?? 12,
2256
- min: 1,
2257
- "onUpdate:modelValue": y[9] || (y[9] = (e) => {
2258
- s("update:model", { ...b.model, yTickFontSize: Number(e) });
2259
- })
2260
- }, null, 8, ["label", "model-value"])
2261
- ], 512), [
2262
- [ne, b.model.showYTick ?? !0]
2263
- ]),
2264
- u(d, {
2265
- modelValue: S.value,
2266
- "onUpdate:modelValue": y[10] || (y[10] = (e) => S.value = e),
2267
- label: l(n)("report.section.datasource.axis.showTitle"),
2268
- "label-placement": "right",
2269
- value: !0
2270
- }, null, 8, ["modelValue", "label"]),
2271
- te(C("div", co, [
2272
- u(t, {
2273
- "model-value": b.model.yTitle,
2274
- label: l(n)("report.common.title"),
2275
- placeholder: l(n)("report.tile.widget.titlePlaceholder"),
2276
- "onUpdate:modelValue": l(O)
2277
- }, null, 8, ["model-value", "label", "placeholder", "onUpdate:modelValue"]),
2278
- u(c, {
2279
- label: l(n)("report.section.datasource.fontSize"),
2280
- type: "number",
2281
- "model-value": b.model.yTitleFontSize ?? 12,
2282
- min: 1,
2283
- "onUpdate:modelValue": y[11] || (y[11] = (e) => {
2284
- s("update:model", { ...b.model, yTitleFontSize: Number(e) });
2285
- })
2286
- }, null, 8, ["label", "model-value"])
2287
- ], 512), [
2288
- [ne, S.value]
2289
- ])
2290
- ], 512), [
2291
- [ne, b.model.showY ?? !0]
2292
- ])
2293
- ]);
2294
- };
2295
- }
2296
- }), fo = { class: "flex flex-col gap-8" }, go = { class: "pl-32 flex flex-col gap-8" }, bo = /* @__PURE__ */ X({
2297
- __name: "LegendSection",
2298
- props: {
2299
- model: {},
2300
- isCircularWidget: { type: Boolean }
2301
- },
2302
- emits: ["update:model"],
2303
- setup(w, { emit: p }) {
2304
- const o = w, s = p, { t: n } = Y(), f = [
2305
- { label: n("report.section.datasource.position.top"), value: "top" },
2306
- { label: n("report.section.datasource.position.bottom"), value: "bottom" },
2307
- { label: n("report.section.datasource.position.left"), value: "left" },
2308
- { label: n("report.section.datasource.position.right"), value: "right" }
2309
- ], V = _({
2310
- get: () => o.model.showLegend !== void 0 ? o.model.showLegend : o.isCircularWidget === !0,
2311
- set: (i) => {
2312
- s("update:model", { ...o.model, showLegend: i });
2313
- }
2314
- }), v = _({
2315
- get: () => o.model.usePointStyle ?? !0,
2316
- set: (i) => {
2317
- s("update:model", { ...o.model, usePointStyle: i });
2318
- }
2319
- }), m = _({
2320
- get: () => o.model.legendMaxHeight ?? 54,
2321
- set: (i) => {
2322
- s("update:model", { ...o.model, legendMaxHeight: i });
2323
- }
2324
- }), a = _({
2325
- get: () => o.model.legendMaxWidth ?? 54,
2326
- set: (i) => {
2327
- s("update:model", { ...o.model, legendMaxWidth: i });
2328
- }
2329
- });
2330
- return (i, F) => {
2331
- const S = x("FmCheckbox"), D = x("FmSelect"), O = x("FmStepperField");
2332
- return h(), I("div", fo, [
2333
- u(S, {
2334
- modelValue: V.value,
2335
- "onUpdate:modelValue": F[0] || (F[0] = (b) => V.value = b),
2336
- class: "fm-typo-en-body-lg-400",
2337
- value: !1,
2338
- label: l(n)("report.section.datasource.legend.showLegend")
2339
- }, null, 8, ["modelValue", "label"]),
2340
- te(C("div", go, [
2341
- u(D, {
2342
- label: l(n)("report.section.datasource.position.showPosition"),
2343
- items: f,
2344
- "model-value": i.model.legendPosition ?? "top",
2345
- "onUpdate:modelValue": F[1] || (F[1] = (b) => s("update:model", { ...i.model, legendPosition: b }))
2346
- }, null, 8, ["label", "model-value"]),
2347
- u(S, {
2348
- modelValue: v.value,
2349
- "onUpdate:modelValue": F[2] || (F[2] = (b) => v.value = b),
2350
- label: l(n)("report.section.datasource.legend.usePointStyle"),
2351
- value: !1
2352
- }, null, 8, ["modelValue", "label"]),
2353
- i.model.legendPosition === "top" || i.model.legendPosition === "bottom" || !i.model.legendPosition ? (h(), T(O, {
2354
- key: 0,
2355
- label: l(n)("report.section.datasource.legend.maxHeight"),
2356
- "model-value": m.value,
2357
- "onUpdate:modelValue": F[3] || (F[3] = (b) => s("update:model", { ...i.model, legendMaxHeight: b }))
2358
- }, null, 8, ["label", "model-value"])) : U("", !0),
2359
- i.model.legendPosition === "left" || i.model.legendPosition === "right" ? (h(), T(O, {
2360
- key: 1,
2361
- label: l(n)("report.section.datasource.legend.maxWidth"),
2362
- "model-value": a.value,
2363
- "onUpdate:modelValue": F[4] || (F[4] = (b) => s("update:model", { ...i.model, legendMaxWidth: b }))
2364
- }, null, 8, ["label", "model-value"])) : U("", !0)
2365
- ], 512), [
2366
- [ne, V.value]
2367
- ])
2368
- ]);
2369
- };
2370
- }
2371
- }), yo = { class: "flex flex-row gap-16" }, ho = /* @__PURE__ */ X({
2372
- __name: "ChartSizeSection",
2373
- props: {
2374
- model: {}
2375
- },
2376
- emits: ["update:model"],
2377
- setup(w, { emit: p }) {
2378
- const o = w, s = p, { t: n } = Y(), f = _({
2379
- get: () => o.model.chartHeight ?? null,
2380
- set: (v) => {
2381
- s("update:model", { ...o.model, chartHeight: v ?? void 0 });
2382
- }
2383
- }), V = _({
2384
- get: () => o.model.chartWidth ?? null,
2385
- set: (v) => {
2386
- s("update:model", { ...o.model, chartWidth: v ?? void 0 });
2387
- }
2388
- });
2389
- return (v, m) => {
2390
- const a = x("FmStepperField");
2391
- return h(), I("div", yo, [
2392
- u(a, {
2393
- modelValue: f.value,
2394
- "onUpdate:modelValue": m[0] || (m[0] = (i) => f.value = i),
2395
- type: "number",
2396
- label: l(n)("report.section.datasource.chartHeight"),
2397
- suffix: "px",
2398
- min: 1,
2399
- placeholder: "Auto"
2400
- }, null, 8, ["modelValue", "label"]),
2401
- u(a, {
2402
- modelValue: V.value,
2403
- "onUpdate:modelValue": m[1] || (m[1] = (i) => V.value = i),
2404
- type: "number",
2405
- label: l(n)("report.section.datasource.chartWidth"),
2406
- suffix: "px",
2407
- min: 1,
2408
- placeholder: "Auto"
2409
- }, null, 8, ["modelValue", "label"])
2410
- ]);
2411
- };
2412
- }
2413
- }), Vo = { class: "flex flex-col gap-16" }, Fo = { class: "flex flex-col gap-8" }, wo = { class: "flex flex-col gap-8" }, xo = /* @__PURE__ */ X({
2414
- __name: "StyleDatasource",
2415
- props: /* @__PURE__ */ G({
2416
- label: {
2417
- type: String,
2418
- default: "Label"
2419
- },
2420
- config: {
2421
- type: Object,
2422
- default: null
2423
- },
2424
- closeable: {
2425
- type: Boolean,
2426
- default: !1
2427
- },
2428
- mainDatasourceConfig: {
2429
- type: Object,
2430
- default: () => {
2431
- }
2432
- },
2433
- modelValue: {
2434
- type: Object,
2435
- default: () => {
2436
- }
2437
- }
2438
- }, {
2439
- modelValue: { required: !0 },
2440
- modelModifiers: {}
2441
- }),
2442
- emits: /* @__PURE__ */ G(["click-close"], ["update:modelValue"]),
2443
- setup(w, { emit: p }) {
2444
- const o = le(w, "modelValue");
2445
- se(
2446
- [() => o.value.dimensions, () => o.value.metrics],
2447
- () => {
2448
- const { rowIds: m, columnIds: a } = ye(o.value);
2449
- o.value.rowIds = m, o.value.columnIds = a;
2450
- },
2451
- { deep: !0 }
2452
- );
2453
- const s = w, n = p, { t: f, te: V } = Y(), v = _(() => s.config.type === B.Circular);
2454
- return (m, a) => {
2455
- const i = x("FmButton");
2456
- return h(), I(ee, null, [
2457
- a[6] || (a[6] = C("div", { class: "grow" }, null, -1)),
2458
- s.closeable ? (h(), T(i, {
2459
- key: 0,
2460
- icon: "close",
2461
- variant: "tertiary",
2462
- size: "md",
2463
- onClick: a[0] || (a[0] = ae((F) => n("click-close"), ["stop"]))
2464
- })) : U("", !0),
2465
- C("div", Vo, [
2466
- s.config.hasChart ? (h(), T(ho, {
2467
- key: 0,
2468
- model: o.value,
2469
- "onUpdate:model": a[1] || (a[1] = (F) => o.value = F)
2470
- }, null, 8, ["model"])) : U("", !0),
2471
- C("div", Fo, [
2472
- a[5] || (a[5] = C("p", { class: "fm-typo-en-body-lg-600" }, "Configuration", -1)),
2473
- C("div", wo, [
2474
- s.config.hasLabel ? (h(), T(no, {
2475
- key: 0,
2476
- model: o.value,
2477
- "onUpdate:model": a[2] || (a[2] = (F) => o.value = F)
2478
- }, null, 8, ["model"])) : U("", !0),
2479
- s.config.hasLegend ? (h(), T(bo, {
2480
- key: 1,
2481
- model: o.value,
2482
- "is-circular-widget": v.value,
2483
- "onUpdate:model": a[3] || (a[3] = (F) => o.value = F)
2484
- }, null, 8, ["model", "is-circular-widget"])) : U("", !0),
2485
- s.config.hasXy ? (h(), T(vo, {
2486
- key: 2,
2487
- model: o.value,
2488
- "onUpdate:model": a[4] || (a[4] = (F) => o.value = F)
2489
- }, null, 8, ["model"])) : U("", !0)
2490
- ])
2491
- ])
2492
- ])
2493
- ], 64);
2494
- };
2495
- }
2496
- }), Co = { class: "fixed bottom-6 right-6" }, ko = { class: "flex items-center gap-8" }, _o = /* @__PURE__ */ X({
2497
- __name: "StyleEditorTab",
2498
- props: {
2499
- modelValue: {
2500
- required: !0
2501
- },
2502
- modelModifiers: {}
2503
- },
2504
- emits: ["update:modelValue"],
2505
- setup(w) {
2506
- const { t: p } = Y(), o = le(w, "modelValue"), s = _(
2507
- () => he.find((f) => f.type === o.value.widget.type)
2508
- ), n = q(!1);
2509
- return (f, V) => {
2510
- const v = x("FmCircularProgress"), m = x("FmButton"), a = x("FmSideSheet");
2511
- return h(), T(a, {
2512
- modelValue: n.value,
2513
- "onUpdate:modelValue": V[2] || (V[2] = (i) => n.value = i),
2514
- "close-button": !1,
2515
- "no-overlay": "",
2516
- "dismiss-away": !0
2517
- }, {
2518
- "side-sheet-button": $(() => [
2519
- C("div", Co, [
2520
- u(m, {
2521
- label: "Style setting",
2522
- icon: "edit",
2523
- variant: "secondary",
2524
- size: "md"
2525
- })
2526
- ])
2527
- ]),
2528
- "side-sheet-header": $(() => [
2529
- C("div", ko, [
2530
- u(m, {
2531
- "prepend-icon": "arrow_back",
2532
- variant: "tertiary",
2533
- class: "fm-icon--rounded fm-icon--md text-fm-color-black",
2534
- onClick: V[0] || (V[0] = (i) => n.value = !1)
2535
- }),
2536
- V[3] || (V[3] = C("p", { class: "fm-typo-en-title-sm-600" }, "Report style settings", -1))
2537
- ])
2538
- ]),
2539
- default: $(() => [
2540
- o.value ? U("", !0) : (h(), T(v, { key: 0 })),
2541
- u(xo, {
2542
- modelValue: o.value.widget.config,
2543
- "onUpdate:modelValue": V[1] || (V[1] = (i) => o.value.widget.config = i),
2544
- config: s.value
2545
- }, null, 8, ["modelValue", "config"])
2546
- ]),
2547
- _: 1
2548
- }, 8, ["modelValue"]);
2549
- };
2550
- }
2551
- }), So = { class: "bg-fm-color-neutral-white flex flex-col h-full w-[510px]" }, To = { class: "flex bg-fm-color-neutral-white w-[88px]" }, Uo = { class: "w-full overflow-y-auto" }, Do = {
2552
- class: "grid grid-cols-12 w-full p-24",
2553
- style: { backgroundColor: "#F6F8FC" }
2554
- }, $o = /* @__PURE__ */ X({
2555
- __name: "TileEditorDesktop",
2556
- props: /* @__PURE__ */ G({
2557
- hideConfiguration: { type: Boolean, required: !0, default: !1 },
2558
- index: { type: Number, required: !0, default: 0 }
2559
- }, {
2560
- modelValue: {
2561
- required: !0
2562
- },
2563
- modelModifiers: {}
2564
- }),
2565
- emits: /* @__PURE__ */ G(["hideConfiguration"], ["update:modelValue"]),
2566
- setup(w, { emit: p }) {
2567
- const o = le(w, "modelValue"), s = w, n = _(
2568
- () => he.find((m) => {
2569
- var a;
2570
- return m.type === ((a = o.value) == null ? void 0 : a.widget.type);
2571
- })
2572
- ), f = p, V = [
2573
- B.BarChart,
2574
- B.StackBarChart,
2575
- B.LineChart,
2576
- B.StackLineChart,
2577
- B.Circular
2578
- ], v = _(() => V.includes(o.value.widget.type));
2579
- return (m, a) => {
2580
- const i = x("FmCircularProgress"), F = x("FmButton");
2581
- return h(), I("div", null, [
2582
- o.value ? (h(), I(ee, { key: 1 }, [
2583
- u(Ze, {
2584
- "model-value": !w.hideConfiguration
2585
- }, {
2586
- right: $(() => [
2587
- C("div", So, [
2588
- u(Ae, {
2589
- modelValue: o.value,
2590
- "onUpdate:modelValue": a[0] || (a[0] = (S) => o.value = S),
2591
- config: n.value,
2592
- "hide-configuration": w.hideConfiguration,
2593
- onHideConfiguration: a[1] || (a[1] = (S) => {
2594
- f("hideConfiguration", S);
2595
- })
2596
- }, null, 8, ["modelValue", "config", "hide-configuration"])
2597
- ])
2598
- ]),
2599
- left: $(() => [
2600
- C("div", To, [
2601
- u(F, {
2602
- variant: "secondary",
2603
- icon: "keyboard_double_arrow_right",
2604
- "border-color": l(ve).ColorPrimary,
2605
- "text-color": l(ve).ColorPrimary,
2606
- class: "m-24 my-16",
2607
- size: "md",
2608
- onClick: a[2] || (a[2] = (S) => f("hideConfiguration", !s.hideConfiguration))
2609
- }, null, 8, ["border-color", "text-color"])
2610
- ])
2611
- ]),
2612
- _: 1
2613
- }, 8, ["model-value"]),
2614
- C("div", Uo, [
2615
- C("div", Do, [
2616
- o.value ? (h(), T(ze, {
2617
- key: 0,
2618
- "model-value": o.value,
2619
- index: s.index,
2620
- "hide-export": !0
2621
- }, null, 8, ["model-value", "index"])) : (h(), T(Pe, { key: 1 }))
2622
- ])
2623
- ]),
2624
- v.value ? (h(), T(_o, {
2625
- key: 0,
2626
- modelValue: o.value,
2627
- "onUpdate:modelValue": a[3] || (a[3] = (S) => o.value = S),
2628
- "hide-configuration": w.hideConfiguration,
2629
- onHideConfiguration: a[4] || (a[4] = (S) => {
2630
- f("hideConfiguration", S);
2631
- })
2632
- }, null, 8, ["modelValue", "hide-configuration"])) : U("", !0)
2633
- ], 64)) : (h(), T(i, { key: 0 }))
2634
- ]);
2635
- };
2636
- }
2637
- }), No = {
2638
- key: 0,
2639
- class: "flex w-full justify-center items-center"
2640
- }, Oo = { class: "w-full grid grid-cols-12 pb-28 pt-5 px-5 h-full" }, Io = /* @__PURE__ */ X({
2641
- __name: "TileEditorMobile",
2642
- props: /* @__PURE__ */ G({
2643
- hideConfiguration: { type: Boolean, required: !0, default: !1 },
2644
- index: { type: Number, required: !0, default: 0 }
2645
- }, {
2646
- modelValue: {
2647
- required: !0
2648
- },
2649
- modelModifiers: {}
2650
- }),
2651
- emits: /* @__PURE__ */ G(["hideConfiguration"], ["update:modelValue"]),
2652
- setup(w, { emit: p }) {
2653
- const o = le(w, "modelValue"), s = w, n = _(
2654
- () => he.find((V) => {
2655
- var v;
2656
- return V.type === ((v = o.value) == null ? void 0 : v.widget.type);
2657
- })
2658
- ), f = p;
2659
- return (V, v) => {
2660
- const m = x("FmCircularProgress");
2661
- return h(), I("div", null, [
2662
- o.value ? (h(), I(ee, { key: 1 }, [
2663
- C("div", Oo, [
2664
- o.value ? (h(), T(ze, {
2665
- key: 0,
2666
- "model-value": o.value,
2667
- index: s.index,
2668
- "hide-export": !0
2669
- }, null, 8, ["model-value", "index"])) : (h(), T(Pe, { key: 1 }))
2670
- ]),
2671
- u(Ae, {
2672
- modelValue: o.value,
2673
- "onUpdate:modelValue": v[0] || (v[0] = (a) => o.value = a),
2674
- config: n.value,
2675
- "hide-configuration": w.hideConfiguration,
2676
- onHideConfiguration: v[1] || (v[1] = (a) => {
2677
- f("hideConfiguration", a);
2678
- })
2679
- }, null, 8, ["modelValue", "config", "hide-configuration"])
2680
- ], 64)) : (h(), I("div", No, [
2681
- u(m)
2682
- ]))
2683
- ]);
2684
- };
2685
- }
2686
- }), Bo = {
2687
- key: 0,
2688
- class: "fm-typo-en-title-md-600"
2689
- }, Lo = {
2690
- key: 0,
2691
- class: "flex items-start justify-start px-24 py-12 flex-wrap w-full"
2692
- }, Go = /* @__PURE__ */ X({
2693
- __name: "TileEditor",
2694
- setup(w) {
2695
- const { rowHeight: p, colWidths: o } = ue(ge()), s = Ye(), n = Ee(), f = al(), { globalFilters: V } = ue(Re()), { currentSelectWidgetType: v, editingReport: m, editingTile: a, editingTileIndex: i } = ue(f), { breakpoints: F } = Me(), { promptMessage: S } = Le(), { t: D } = Y(), O = q(!1);
2696
- function b() {
2697
- v.value = void 0, a.value = void 0, i.value = -1, n.back();
2698
- }
2699
- async function y() {
2700
- var t;
2701
- if (!m.value) return;
2702
- await S({
2703
- title: D("report.tile.save.title"),
2704
- message: D("report.tile.save.confirm", { title: (t = a.value) == null ? void 0 : t.widget.title })
2705
- }) && a.value && (a.value.widget.config = {
2706
- ...a.value.widget.config,
2707
- rowHeight: p.value,
2708
- colWidths: [...o.value]
2709
- }, i.value === -1 ? m.value.tiles.push(a.value) : m.value.tiles[i.value] = a.value, b());
2710
- }
2711
- async function d() {
2712
- var t;
2713
- if (!m.value) return;
2714
- await S({
2715
- title: D("report.tile.cancel.title"),
2716
- message: D("report.tile.cancel.confirm", { title: (t = a.value) == null ? void 0 : t.widget.title })
2717
- }) && b();
2718
- }
2719
- return ke(() => {
2720
- m.value || n.push({ name: "reports" });
2721
- }), (c, t) => {
2722
- const e = x("FmPageHead");
2723
- return h(), T(el, null, {
2724
- default: $(() => [
2725
- u(e, {
2726
- actions: [
2727
- { label: "Cancel", value: "cancel", isPrimary: !1 },
2728
- { label: "Save", value: "save", isPrimary: !0 }
2729
- ],
2730
- "onClick:action": t[0] || (t[0] = (r) => {
2731
- r === "cancel" && d(), r === "save" && y();
2732
- })
2733
- }, {
2734
- title: $(() => {
2735
- var r;
2736
- return [
2737
- l(F).lg || l(F).md ? (h(), I("p", Bo, j(l(je)(((r = l(a)) == null ? void 0 : r.widget.type) ?? "New report")), 1)) : U("", !0)
2738
- ];
2739
- }),
2740
- _: 1
2741
- }),
2742
- l(a) && (l(V) || []).some((r) => {
2743
- const k = r.tileIds, g = l(a) && l(a).id;
2744
- return Array.isArray(k) && typeof g == "string" && k.includes(g);
2745
- }) ? (h(), I("div", Lo, [
2746
- u(il)
2747
- ])) : U("", !0),
2748
- l(a) ? (h(), T(Oe(l(F).lg || l(F).md ? $o : Io), {
2749
- key: 1,
2750
- modelValue: l(a),
2751
- "onUpdate:modelValue": t[1] || (t[1] = (r) => He(a) ? a.value = r : null),
2752
- class: Ie(`${l(F).lg || l(F).md ? "flex" : ""} w-full`),
2753
- style: qe({ height: `calc( 100% - ${l(F).lg || l(F).md ? 72 : 64}px)` }),
2754
- "hide-configuration": O.value,
2755
- index: Number(l(s).params.tileIndex),
2756
- onHideConfiguration: t[2] || (t[2] = (r) => O.value = r)
2757
- }, null, 40, ["modelValue", "class", "style", "hide-configuration", "index"])) : U("", !0)
2758
- ]),
2759
- _: 1
2760
- });
2761
- };
2762
- }
2763
- });
2764
- export {
2765
- Go as default
2766
- };