@feedmepos/mf-report 5.7.6-beta.103 → 5.8.0-beta.0

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 (27) hide show
  1. package/dist/App-D-1FYTfD.js +150 -0
  2. package/dist/{DateRangeSelect.vue_vue_type_script_setup_true_lang-Ceg0ycS-.js → DateRangeSelect.vue_vue_type_script_setup_true_lang-g6ESEkM9.js} +2 -2
  3. package/dist/{Default.vue_vue_type_script_setup_true_lang-tBkPzAux.js → Default.vue_vue_type_script_setup_true_lang-D1H_MdWO.js} +2 -2
  4. package/dist/{DynamicWidget.vue_vue_type_script_setup_true_lang-hFmuXpI-.js → DynamicWidget.vue_vue_type_script_setup_true_lang-BVc7b2H4.js} +518 -504
  5. package/dist/{InsightView-BQjw3zo_.js → InsightView-BlFnt7q8.js} +6 -6
  6. package/dist/{Integration-DozOUHN0.js → Integration-7h1cJFLg.js} +3 -3
  7. package/dist/{Integrations-CtHf849u.js → Integrations-Dm7n-0iv.js} +3 -3
  8. package/dist/{Layout-DSzK7_nq.js → Layout-CcuoNe0d.js} +1 -1
  9. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-J99j3ig1.js → MenuTab.vue_vue_type_script_setup_true_lang-Bn3KCbjG.js} +3 -3
  10. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-Cdiu1oaH.js → NavigationTab.vue_vue_type_script_setup_true_lang-DuOqx76g.js} +5 -5
  11. package/dist/{NoData.vue_vue_type_script_setup_true_lang-Gjyew5eM.js → NoData.vue_vue_type_script_setup_true_lang-CAbykN6l.js} +1 -1
  12. package/dist/{OverviewView-Ctkw9OHF.js → OverviewView-Dka3jZx6.js} +5 -5
  13. package/dist/{Report-CLnz_fJe.js → Report-DopMKVRe.js} +4 -4
  14. package/dist/ReportEditor-HDMGjShp.js +621 -0
  15. package/dist/{ReportView-DR-H3SCw.js → ReportView-cqB-ep4p.js} +7 -7
  16. package/dist/{SelectComponent.vue_vue_type_script_setup_true_lang-BRdIROVa.js → SelectComponent.vue_vue_type_script_setup_true_lang-BEkJzB27.js} +1 -1
  17. package/dist/{Setting-Db6Z-NR7.js → Setting-CxBF2fVm.js} +4 -4
  18. package/dist/{TileEditor-Ce5fXttu.js → TileEditor-BNx2KgYJ.js} +8 -8
  19. package/dist/{TransitionFade-B7MGFLV2.js → TransitionFade-BR2i09Vy.js} +4 -4
  20. package/dist/app.js +29 -14
  21. package/dist/{global-loader-DeDK8lT7.js → global-loader-DKYDQRZx.js} +1173 -1202
  22. package/dist/{index-BUphqdhM.js → index--mBthMxH.js} +1 -1
  23. package/dist/{report-schema-tfEvDL2D.js → report-schema-DDo0Dgd1.js} +1 -1
  24. package/dist/{v4-KVHDiToS.js → v4-CfR4tJai.js} +361 -383
  25. package/package.json +1 -1
  26. package/dist/App-Bhp7FaBJ.js +0 -152
  27. package/dist/ReportEditor-B85E-p2H.js +0 -527
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-report",
3
- "version": "5.7.6-beta.103",
3
+ "version": "5.8.0-beta.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -1,152 +0,0 @@
1
- import { defineComponent as O, resolveComponent as C, createBlock as T, openBlock as m, unref as r, isRef as Y, withCtx as w, createElementVNode as q, createVNode as $, toDisplayString as D, createTextVNode as Z, onMounted as z, watch as p, ref as j, computed as I, onBeforeMount as M, onBeforeUnmount as ee, createElementBlock as b, Fragment as te } from "vue";
2
- import { detectLocale as g, useCoreStore as k } from "@feedmepos/mf-common";
3
- import { u as oe, d as F, a as re, b as ne, c as ae, e as se, f as le, g as ue } from "./global-loader-DeDK8lT7.js";
4
- import { storeToRefs as B } from "pinia";
5
- import { u as ie, a as ce } from "./v4-KVHDiToS.js";
6
- import { u as me } from "./report-schema-tfEvDL2D.js";
7
- import { _ as de, u as ve } from "./NavigationTab.vue_vue_type_script_setup_true_lang-Cdiu1oaH.js";
8
- import { u as U } from "./message-dialog-UoMWOnil.js";
9
- import { useRoute as fe } from "vue-router";
10
- const pe = { class: "fm-typo-en-body-md-400 text-ellipsis overflow-hidden" }, ge = /* @__PURE__ */ O({
11
- __name: "Dialog",
12
- setup(d) {
13
- const { t } = oe(), n = U(), { isOpened: a, message: i, title: c } = B(U());
14
- return (y, u) => {
15
- const v = C("FmButton"), h = C("FmDialog");
16
- return m(), T(h, {
17
- modelValue: r(a),
18
- "onUpdate:modelValue": u[0] || (u[0] = (_) => Y(a) ? a.value = _ : null),
19
- overlay: "",
20
- "close-button": !1
21
- }, {
22
- "dialog-header": w(() => [
23
- Z(D(r(c)), 1)
24
- ]),
25
- default: w(() => [
26
- q("p", pe, D(r(i)), 1)
27
- ]),
28
- "dialog-footer": w(() => [
29
- u[1] || (u[1] = q("div", { class: "grow" }, null, -1)),
30
- $(v, {
31
- label: r(t)("report.common.cancel"),
32
- variant: "tertiary",
33
- onClick: r(n).dismiss
34
- }, null, 8, ["label", "onClick"]),
35
- $(v, {
36
- label: r(t)("report.common.confirm"),
37
- onClick: r(n).confirm
38
- }, null, 8, ["label", "onClick"])
39
- ]),
40
- _: 1
41
- }, 8, ["modelValue"]);
42
- };
43
- }
44
- }), x = j(g());
45
- function ye() {
46
- const d = (t) => {
47
- switch (x.value = t, t) {
48
- case "zh-CN":
49
- F.locale("zh-cn");
50
- break;
51
- default:
52
- F.locale("en");
53
- break;
54
- }
55
- };
56
- return z(() => {
57
- d(g());
58
- }), p(() => g(), d, { deep: !0, immediate: !0 }), {
59
- currentLocale: x
60
- };
61
- }
62
- F.locale(g() === "zh-CN" ? "zh-cn" : "en");
63
- const he = ["src"], _e = ["src"], Le = /* @__PURE__ */ O({
64
- __name: "App",
65
- setup(d) {
66
- const { businessId: t, token: n, country: a } = B(re()), { sessionUser: i, currentBusiness: c, currentCountry: y, registerSidebarComponent: u } = k(), { getRestaurantAndWarehouse: v, getBusinessSetting: h } = ne(), { getFeatureFlags: _ } = ae(), { version: s } = B(ie()), { getSettings: A } = se(), l = fe(), { promptLoader: J } = le(), W = I(() => `https://portal-v1.feedmedev.cc/b/${t.value}/report/CLOSE_UP?showHeader=false&country=${a.value.toUpperCase()}&menuOption=business-report&token=${n.value}&v2=true&reportV5Button=true`), G = I(() => `https://report-v4.feedmedev.cc?businessId=${t.value}&country=${a.value}&token=${n.value}&reportV3Button=true`);
67
- p(
68
- // if route query pass in the detail we switch accordingly
69
- [() => l.query, () => c.value, () => i.value],
70
- () => {
71
- var o, e, f;
72
- l.query.token && l.query.businessId && l.query.country ? (t.value = l.query.businessId, n.value = l.query.token, a.value = l.query.country) : ((o = c.value) != null && o.id && (t.value = c.value.id), (e = i.value) != null && e.token && (n.value = (f = i.value) == null ? void 0 : f.token), y.value && (a.value = y.value));
73
- },
74
- { immediate: !0 }
75
- );
76
- function E(o) {
77
- if (typeof o.data == "string")
78
- try {
79
- const e = JSON.parse(o.data);
80
- (e == null ? void 0 : e.token) !== "" && (e == null ? void 0 : e.token) !== void 0 && (n.value = e.token);
81
- } catch (e) {
82
- console.error(e);
83
- }
84
- }
85
- function L(o) {
86
- if (typeof o.data == "string")
87
- try {
88
- const e = JSON.parse(o.data);
89
- (e == null ? void 0 : e.v5) === !0 ? s.value = S.value : (e == null ? void 0 : e.v3) === !0 && (s.value = "v3");
90
- } catch (e) {
91
- console.error(e);
92
- }
93
- }
94
- p(s, () => {
95
- ["v3", "v4"].includes(s.value) ? k().hideSidebarToggle(!0) : k().hideSidebarToggle(!1);
96
- }), M(() => {
97
- u(de);
98
- }), z(() => {
99
- console.log("5.7.6-beta.103", !0), window.addEventListener("message", E), window.addEventListener("message", L);
100
- });
101
- const R = ce(), N = ve();
102
- ee(() => {
103
- window.removeEventListener("message", E), window.removeEventListener("message", L), R.$dispose(), N.$dispose();
104
- });
105
- const { getReports: K, getOverviewReport: P, getReportConfig: V } = R, { getSchema: H } = me(), { fetchSchedules: Q } = N, { init: X } = ue(), S = j("v5");
106
- return p(
107
- () => t.value,
108
- () => {
109
- t.value !== "" && J(async () => {
110
- await X({
111
- apiKey: "MaGoXrEWuEJNpWgKTqseee",
112
- url: "https://flag.feedme.farm/api/v1/",
113
- enableAnalytics: !1,
114
- cacheFlags: !1
115
- });
116
- const o = await V();
117
- S.value = o.version, s.value = S.value, await Promise.all([
118
- _(),
119
- V(),
120
- P(),
121
- K(),
122
- H(),
123
- Q(),
124
- h(),
125
- v(),
126
- A()
127
- ]);
128
- });
129
- },
130
- {
131
- immediate: !0
132
- }
133
- ), ye(), (o, e) => {
134
- const f = C("router-view");
135
- return m(), b(te, null, [
136
- $(ge),
137
- r(s) === "v3" ? (m(), b("iframe", {
138
- key: 0,
139
- class: "bg-white h-full w-full",
140
- src: W.value
141
- }, null, 8, he)) : r(s) === "v4" ? (m(), b("iframe", {
142
- key: 1,
143
- class: "bg-white h-full w-full",
144
- src: G.value
145
- }, null, 8, _e)) : (m(), T(f, { key: 2 }))
146
- ], 64);
147
- };
148
- }
149
- });
150
- export {
151
- Le as default
152
- };
@@ -1,527 +0,0 @@
1
- import { defineComponent as R, mergeModels as $, useModel as B, ref as N, computed as P, resolveComponent as m, createBlock as V, openBlock as u, withCtx as d, createElementVNode as y, createVNode as n, unref as e, normalizeClass as E, createTextVNode as _e, toDisplayString as q, createElementBlock as w, Fragment as U, renderSlot as X, createCommentVNode as L, watch as ye, resolveDynamicComponent as Y, isRef as Z, renderList as A, onMounted as Ce, normalizeStyle as be } from "vue";
2
- import { W as Ve, i as ke, S as xe, d as Fe, T as we, _ as he } from "./TransitionFade-B7MGFLV2.js";
3
- import { a as ee, v as oe } from "./v4-KVHDiToS.js";
4
- import { storeToRefs as te } from "pinia";
5
- import { useRouter as le, useRoute as re } from "vue-router";
6
- import { useBreakpoints as G, FmButtonColorThemeVariant as I, useSnackbar as $e } from "@feedmepos/ui-library";
7
- import { u as ne } from "./message-dialog-UoMWOnil.js";
8
- import { _ as ae } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-hFmuXpI-.js";
9
- import { _ as ie } from "./NoData.vue_vue_type_script_setup_true_lang-Gjyew5eM.js";
10
- import { u as W, f as Se } from "./global-loader-DeDK8lT7.js";
11
- import { r as Q } from "./i18n-Cif1I9J2.js";
12
- const Re = /* @__PURE__ */ R({
13
- __name: "WidgetDialog",
14
- props: /* @__PURE__ */ $({
15
- isOpen: { type: Boolean }
16
- }, {
17
- modelValue: {},
18
- modelModifiers: {}
19
- }),
20
- emits: /* @__PURE__ */ $(["isOpen"], ["update:modelValue"]),
21
- setup(c, { emit: i }) {
22
- const { t: o } = W(), { breakpoints: l } = G(), g = B(c, "modelValue"), s = c, r = i;
23
- function a() {
24
- r("isOpen", !1);
25
- }
26
- function v() {
27
- t.value && (g.value = t.value, t.value = void 0, r("isOpen", !1));
28
- }
29
- const t = N(), k = P(() => !t.value);
30
- return (O, h) => {
31
- const T = m("FmButton"), M = m("FmDialog");
32
- return u(), V(M, {
33
- "model-value": s.isOpen
34
- }, {
35
- "dialog-header": d(() => [
36
- _e(q(e(o)("report.widget.type")), 1)
37
- ]),
38
- default: d(() => [
39
- n(Ve, {
40
- modelValue: t.value,
41
- "onUpdate:modelValue": h[0] || (h[0] = (p) => t.value = p),
42
- class: E(`grid ${e(l).lg || e(l).md ? "grid-cols-3 gap-3" : "grid-cols-2 gap-3"}`),
43
- "child-class": "p-[8px] flex flex-col"
44
- }, null, 8, ["modelValue", "class"])
45
- ]),
46
- "dialog-footer": d(() => [
47
- h[1] || (h[1] = y("div", { class: "grow" }, null, -1)),
48
- n(T, {
49
- label: e(o)("report.common.cancel"),
50
- variant: "tertiary",
51
- onClick: a
52
- }, null, 8, ["label"]),
53
- n(T, {
54
- label: e(o)("report.common.confirm"),
55
- disabled: k.value,
56
- onClick: v
57
- }, null, 8, ["label", "disabled"])
58
- ]),
59
- _: 1
60
- }, 8, ["model-value"]);
61
- };
62
- }
63
- }), Te = { class: "fm-typo-en-body-lg-600" }, H = /* @__PURE__ */ R({
64
- __name: "ReportEditorTabHeader",
65
- props: /* @__PURE__ */ $({
66
- icon: {
67
- type: String,
68
- required: !0
69
- }
70
- }, {
71
- modelValue: { type: Boolean, required: !0, default: !1 },
72
- modelModifiers: {}
73
- }),
74
- emits: ["update:modelValue"],
75
- setup(c) {
76
- const { t: i } = W(), o = B(c, "modelValue"), l = c;
77
- return (g, s) => {
78
- const r = m("FmIcon");
79
- return u(), w("div", {
80
- class: "px-6 py-16 flex items-center gap-2 bg-fm-color-neutral-white border cursor-pointer",
81
- onClick: s[0] || (s[0] = (a) => o.value = !o.value)
82
- }, [
83
- y("p", Te, q(e(i)("report.editor.customizeReport")), 1),
84
- s[1] || (s[1] = y("div", { class: "grow" }, null, -1)),
85
- n(r, {
86
- name: l.icon
87
- }, null, 8, ["name"])
88
- ]);
89
- };
90
- }
91
- }), Me = /* @__PURE__ */ R({
92
- __name: "ReportEditorTabDesktop",
93
- props: {
94
- modelValue: { required: !0, default: !1 },
95
- modelModifiers: {}
96
- },
97
- emits: ["update:modelValue"],
98
- setup(c) {
99
- const i = B(c, "modelValue");
100
- return (o, l) => (u(), w(U, null, [
101
- n(H, {
102
- modelValue: i.value,
103
- "onUpdate:modelValue": l[0] || (l[0] = (g) => i.value = g),
104
- icon: "keyboard_double_arrow_left"
105
- }, null, 8, ["modelValue"]),
106
- X(o.$slots, "default")
107
- ], 64));
108
- }
109
- }), Be = /* @__PURE__ */ R({
110
- __name: "ReportEditorTabMobile",
111
- props: {
112
- modelValue: { required: !0, default: !1 },
113
- modelModifiers: {}
114
- },
115
- emits: ["update:modelValue"],
116
- setup(c) {
117
- const i = B(c, "modelValue");
118
- return (o, l) => {
119
- const g = m("FmTopSheet"), s = m("FmCard");
120
- return u(), V(s, { class: "fixed bottom-0 w-full" }, {
121
- default: d(() => [
122
- n(H, {
123
- modelValue: i.value,
124
- "onUpdate:modelValue": l[0] || (l[0] = (r) => i.value = r),
125
- icon: "keyboard_double_arrow_up"
126
- }, null, 8, ["modelValue"]),
127
- n(g, {
128
- modelValue: i.value,
129
- "onUpdate:modelValue": l[2] || (l[2] = (r) => i.value = r),
130
- "fullscreen-size": "sm"
131
- }, {
132
- default: d(() => [
133
- n(H, {
134
- modelValue: i.value,
135
- "onUpdate:modelValue": l[1] || (l[1] = (r) => i.value = r),
136
- icon: "keyboard_double_arrow_down"
137
- }, null, 8, ["modelValue"]),
138
- i.value ? X(o.$slots, "default", { key: 0 }) : L("", !0)
139
- ]),
140
- _: 3
141
- }, 8, ["modelValue"])
142
- ]),
143
- _: 3
144
- });
145
- };
146
- }
147
- }), Oe = { class: "flex flex-col gap-24 top-0 bg-fm-color-neutral-white z-10" }, qe = { class: "flex flex-col gap-24" }, Ue = { class: "line-clamp-2 overflow-hidden max-w-[195px] w-[195px]" }, se = /* @__PURE__ */ R({
148
- __name: "ReportEditorTab",
149
- props: /* @__PURE__ */ $({
150
- hideConfiguration: {
151
- type: Boolean,
152
- default: !1
153
- }
154
- }, {
155
- modelValue: { required: !0 },
156
- modelModifiers: {}
157
- }),
158
- emits: /* @__PURE__ */ $(["hideConfiguration"], ["update:modelValue"]),
159
- setup(c, { emit: i }) {
160
- const o = B(c, "modelValue"), { breakpoints: l } = G(), g = c, s = i, r = le(), a = re(), v = N(), { currentSelectWidgetType: t, categories: k, editingTile: O, editingIndex: h } = te(ee()), { promptMessage: T } = ne(), M = N(!1), { t: p, te: C } = W(), b = N(void 0);
161
- ye(
162
- () => t.value,
163
- () => {
164
- t.value !== void 0 && (b.value = ke(t.value), O.value = b.value, h.value = -1, r.push({
165
- name: "tileEditor",
166
- query: a.query
167
- }));
168
- },
169
- { immediate: !0 }
170
- );
171
- const x = [
172
- {
173
- label: p("report.common.edit"),
174
- selected: !1,
175
- variant: "tertiary",
176
- onClick: (F) => {
177
- h.value = F, O.value = JSON.parse(JSON.stringify(o.value.tiles[F])), r.push({
178
- name: "tileEditor",
179
- query: a.query
180
- });
181
- }
182
- },
183
- {
184
- label: p("report.common.duplicate"),
185
- selected: !1,
186
- variant: "tertiary",
187
- onClick: (F) => {
188
- o.value.tiles.push(JSON.parse(JSON.stringify(o.value.tiles[F])));
189
- }
190
- },
191
- {
192
- label: p("report.common.remove"),
193
- selected: !1,
194
- variant: "destructive",
195
- onClick: async (F) => {
196
- await T({
197
- title: p("report.editor.deleteWidget"),
198
- message: p("report.editor.deleteWidgetConfirm", {
199
- title: o.value.tiles[F].widget.title
200
- })
201
- }) && (o.value.tiles = o.value.tiles.filter((j, D) => D !== F));
202
- }
203
- }
204
- ], S = P(() => k.value.map((F) => ({
205
- label: p(`report.category.${F.name}`),
206
- value: F.id
207
- })));
208
- return (F, f) => {
209
- const j = m("FmTextField"), D = m("FmSelect"), K = m("FmButton"), ue = m("FmIcon"), de = m("FmTooltip"), me = m("FmMenuItem"), ce = m("FmMenu"), pe = m("FmListItem"), fe = m("FmList"), ve = m("FmForm");
210
- return u(), V(Y(e(l).lg || e(l).md ? Me : Be), {
211
- "model-value": g.hideConfiguration,
212
- "onUpdate:modelValue": f[5] || (f[5] = (_) => s("hideConfiguration", _))
213
- }, {
214
- default: d(() => [
215
- n(Re, {
216
- modelValue: e(t),
217
- "onUpdate:modelValue": f[0] || (f[0] = (_) => Z(t) ? t.value = _ : null),
218
- "is-open": M.value,
219
- onIsOpen: f[1] || (f[1] = (_) => M.value = _)
220
- }, null, 8, ["modelValue", "is-open"]),
221
- n(ve, {
222
- ref_key: "form",
223
- ref: v,
224
- class: "px-6 py-16 flex flex-col gap-24 overflow-y-auto overflow-x-hidden"
225
- }, {
226
- default: d(() => [
227
- n(xe, { class: "border-solid" }, {
228
- header: d(() => [
229
- y("p", null, q(e(p)("report.editor.reportInfo")), 1),
230
- f[6] || (f[6] = y("div", { class: "grow" }, null, -1))
231
- ]),
232
- content: d(() => [
233
- y("div", Oe, [
234
- n(j, {
235
- modelValue: o.value.name,
236
- "onUpdate:modelValue": f[2] || (f[2] = (_) => o.value.name = _),
237
- label: e(p)("report.editor.reportTitle"),
238
- placeholder: e(p)("report.editor.placeholder")
239
- }, null, 8, ["modelValue", "label", "placeholder"]),
240
- n(D, {
241
- modelValue: o.value.category,
242
- "onUpdate:modelValue": f[3] || (f[3] = (_) => o.value.category = _),
243
- label: e(p)("report.common.category"),
244
- items: S.value
245
- }, null, 8, ["modelValue", "label", "items"])
246
- ])
247
- ]),
248
- _: 1
249
- }),
250
- y("div", qe, [
251
- n(K, {
252
- label: e(p)("report.editor.addWidget"),
253
- variant: "secondary",
254
- icon: "add",
255
- "icon-position": "prepend",
256
- "border-color": e(I).ColorPrimary,
257
- "text-color": e(I).ColorPrimary,
258
- onClick: f[4] || (f[4] = (_) => M.value = !0)
259
- }, null, 8, ["label", "border-color", "text-color"]),
260
- n(fe, null, {
261
- default: d(() => [
262
- n(e(Fe), {
263
- list: o.value.tiles,
264
- "item-key": "id",
265
- class: "flex flex-col gap-2 cursor-grab",
266
- handle: ".handle"
267
- }, {
268
- item: d(({ element: _, index: J }) => [
269
- n(pe, { class: "!cursor-grab border rounded-md border-neutral-300" }, {
270
- default: d(() => [
271
- n(ue, {
272
- name: "drag_handle",
273
- class: "handle"
274
- }),
275
- n(de, {
276
- content: _.widget.title ? e(Q)(e(p), e(C), _.widget.title, "other") : e(p)("report.editor.widget", { index: J + 1 }),
277
- class: "handle"
278
- }, {
279
- default: d(() => [
280
- y("p", Ue, q(_.widget.title ? e(Q)(e(p), e(C), _.widget.title, "other") : e(p)("report.editor.widget", { index: J + 1 })), 1)
281
- ]),
282
- _: 2
283
- }, 1032, ["content"]),
284
- f[7] || (f[7] = y("div", { class: "grow" }, null, -1)),
285
- n(ce, {
286
- trigger: "click",
287
- shift: !0,
288
- "stop-click-propagation": !0
289
- }, {
290
- "menu-button": d(() => [
291
- n(K, {
292
- "append-icon": "more_vert",
293
- variant: "tertiary"
294
- })
295
- ]),
296
- default: d(() => [
297
- (u(), w(U, null, A(x, (z, ge) => n(me, {
298
- key: ge,
299
- onClick: (Je) => z.onClick(J)
300
- }, {
301
- label: d(() => [
302
- y("p", {
303
- class: E(
304
- z.variant === "destructive" ? " text-fm-color-system-error-300" : ""
305
- )
306
- }, q(z.label), 3)
307
- ]),
308
- _: 2
309
- }, 1032, ["onClick"])), 64))
310
- ]),
311
- _: 2
312
- }, 1024)
313
- ]),
314
- _: 2
315
- }, 1024)
316
- ]),
317
- _: 1
318
- }, 8, ["list"])
319
- ]),
320
- _: 1
321
- })
322
- ])
323
- ]),
324
- _: 1
325
- }, 512)
326
- ]),
327
- _: 1
328
- }, 8, ["model-value"]);
329
- };
330
- }
331
- }), Ne = { class: "flex flex-col bg-fm-color-neutral-white w-[400px]" }, Pe = { class: "flex bg-fm-color-neutral-white w-[88px]" }, Ee = { class: "w-full overflow-y-auto" }, Ie = {
332
- key: 0,
333
- class: "w-full grid grid-cols-12 gap-[24px] p-24",
334
- style: { backgroundColor: "#F6F8FC" }
335
- }, Le = /* @__PURE__ */ R({
336
- __name: "ReportEditorDesktop",
337
- props: /* @__PURE__ */ $({
338
- hideConfiguration: { type: Boolean, required: !0, default: !1 }
339
- }, {
340
- modelValue: { required: !0, default: () => {
341
- } },
342
- modelModifiers: {}
343
- }),
344
- emits: /* @__PURE__ */ $(["hideConfiguration"], ["update:modelValue"]),
345
- setup(c, { emit: i }) {
346
- const o = B(c, "modelValue"), l = c, g = i;
347
- return (s, r) => {
348
- const a = m("FmCircularProgress"), v = m("FmButton");
349
- return u(), w("div", null, [
350
- o.value ? (u(), w(U, { key: 1 }, [
351
- n(we, {
352
- "model-value": !l.hideConfiguration
353
- }, {
354
- right: d(() => [
355
- y("div", Ne, [
356
- o.value ? (u(), V(se, {
357
- key: 0,
358
- modelValue: o.value,
359
- "onUpdate:modelValue": r[0] || (r[0] = (t) => o.value = t),
360
- "hide-configuration": l.hideConfiguration,
361
- onHideConfiguration: r[1] || (r[1] = (t) => {
362
- g("hideConfiguration", t);
363
- })
364
- }, null, 8, ["modelValue", "hide-configuration"])) : L("", !0)
365
- ])
366
- ]),
367
- left: d(() => [
368
- y("div", Pe, [
369
- n(v, {
370
- variant: "secondary",
371
- icon: "keyboard_double_arrow_right",
372
- "border-color": e(I).ColorPrimary,
373
- "text-color": e(I).ColorPrimary,
374
- class: "m-24 my-16",
375
- size: "md",
376
- onClick: r[2] || (r[2] = (t) => g("hideConfiguration", !l.hideConfiguration))
377
- }, null, 8, ["border-color", "text-color"])
378
- ])
379
- ]),
380
- _: 1
381
- }, 8, ["model-value"]),
382
- y("div", Ee, [
383
- o.value.tiles.length > 0 ? (u(), w("div", Ie, [
384
- (u(!0), w(U, null, A(o.value.tiles, (t, k) => (u(), V(ae, {
385
- key: `${e(oe)()}_${k}`,
386
- "model-value": t,
387
- index: k,
388
- "hide-export": !0
389
- }, null, 8, ["model-value", "index"]))), 128))
390
- ])) : (u(), V(ie, { key: 1 }))
391
- ])
392
- ], 64)) : (u(), V(a, { key: 0 }))
393
- ]);
394
- };
395
- }
396
- }), We = {
397
- key: 0,
398
- class: "grid grid-cols-12 gap-[16px]"
399
- }, De = /* @__PURE__ */ R({
400
- __name: "ReportEditorMobile",
401
- props: /* @__PURE__ */ $({
402
- hideConfiguration: { type: Boolean, required: !0, default: !1 }
403
- }, {
404
- modelValue: { required: !0, default: () => {
405
- } },
406
- modelModifiers: {}
407
- }),
408
- emits: /* @__PURE__ */ $(["hideConfiguration"], ["update:modelValue"]),
409
- setup(c, { emit: i }) {
410
- const o = B(c, "modelValue"), l = c, g = i;
411
- return (s, r) => {
412
- const a = m("FmCircularProgress"), v = m("FmCard");
413
- return u(), w("div", null, [
414
- o.value ? (u(), w(U, { key: 1 }, [
415
- n(v, { class: "px-5 pb-28" }, {
416
- default: d(() => [
417
- o.value.tiles.length > 0 ? (u(), w("div", We, [
418
- (u(!0), w(U, null, A(o.value.tiles, (t, k) => (u(), V(ae, {
419
- key: `${e(oe)()}_${k}`,
420
- "model-value": t,
421
- index: k,
422
- "hide-export": !0
423
- }, null, 8, ["model-value", "index"]))), 128))
424
- ])) : (u(), V(ie, { key: 1 }))
425
- ]),
426
- _: 1
427
- }),
428
- o.value ? (u(), V(se, {
429
- key: 0,
430
- modelValue: o.value,
431
- "onUpdate:modelValue": r[0] || (r[0] = (t) => o.value = t),
432
- "hide-configuration": l.hideConfiguration,
433
- onHideConfiguration: r[1] || (r[1] = (t) => {
434
- g("hideConfiguration", t);
435
- })
436
- }, null, 8, ["modelValue", "hide-configuration"])) : L("", !0)
437
- ], 64)) : (u(), V(a, { key: 0 }))
438
- ]);
439
- };
440
- }
441
- }), oo = /* @__PURE__ */ R({
442
- __name: "ReportEditor",
443
- setup(c) {
444
- const i = le(), o = re(), l = ee(), { promptLoader: g } = Se(), { t: s } = W(), { currentReport: r, editingReport: a } = te(l), { breakpoints: v } = G(), t = P(() => {
445
- var C;
446
- return !((C = a.value) != null && C.editable);
447
- }), k = P(() => {
448
- var C;
449
- return ((C = a.value) == null ? void 0 : C.name) ?? s("report.editor.newReport");
450
- }), O = $e(), { promptMessage: h } = ne(), T = N(!1);
451
- async function M() {
452
- if (!a.value || a.value.tiles.length === 0) {
453
- O.open({ message: s("report.messages.noWidget"), type: "error" });
454
- return;
455
- }
456
- const C = t.value ? s("report.common.clone") : s("report.common.save");
457
- if (await h({
458
- title: `${s("report.messages.saveReport")}`,
459
- message: s("report.messages.confirmAction", { action: C, name: k.value })
460
- }))
461
- try {
462
- await g(async () => {
463
- if (t.value) {
464
- const x = JSON.parse(JSON.stringify(a.value));
465
- x.editable = !0, x.id = "", x.name = `${x.name} ${s("report.common.duplicate")}`, await l.createOrUpdateReport(x);
466
- } else
467
- a.value && await l.createOrUpdateReport(a.value);
468
- i.push({
469
- name: "reportView",
470
- query: o.query
471
- });
472
- });
473
- } catch (x) {
474
- console.log(x), O.open({
475
- message: s("report.messages.failedToAction", { action: C }),
476
- type: "error"
477
- });
478
- }
479
- }
480
- async function p() {
481
- var b;
482
- if (!a.value) return;
483
- await h({
484
- title: s("report.common.report", 1),
485
- message: s("report.editor.notSaved", { name: (b = a.value) == null ? void 0 : b.name })
486
- }) && (a.value = JSON.parse(JSON.stringify(r.value)), i.back());
487
- }
488
- return Ce(() => {
489
- a.value || i.push({ name: "reports" });
490
- }), (C, b) => {
491
- const x = m("FmPageHead");
492
- return u(), V(he, null, {
493
- default: d(() => [
494
- n(x, {
495
- actions: [
496
- { label: e(s)("report.common.cancel"), value: "cancel", isPrimary: !1 },
497
- { label: "Save Report", value: "save", isPrimary: !0, prependIcon: "download" }
498
- ],
499
- "onClick:action": b[0] || (b[0] = (S) => {
500
- S === "cancel" && p(), S === "save" && M();
501
- })
502
- }, {
503
- title: d(() => [
504
- y("p", {
505
- class: E(`${e(v).sm || e(v).xs ? "hidden" : ""} fm-typo-en-title-md-600`)
506
- }, q(k.value), 3)
507
- ]),
508
- _: 1
509
- }, 8, ["actions"]),
510
- e(a) ? (u(), V(Y(e(v).lg || e(v).md ? Le : De), {
511
- key: 0,
512
- modelValue: e(a),
513
- "onUpdate:modelValue": b[1] || (b[1] = (S) => Z(a) ? a.value = S : null),
514
- class: E(`${e(v).lg || e(v).md ? "flex" : ""} w-full`),
515
- style: be({ height: `calc( 100% - ${e(v).lg || e(v).md ? 72 : 64}px)` }),
516
- "hide-configuration": T.value,
517
- onHideConfiguration: b[2] || (b[2] = (S) => T.value = S)
518
- }, null, 40, ["modelValue", "class", "style", "hide-configuration"])) : L("", !0)
519
- ]),
520
- _: 1
521
- });
522
- };
523
- }
524
- });
525
- export {
526
- oo as default
527
- };