@feedmepos/mf-report 5.19.30 → 5.20.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 (24) hide show
  1. package/dist/{App-ZDMNApvl.js → App-BdDt90_S.js} +31 -31
  2. package/dist/{BaseDialog.vue_vue_type_script_setup_true_lang-CGksnskl.js → BaseDialog.vue_vue_type_script_setup_true_lang-B_DRp5Jk.js} +3 -3
  3. package/dist/{DateRangeSelect.vue_vue_type_script_setup_true_lang-cfshXMB2.js → DateRangeSelect.vue_vue_type_script_setup_true_lang-BeBr4VIF.js} +1 -1
  4. package/dist/{Default.vue_vue_type_script_setup_true_lang-Bo4WZz8V.js → Default.vue_vue_type_script_setup_true_lang-BdqhFB8u.js} +2 -2
  5. package/dist/{FilterSelector.vue_vue_type_script_setup_true_lang-Bau6GuZI.js → FilterSelector.vue_vue_type_script_setup_true_lang-CutuEMyo.js} +5 -5
  6. package/dist/{InsightView-mVmsz9Bb.js → InsightView-DT-uBPVt.js} +5 -5
  7. package/dist/{Integration-D93eQCHy.js → Integration-Czc6q14E.js} +2 -2
  8. package/dist/{Integrations-jn20KmcD.js → Integrations-DIXSWGS_.js} +3 -3
  9. package/dist/{Layout-J-1sxcsR.js → Layout-B_Ac7nYA.js} +1 -1
  10. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-m7X1vK7s.js → MenuTab.vue_vue_type_script_setup_true_lang-Bs-m2m-I.js} +5 -5
  11. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-DKQ7zOQD.js → NavigationTab.vue_vue_type_script_setup_true_lang-DvIiZm-J.js} +4 -4
  12. package/dist/{NoData.vue_vue_type_script_setup_true_lang-BUoYdn5S.js → NoData.vue_vue_type_script_setup_true_lang-CtN7oqXx.js} +1 -1
  13. package/dist/{OverviewView-CInlyiRI.js → OverviewView-ByPB0h3-.js} +24 -23
  14. package/dist/{Report-sKO15Hq-.js → Report-BB76YTf7.js} +195 -175
  15. package/dist/{ReportEditor-BE-5Ly-6.js → ReportEditor-BzIQcu_6.js} +6 -6
  16. package/dist/ReportView-C6-SKiiL.js +194 -0
  17. package/dist/{SelectComponent.vue_vue_type_script_setup_true_lang-B2oCOTUH.js → SelectComponent.vue_vue_type_script_setup_true_lang-BcQEW5MO.js} +1 -1
  18. package/dist/{Setting-CLEwrCsI.js → Setting-DsU_Tn9Y.js} +4 -4
  19. package/dist/{TileEditor-BNQZPe0_.js → TileEditor-CryYSc8X.js} +7 -7
  20. package/dist/{TransitionFade-uRSySHyu.js → TransitionFade-CZ_9hsfO.js} +5 -5
  21. package/dist/app.js +19 -11
  22. package/dist/{vue-i18n-BQN8HgvD.js → vue-i18n-BJW_sJot.js} +1 -1
  23. package/package.json +1 -1
  24. package/dist/ReportView-CcZXP7JT.js +0 -194
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as X, mergeModels as K, useModel as Q, ref as I, computed as D, resolveComponent as c, createBlock as k, openBlock as i, withCtx as u, createElementVNode as h, createVNode as o, unref as t, normalizeClass as ie, createTextVNode as _e, toDisplayString as H, createElementBlock as T, Fragment as G, renderSlot as $e, createCommentVNode as A, watch as de, renderList as ee, resolveDynamicComponent as Ie, isRef as Te, normalizeStyle as we, onMounted as Re } from "vue";
2
- import { W as We, g as qe, _ as Ee, i as Pe, S as xe, d as ke, T as Je, a as ze } from "./TransitionFade-uRSySHyu.js";
3
- import { D as j, c as ue, C as ge, a as Oe, b as He, v as re } from "./BaseDialog.vue_vue_type_script_setup_true_lang-CGksnskl.js";
2
+ import { W as We, g as qe, _ as Ee, i as Pe, S as xe, d as ke, T as Je, a as ze } from "./TransitionFade-CZ_9hsfO.js";
3
+ import { D as j, c as ue, C as ge, a as Oe, b as He, v as re } from "./BaseDialog.vue_vue_type_script_setup_true_lang-B_DRp5Jk.js";
4
4
  import { storeToRefs as me } from "pinia";
5
5
  import { useRouter as Ne, useRoute as Me } from "vue-router";
6
6
  import { useBreakpoints as pe, useSnackbar as De, FmButtonColorThemeVariant as oe } from "@feedmepos/ui-library";
7
7
  import { u as Ue } from "./message-dialog-UoMWOnil.js";
8
- import { u as se, b as Le, i as be, f as je } from "./vue-i18n-BQN8HgvD.js";
9
- import { a as Ce, _ as he } from "./FilterSelector.vue_vue_type_script_setup_true_lang-Bau6GuZI.js";
10
- import { _ as ye } from "./NoData.vue_vue_type_script_setup_true_lang-BUoYdn5S.js";
8
+ import { u as se, b as Le, i as be, f as je } from "./vue-i18n-BJW_sJot.js";
9
+ import { a as Ce, _ as he } from "./FilterSelector.vue_vue_type_script_setup_true_lang-CutuEMyo.js";
10
+ import { _ as ye } from "./NoData.vue_vue_type_script_setup_true_lang-CtN7oqXx.js";
11
11
  import { r as ce } from "./i18n-DQxDgiLO.js";
12
- import { _ as Ve } from "./SelectComponent.vue_vue_type_script_setup_true_lang-B2oCOTUH.js";
12
+ import { _ as Ve } from "./SelectComponent.vue_vue_type_script_setup_true_lang-BcQEW5MO.js";
13
13
  const Ge = /* @__PURE__ */ X({
14
14
  __name: "WidgetDialog",
15
15
  props: /* @__PURE__ */ K({
@@ -0,0 +1,194 @@
1
+ import { defineComponent as H, computed as g, resolveComponent as M, createBlock as y, openBlock as u, withCtx as Y, createVNode as R, createElementVNode as O, unref as r, normalizeStyle as G, normalizeClass as $, createElementBlock as D, Fragment as Q, renderList as U } from "vue";
2
+ import { _ as W } from "./MenuTab.vue_vue_type_script_setup_true_lang-Bs-m2m-I.js";
3
+ import { _ as K } from "./FilterSelector.vue_vue_type_script_setup_true_lang-CutuEMyo.js";
4
+ import { useRouter as X, useRoute as Z } from "vue-router";
5
+ import { _ as ee } from "./Default.vue_vue_type_script_setup_true_lang-BdqhFB8u.js";
6
+ import { a as oe } from "./BaseDialog.vue_vue_type_script_setup_true_lang-B_DRp5Jk.js";
7
+ import { storeToRefs as v } from "pinia";
8
+ import { b as te, c as re, u as ae } from "./NavigationTab.vue_vue_type_script_setup_true_lang-DvIiZm-J.js";
9
+ import { _ as le } from "./NoData.vue_vue_type_script_setup_true_lang-CtN7oqXx.js";
10
+ import { useSnackbar as se, useBreakpoints as ne } from "@feedmepos/ui-library";
11
+ import { u as ie, f as ue, e as ce } from "./vue-i18n-BJW_sJot.js";
12
+ import { u as pe } from "./message-dialog-UoMWOnil.js";
13
+ import { r as me } from "./i18n-DQxDgiLO.js";
14
+ const de = { class: "sticky top-0 z-10 bg-white" }, $e = /* @__PURE__ */ H({
15
+ __name: "ReportView",
16
+ setup(ve) {
17
+ const { t: e, te: E } = ie(), f = X(), c = Z(), i = se(), { promptMessage: P } = pe(), p = oe(), b = te(), { promptLoader: _ } = ue(), { breakpoints: n } = ne(), {
18
+ currentReport: t,
19
+ overviewReport: I,
20
+ currentReportId: m,
21
+ isOpenDownloadDialog: J,
22
+ isOpenEmailDialog: N,
23
+ editingReport: q,
24
+ canCreateCustomReport: A,
25
+ customReportQuota: w
26
+ } = v(p), { isOpenAccountingDialog: B } = v(re()), { isOpenScheduleDialog: k } = v(ae()), { disabled: L } = v(ce()), T = g(() => {
27
+ var s;
28
+ const a = m.value === ((s = I.value) == null ? void 0 : s.id), o = [
29
+ {
30
+ icon: "mail",
31
+ label: e("report.common.emailSchedule"),
32
+ onClick: () => {
33
+ k.value = !0;
34
+ }
35
+ },
36
+ {
37
+ icon: "article",
38
+ label: e(a ? "report.common.unsetAsOverview" : "report.common.setAsOverview"),
39
+ onClick: async () => {
40
+ await _(async () => {
41
+ if (t.value)
42
+ try {
43
+ await p.updateDefaultReport(a ? null : t.value.id), i.open({
44
+ message: `Successfully ${a ? "unset" : "set"} ${t.value.name} as Overview`,
45
+ type: "success"
46
+ });
47
+ } catch (d) {
48
+ i.open({ message: JSON.stringify(d), type: "error" });
49
+ }
50
+ });
51
+ }
52
+ },
53
+ {
54
+ icon: "content_copy",
55
+ label: e("report.common.copyID"),
56
+ onClick: () => {
57
+ t.value && (navigator.clipboard.writeText(m.value), i.open({ message: e("report.messages.copiedReportIdToClipboard"), type: "success" }));
58
+ }
59
+ },
60
+ {
61
+ icon: "report_jobs",
62
+ label: e("report.common.reportStatus"),
63
+ onClick: () => {
64
+ C();
65
+ }
66
+ }
67
+ ];
68
+ return L.value || o.splice(1, 0, {
69
+ icon: "download",
70
+ label: e("report.common.accountingExport"),
71
+ onClick: S
72
+ }), o;
73
+ });
74
+ async function C() {
75
+ b.isOpenJobDialog = !0, await b.getJobs();
76
+ }
77
+ function j() {
78
+ q.value = JSON.parse(JSON.stringify(t.value)), f.push({
79
+ name: "reportEditor",
80
+ query: c.query
81
+ });
82
+ }
83
+ async function F() {
84
+ if (!A.value) {
85
+ let o = `Your current plan only support up to ${w.value} custom reports.`;
86
+ w.value === 0 && (o = "Your current plan does not support custom report."), i.open({
87
+ message: o,
88
+ type: "error"
89
+ });
90
+ return;
91
+ }
92
+ if (!t.value) {
93
+ i.open({ message: "No Widget", type: "error" });
94
+ return;
95
+ }
96
+ if (await P({
97
+ title: `${e("report.messages.saveReport")}`,
98
+ message: e("report.messages.confirmAction", {
99
+ action: e("report.common.duplicate"),
100
+ name: t.value.name
101
+ })
102
+ }) && t.value) {
103
+ const o = JSON.parse(JSON.stringify(t.value));
104
+ o.editable = !0, o.id = "", o.name = `${o.name} duplicate`;
105
+ try {
106
+ await _(async () => {
107
+ const s = await p.createOrUpdateReport(o);
108
+ p.updateCurrentReportId(s.id), f.push({
109
+ name: "reportView",
110
+ params: c.params,
111
+ query: c.query
112
+ });
113
+ });
114
+ } catch (s) {
115
+ console.log(s), i.open({ message: "Failed to clone report", type: "error" });
116
+ }
117
+ }
118
+ }
119
+ function S() {
120
+ B.value = !0;
121
+ }
122
+ function V() {
123
+ t.value && (navigator.clipboard.writeText(m.value), i.open({ message: "Copied report ID to clipboard", type: "success" }));
124
+ }
125
+ const x = g(() => t.value ? t.value.tiles : []), z = g(() => {
126
+ var o;
127
+ let a = [
128
+ (o = t == null ? void 0 : t.value) != null && o.editable ? { label: e("report.common.edit"), value: "edit", isPrimary: !1 } : {
129
+ label: e("report.common.duplicate"),
130
+ value: "duplicate",
131
+ isPrimary: !1
132
+ },
133
+ {
134
+ label: e("report.common.download"),
135
+ value: "download",
136
+ isPrimary: !0,
137
+ prependIcon: "download"
138
+ },
139
+ { label: e("report.schedule.sendEmail"), value: "email", isPrimary: !0 }
140
+ ];
141
+ return n.value.xs && (a = [
142
+ ...a,
143
+ { label: e("report.schedule.sendEmail"), value: "email", isPrimary: !1 },
144
+ { label: e("report.common.reportStatus"), value: "report_jobs", isPrimary: !1 },
145
+ { label: e("report.schedule.sendEmail"), value: "schedule_email", isPrimary: !1 },
146
+ { label: e("report.common.accountingExport"), value: "export", isPrimary: !1 },
147
+ { label: e("report.common.copyID"), value: "content_copy", isPrimary: !1 }
148
+ ], a = a.filter((s) => s.value !== "edit")), a;
149
+ });
150
+ return (a, o) => {
151
+ const s = M("FmPageHead");
152
+ return u(), y(ee, null, {
153
+ default: Y(() => {
154
+ var d;
155
+ return [
156
+ R(s, {
157
+ title: r(me)(r(e), r(E), (d = r(t)) == null ? void 0 : d.name, "other"),
158
+ "back-button": !0,
159
+ actions: z.value,
160
+ "onClick:back": o[0] || (o[0] = (l) => r(f).push({ name: "reports", query: r(c).query })),
161
+ "onClick:action": o[1] || (o[1] = (l) => {
162
+ l === "duplicate" && F(), l === "download" && (J.value = !0), l === "email" && (N.value = !0), l === "edit" && j(), l === "schedule_email" && (k.value = !0), l === "content_copy" && V(), l === "export" && S(), l === "report_jobs" && C();
163
+ })
164
+ }, null, 8, ["title", "actions"]),
165
+ O("div", {
166
+ class: $(`flex flex-col overflow-y-auto ${r(n).xs || r(n).sm ? "pb-20" : ""}`),
167
+ style: G({ height: `calc(100% - ${r(n).lg || r(n).md ? 72 : 64}px)` })
168
+ }, [
169
+ O("div", de, [
170
+ R(W, {
171
+ "model-value": r(n).lg || r(n).md ? T.value : []
172
+ }, null, 8, ["model-value"])
173
+ ]),
174
+ r(t) && x.value.length > 0 ? (u(), D("div", {
175
+ key: 0,
176
+ class: $(["grid grid-cols-12", r(n).sm || r(n).xs ? "px-3 gap-[16px]" : "px-24 gap-[24px]"])
177
+ }, [
178
+ (u(!0), D(Q, null, U(x.value, (l, h) => (u(), y(K, {
179
+ key: `widget_${r(m)}_${h}`,
180
+ "model-value": l,
181
+ index: h
182
+ }, null, 8, ["model-value", "index"]))), 128))
183
+ ], 2)) : (u(), y(le, { key: 1 }))
184
+ ], 6)
185
+ ];
186
+ }),
187
+ _: 1
188
+ });
189
+ };
190
+ }
191
+ });
192
+ export {
193
+ $e as default
194
+ };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as B, mergeModels as D, useModel as z, ref as b, computed as f, resolveComponent as n, createBlock as y, openBlock as _, withCtx as m, createElementVNode as c, normalizeStyle as L, withDirectives as U, createElementBlock as $, createVNode as d, unref as E, vShow as H, Fragment as N, renderList as O, toDisplayString as g, normalizeClass as q } from "vue";
2
- import { u as A } from "./vue-i18n-BQN8HgvD.js";
2
+ import { u as A } from "./vue-i18n-BJW_sJot.js";
3
3
  const K = (s, u) => {
4
4
  const t = s.__vccOpts || s;
5
5
  for (const [o, i] of u)
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as B, ref as H, useModel as J, resolveComponent as h, createElementBlock as k, openBlock as x, createBlock as P, createElementVNode as t, resolveDynamicComponent as ne, unref as e, withCtx as y, createVNode as a, normalizeClass as O, toDisplayString as s, Fragment as K, renderList as Q, withDirectives as M, createTextVNode as ie, vShow as j, watch as me, normalizeStyle as ue } from "vue";
2
- import { _ as de } from "./Default.vue_vue_type_script_setup_true_lang-Bo4WZz8V.js";
3
- import { u as U, d as z, C as I, D as pe, b as ce } from "./vue-i18n-BQN8HgvD.js";
2
+ import { _ as de } from "./Default.vue_vue_type_script_setup_true_lang-BdqhFB8u.js";
3
+ import { u as U, d as z, C as I, D as pe, b as ce } from "./vue-i18n-BJW_sJot.js";
4
4
  import { components as A, useSnackbar as W, useBreakpoints as X, FmButtonColorThemeVariant as G } from "@feedmepos/ui-library";
5
- import { t as N, s as fe } from "./BaseDialog.vue_vue_type_script_setup_true_lang-CGksnskl.js";
5
+ import { t as N, s as fe } from "./BaseDialog.vue_vue_type_script_setup_true_lang-B_DRp5Jk.js";
6
6
  import { u as ve } from "./message-dialog-UoMWOnil.js";
7
7
  import { detectLocale as F } from "@feedmepos/mf-common";
8
- import { _ as Y } from "./SelectComponent.vue_vue_type_script_setup_true_lang-B2oCOTUH.js";
8
+ import { _ as Y } from "./SelectComponent.vue_vue_type_script_setup_true_lang-BcQEW5MO.js";
9
9
  import { storeToRefs as _e } from "pinia";
10
10
  const ge = { class: "px-5 py-2" }, ye = { class: "flex" }, he = { class: "flex px-5 gap-2" }, xe = { class: "flex flex-col gap-2" }, be = { class: "fm-typo-en-title-sm-600" }, Ce = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ve = { class: "w-full gap-[24px] flex flex-col pt-2" }, Te = { class: "flex items-center w-full gap-3" }, De = { class: "text-fm-color-typo-primary" }, $e = { class: "text-fm-color-typo-secondary" }, Se = { class: "flex items-center gap-2" }, ke = /* @__PURE__ */ B({
11
11
  __name: "ReportHour",
@@ -1,16 +1,16 @@
1
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
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-uRSySHyu.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-CGksnskl.js";
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-CZ_9hsfO.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-B_DRp5Jk.js";
5
5
  import { storeToRefs as ue } from "pinia";
6
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-BQN8HgvD.js";
7
+ import { u as Y, h as je, p as tl, b as Re, d as ce } from "./vue-i18n-BJW_sJot.js";
8
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-B2oCOTUH.js";
9
+ import { _ as Q } from "./SelectComponent.vue_vue_type_script_setup_true_lang-BcQEW5MO.js";
10
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-Bau6GuZI.js";
12
- import { d as be } from "./DateRangeSelect.vue_vue_type_script_setup_true_lang-cfshXMB2.js";
13
- import { _ as Pe } from "./NoData.vue_vue_type_script_setup_true_lang-BUoYdn5S.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-CutuEMyo.js";
12
+ import { d as be } from "./DateRangeSelect.vue_vue_type_script_setup_true_lang-BeBr4VIF.js";
13
+ import { _ as Pe } from "./NoData.vue_vue_type_script_setup_true_lang-CtN7oqXx.js";
14
14
  const he = [
15
15
  {
16
16
  type: B.Circular,
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as xe, onBeforeMount as On, onBeforeUnmount as In, resolveComponent as N, createElementBlock as Q, openBlock as V, normalizeStyle as Fn, unref as M, renderSlot as He, createVNode as k, createElementVNode as ve, toDisplayString as Ae, TransitionGroup as kn, nextTick as en, h as Bt, mergeModels as At, useModel as ze, computed as Fe, Fragment as Ge, renderList as tn, createBlock as Pe, normalizeClass as An, withCtx as ae, createTextVNode as nn, Transition as Tt, createCommentVNode as fe, ref as De, watch as mt, withModifiers as Rt } from "vue";
2
- import { u as Nt, f as Nn, p as Pn, d as pt, j as on, h as Vn } from "./vue-i18n-BQN8HgvD.js";
2
+ import { u as Nt, f as Nn, p as Pn, d as pt, j as on, h as Vn } from "./vue-i18n-BJW_sJot.js";
3
3
  import { useCoreStore as Mn } from "@feedmepos/mf-common";
4
4
  import { storeToRefs as Ln } from "pinia";
5
5
  import { useRoute as $n } from "vue-router";
6
- import { W as L, c as Ce, d as Bn } from "./BaseDialog.vue_vue_type_script_setup_true_lang-CGksnskl.js";
7
- import { a as Pt, _ as Xt } from "./SelectComponent.vue_vue_type_script_setup_true_lang-B2oCOTUH.js";
8
- import { R as Rn, I as Le, c as rn, d as an, e as Xn } from "./FilterSelector.vue_vue_type_script_setup_true_lang-Bau6GuZI.js";
6
+ import { W as L, c as Ce, d as Bn } from "./BaseDialog.vue_vue_type_script_setup_true_lang-B_DRp5Jk.js";
7
+ import { a as Pt, _ as Xt } from "./SelectComponent.vue_vue_type_script_setup_true_lang-BcQEW5MO.js";
8
+ import { R as Rn, I as Le, c as rn, d as an, e as Xn } from "./FilterSelector.vue_vue_type_script_setup_true_lang-CutuEMyo.js";
9
9
  import { useSnackbar as Yn } from "@feedmepos/ui-library";
10
- import { d as Wn } from "./DateRangeSelect.vue_vue_type_script_setup_true_lang-cfshXMB2.js";
10
+ import { d as Wn } from "./DateRangeSelect.vue_vue_type_script_setup_true_lang-BeBr4VIF.js";
11
11
  const Un = {
12
12
  key: 0,
13
13
  class: "flex gap-24 flex-col h-screen w-screen justify-center items-center"
package/dist/app.js CHANGED
@@ -31,6 +31,8 @@ const a = {
31
31
  download: "Download",
32
32
  custom: "Custom",
33
33
  emailSchedule: "@:report.common.email schedule",
34
+ setAsOverview: "Set as Overview",
35
+ unsetAsOverview: "Unset as Overview",
34
36
  export: "Export",
35
37
  copyID: "Copy ID",
36
38
  accountingExport: "Accounting export",
@@ -1309,6 +1311,8 @@ const a = {
1309
1311
  download: "下载",
1310
1312
  custom: "自定义",
1311
1313
  emailSchedule: "@:{'report.common.email'}计划",
1314
+ setAsOverview: "设为概览",
1315
+ unsetAsOverview: "取消概览设置",
1312
1316
  export: "导出",
1313
1317
  copyID: "复制ID",
1314
1318
  accountingExport: "会计导出",
@@ -2585,6 +2589,8 @@ const a = {
2585
2589
  download: "ดาวน์โหลด",
2586
2590
  custom: "กำหนดเอง",
2587
2591
  emailSchedule: "@:report.common.email schedule",
2592
+ setAsOverview: "ตั้งเป็นภาพรวม",
2593
+ unsetAsOverview: "ยกเลิกการตั้งเป็นภาพรวม",
2588
2594
  export: "ส่งออก",
2589
2595
  copyID: "คัดลอก ID",
2590
2596
  accountingExport: "ส่งออกบัญชี",
@@ -3862,6 +3868,8 @@ const a = {
3862
3868
  download: "下載",
3863
3869
  custom: "自定義",
3864
3870
  emailSchedule: "@:{'report.common.email'}計劃",
3871
+ setAsOverview: "設為概覽",
3872
+ unsetAsOverview: "取消概覽設置",
3865
3873
  export: "導出",
3866
3874
  copyID: "複製ID",
3867
3875
  accountingExport: "會計導出",
@@ -5102,51 +5110,51 @@ const a = {
5102
5110
  path: "/overview",
5103
5111
  alias: ["/"],
5104
5112
  name: "overview",
5105
- component: () => import("./OverviewView-CInlyiRI.js")
5113
+ component: () => import("./OverviewView-ByPB0h3-.js")
5106
5114
  },
5107
5115
  {
5108
5116
  path: "/report",
5109
5117
  name: "reports",
5110
- component: () => import("./Report-sKO15Hq-.js")
5118
+ component: () => import("./Report-BB76YTf7.js")
5111
5119
  },
5112
5120
  {
5113
5121
  path: "/insights",
5114
5122
  name: "insights",
5115
- component: () => import("./InsightView-mVmsz9Bb.js")
5123
+ component: () => import("./InsightView-DT-uBPVt.js")
5116
5124
  },
5117
5125
  {
5118
5126
  path: "/report-view",
5119
5127
  name: "reportView",
5120
- component: () => import("./ReportView-CcZXP7JT.js")
5128
+ component: () => import("./ReportView-C6-SKiiL.js")
5121
5129
  },
5122
5130
  {
5123
5131
  path: "/report-editor",
5124
5132
  name: "reportEditor",
5125
- component: () => import("./ReportEditor-BE-5Ly-6.js")
5133
+ component: () => import("./ReportEditor-BzIQcu_6.js")
5126
5134
  },
5127
5135
  {
5128
5136
  path: "/report-editor/tile-editor",
5129
5137
  name: "tileEditor",
5130
- component: () => import("./TileEditor-BNQZPe0_.js")
5138
+ component: () => import("./TileEditor-CryYSc8X.js")
5131
5139
  },
5132
5140
  {
5133
5141
  path: "/setting",
5134
5142
  name: "setting",
5135
- component: () => import("./Setting-CLEwrCsI.js")
5143
+ component: () => import("./Setting-DsU_Tn9Y.js")
5136
5144
  },
5137
5145
  {
5138
5146
  path: "/integration",
5139
- component: () => import("./Layout-J-1sxcsR.js"),
5147
+ component: () => import("./Layout-B_Ac7nYA.js"),
5140
5148
  children: [
5141
5149
  {
5142
5150
  name: "integrations",
5143
5151
  path: "",
5144
- component: () => import("./Integrations-jn20KmcD.js")
5152
+ component: () => import("./Integrations-DIXSWGS_.js")
5145
5153
  },
5146
5154
  {
5147
5155
  name: "integration",
5148
5156
  path: "/integration/:id",
5149
- component: () => import("./Integration-D93eQCHy.js")
5157
+ component: () => import("./Integration-Czc6q14E.js")
5150
5158
  }
5151
5159
  ]
5152
5160
  },
@@ -5170,7 +5178,7 @@ const u = {
5170
5178
  "zh-CN": m,
5171
5179
  "th-TH": c,
5172
5180
  "zh-Hant": p
5173
- }, h = e(() => import("./App-ZDMNApvl.js"));
5181
+ }, h = e(() => import("./App-BdDt90_S.js"));
5174
5182
  export {
5175
5183
  h as FmApp,
5176
5184
  u as i18nMessages,
@@ -1769,7 +1769,7 @@ class gA {
1769
1769
  this.baseUrl = t;
1770
1770
  }
1771
1771
  }
1772
- const pe = new gA("https://query-engine{.country}.feedmeapi.com"), Mt = new gA("https://query-engine{.country}.feedmeapi.com/report-query"), Vl = new gA("https://query-engine{.country}.feedmeapi.com/report-file");
1772
+ const pe = new gA("https://query-engine{.country}.feedmeapidev.com"), Mt = new gA("https://query-engine{.country}.feedmeapidev.com/report-query"), Vl = new gA("https://query-engine{.country}.feedmeapidev.com/report-file");
1773
1773
  var eo = { exports: {} };
1774
1774
  (function(e, t) {
1775
1775
  (function(n, A) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-report",
3
- "version": "5.19.30",
3
+ "version": "5.20.0-beta.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -1,194 +0,0 @@
1
- import { defineComponent as z, computed as v, resolveComponent as H, createBlock as g, openBlock as u, withCtx as M, createVNode as h, createElementVNode as R, unref as t, normalizeStyle as Y, normalizeClass as D, createElementBlock as $, Fragment as G, renderList as Q } from "vue";
2
- import { _ as U } from "./MenuTab.vue_vue_type_script_setup_true_lang-m7X1vK7s.js";
3
- import { _ as W } from "./FilterSelector.vue_vue_type_script_setup_true_lang-Bau6GuZI.js";
4
- import { useRouter as K, useRoute as X } from "vue-router";
5
- import { _ as Z } from "./Default.vue_vue_type_script_setup_true_lang-Bo4WZz8V.js";
6
- import { a as ee } from "./BaseDialog.vue_vue_type_script_setup_true_lang-CGksnskl.js";
7
- import { storeToRefs as p } from "pinia";
8
- import { b as oe, c as te, u as re } from "./NavigationTab.vue_vue_type_script_setup_true_lang-DKQ7zOQD.js";
9
- import { _ as ae } from "./NoData.vue_vue_type_script_setup_true_lang-BUoYdn5S.js";
10
- import { useSnackbar as le, useBreakpoints as ne } from "@feedmepos/ui-library";
11
- import { u as se, f as ie, e as ue } from "./vue-i18n-BQN8HgvD.js";
12
- import { u as ce } from "./message-dialog-UoMWOnil.js";
13
- import { r as pe } from "./i18n-DQxDgiLO.js";
14
- const me = { class: "sticky top-0 z-10 bg-white" }, De = /* @__PURE__ */ z({
15
- __name: "ReportView",
16
- setup(de) {
17
- const { t: e, te: E } = se(), m = K(), c = X(), i = le(), { promptMessage: P } = ce(), d = ee(), b = oe(), { promptLoader: I } = ie(), { breakpoints: n } = ne(), {
18
- currentReport: r,
19
- currentReportId: f,
20
- isOpenDownloadDialog: O,
21
- isOpenEmailDialog: J,
22
- editingReport: N,
23
- canCreateCustomReport: q,
24
- customReportQuota: y
25
- } = p(d), { isOpenAccountingDialog: B } = p(te()), { isOpenScheduleDialog: _ } = p(re()), { disabled: L } = p(ue()), T = v(() => {
26
- const l = [
27
- {
28
- icon: "mail",
29
- label: e("report.common.emailSchedule"),
30
- onClick: () => {
31
- _.value = !0;
32
- }
33
- },
34
- // {
35
- // icon: "article",
36
- // label: "Set as Default",
37
- // onClick: async () => {
38
- // await promptLoader(async () => {
39
- // if (currentReport.value) {
40
- // try {
41
- // await reportStore.updateDefaultReport(currentReport.value.id)
42
- // snackbar.open({
43
- // message: `Set ${currentReport.value.name} as default successful`,
44
- // type: "success"
45
- // })
46
- // } catch (err) {
47
- // snackbar.open({ message: JSON.stringify(err), type: "error" })
48
- // }
49
- // }
50
- // })
51
- // }
52
- // },
53
- {
54
- icon: "content_copy",
55
- label: e("report.common.copyID"),
56
- onClick: () => {
57
- r.value && (navigator.clipboard.writeText(f.value), i.open({ message: e("report.messages.copiedReportIdToClipboard"), type: "success" }));
58
- }
59
- },
60
- {
61
- icon: "report_jobs",
62
- label: e("report.common.reportStatus"),
63
- onClick: () => {
64
- k();
65
- }
66
- }
67
- ];
68
- return L.value || l.splice(1, 0, {
69
- icon: "download",
70
- label: e("report.common.accountingExport"),
71
- onClick: C
72
- }), l;
73
- });
74
- async function k() {
75
- b.isOpenJobDialog = !0, await b.getJobs();
76
- }
77
- function j() {
78
- N.value = JSON.parse(JSON.stringify(r.value)), m.push({
79
- name: "reportEditor",
80
- query: c.query
81
- });
82
- }
83
- async function A() {
84
- if (!q.value) {
85
- let o = `Your current plan only support up to ${y.value} custom reports.`;
86
- y.value === 0 && (o = "Your current plan does not support custom report."), i.open({
87
- message: o,
88
- type: "error"
89
- });
90
- return;
91
- }
92
- if (!r.value) {
93
- i.open({ message: "No Widget", type: "error" });
94
- return;
95
- }
96
- if (await P({
97
- title: `${e("report.messages.saveReport")}`,
98
- message: e("report.messages.confirmAction", {
99
- action: e("report.common.duplicate"),
100
- name: r.value.name
101
- })
102
- }) && r.value) {
103
- const o = JSON.parse(JSON.stringify(r.value));
104
- o.editable = !0, o.id = "", o.name = `${o.name} duplicate`;
105
- try {
106
- await I(async () => {
107
- const s = await d.createOrUpdateReport(o);
108
- d.updateCurrentReportId(s.id), m.push({
109
- name: "reportView",
110
- params: c.params,
111
- query: c.query
112
- });
113
- });
114
- } catch (s) {
115
- console.log(s), i.open({ message: "Failed to clone report", type: "error" });
116
- }
117
- }
118
- }
119
- function C() {
120
- B.value = !0;
121
- }
122
- function F() {
123
- r.value && (navigator.clipboard.writeText(f.value), i.open({ message: "Copied report ID to clipboard", type: "success" }));
124
- }
125
- const x = v(() => r.value ? r.value.tiles : []), V = v(() => {
126
- var o;
127
- let l = [
128
- (o = r == null ? void 0 : r.value) != null && o.editable ? { label: e("report.common.edit"), value: "edit", isPrimary: !1 } : {
129
- label: e("report.common.duplicate"),
130
- value: "duplicate",
131
- isPrimary: !1
132
- },
133
- {
134
- label: e("report.common.download"),
135
- value: "download",
136
- isPrimary: !0,
137
- prependIcon: "download"
138
- },
139
- { label: e("report.schedule.sendEmail"), value: "email", isPrimary: !0 }
140
- ];
141
- return n.value.xs && (l = [
142
- ...l,
143
- { label: e("report.schedule.sendEmail"), value: "email", isPrimary: !1 },
144
- { label: e("report.common.reportStatus"), value: "report_jobs", isPrimary: !1 },
145
- { label: e("report.schedule.sendEmail"), value: "schedule_email", isPrimary: !1 },
146
- { label: e("report.common.accountingExport"), value: "export", isPrimary: !1 },
147
- { label: e("report.common.copyID"), value: "content_copy", isPrimary: !1 }
148
- ], l = l.filter((s) => s.value !== "edit")), l;
149
- });
150
- return (l, o) => {
151
- const s = H("FmPageHead");
152
- return u(), g(Z, null, {
153
- default: M(() => {
154
- var S;
155
- return [
156
- h(s, {
157
- title: t(pe)(t(e), t(E), (S = t(r)) == null ? void 0 : S.name, "other"),
158
- "back-button": !0,
159
- actions: V.value,
160
- "onClick:back": o[0] || (o[0] = (a) => t(m).push({ name: "reports", query: t(c).query })),
161
- "onClick:action": o[1] || (o[1] = (a) => {
162
- a === "duplicate" && A(), a === "download" && (O.value = !0), a === "email" && (J.value = !0), a === "edit" && j(), a === "schedule_email" && (_.value = !0), a === "content_copy" && F(), a === "export" && C(), a === "report_jobs" && k();
163
- })
164
- }, null, 8, ["title", "actions"]),
165
- R("div", {
166
- class: D(`flex flex-col overflow-y-auto ${t(n).xs || t(n).sm ? "pb-20" : ""}`),
167
- style: Y({ height: `calc(100% - ${t(n).lg || t(n).md ? 72 : 64}px)` })
168
- }, [
169
- R("div", me, [
170
- h(U, {
171
- "model-value": t(n).lg || t(n).md ? T.value : []
172
- }, null, 8, ["model-value"])
173
- ]),
174
- t(r) && x.value.length > 0 ? (u(), $("div", {
175
- key: 0,
176
- class: D(["grid grid-cols-12", t(n).sm || t(n).xs ? "px-3 gap-[16px]" : "px-24 gap-[24px]"])
177
- }, [
178
- (u(!0), $(G, null, Q(x.value, (a, w) => (u(), g(W, {
179
- key: `widget_${t(f)}_${w}`,
180
- "model-value": a,
181
- index: w
182
- }, null, 8, ["model-value", "index"]))), 128))
183
- ], 2)) : (u(), g(ae, { key: 1 }))
184
- ], 6)
185
- ];
186
- }),
187
- _: 1
188
- });
189
- };
190
- }
191
- });
192
- export {
193
- De as default
194
- };