@feedmepos/mf-report 5.17.3 → 5.18.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-C9I2NljG.js +152 -0
  2. package/dist/{BaseDialog.vue_vue_type_script_setup_true_lang-zm9n1O33.js → BaseDialog.vue_vue_type_script_setup_true_lang-DK6im_EY.js} +5 -5
  3. package/dist/{DateRangeSelect.vue_vue_type_script_setup_true_lang-BTAGYDCz.js → DateRangeSelect.vue_vue_type_script_setup_true_lang-uiSe3Jon.js} +2 -2
  4. package/dist/{Default.vue_vue_type_script_setup_true_lang-CgYGO4yx.js → Default.vue_vue_type_script_setup_true_lang-BX_Bz8I8.js} +2 -2
  5. package/dist/{DynamicWidget.vue_vue_type_script_setup_true_lang-C8cyy9bU.js → DynamicWidget.vue_vue_type_script_setup_true_lang-CNRtuVTK.js} +5 -5
  6. package/dist/{InsightView-DHJpgIpN.js → InsightView-DV6Nvi6h.js} +5 -5
  7. package/dist/{Integration-1nQoa-4L.js → Integration-CWUSF_o7.js} +2 -2
  8. package/dist/{Integrations-CwUDvDyk.js → Integrations-BOVIAEgw.js} +3 -3
  9. package/dist/{Layout-BGv-nIpA.js → Layout-CTUQOBlj.js} +1 -1
  10. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-2WVMDoeu.js → MenuTab.vue_vue_type_script_setup_true_lang-DAFwqfMp.js} +6 -6
  11. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-WtoZmgSS.js → NavigationTab.vue_vue_type_script_setup_true_lang-BDA9wTdJ.js} +9599 -9310
  12. package/dist/{NoData.vue_vue_type_script_setup_true_lang-jqchPoxC.js → NoData.vue_vue_type_script_setup_true_lang-Divo8W18.js} +1 -1
  13. package/dist/{OverviewView-BoCmq1bd.js → OverviewView-BdkNW-E-.js} +5 -5
  14. package/dist/Report-YAviXRm9.js +449 -0
  15. package/dist/{ReportEditor-xcYNm8FC.js → ReportEditor-CMqGCf9p.js} +6 -6
  16. package/dist/ReportView-CyTt0xju.js +252 -0
  17. package/dist/{SelectComponent.vue_vue_type_script_setup_true_lang-DgqTEstg.js → SelectComponent.vue_vue_type_script_setup_true_lang-mR2PeX3S.js} +1 -1
  18. package/dist/{Setting-4tVYcTe9.js → Setting-CxGy_k2J.js} +4 -4
  19. package/dist/{TileEditor-Bf1rvmkB.js → TileEditor-BxXlzNXM.js} +7 -7
  20. package/dist/{TransitionFade-Dqqv1vPC.js → TransitionFade-C0ttcU9I.js} +5 -5
  21. package/dist/app.js +71 -23
  22. package/dist/{helper-DhCLLL6W.js → helper-UCnMF9KV.js} +1 -1
  23. package/dist/{vue-i18n-DFboGk6x.js → vue-i18n-CTLGxUiF.js} +2238 -2224
  24. package/package.json +1 -1
  25. package/dist/App-C0PwmiVf.js +0 -149
  26. package/dist/Report-BM6y_VoL.js +0 -426
  27. package/dist/ReportView-AqpMV-lD.js +0 -192
@@ -0,0 +1,252 @@
1
+ import { defineComponent as ee, computed as c, watch as J, resolveComponent as te, createBlock as _, openBlock as y, withCtx as ae, createVNode as E, createElementVNode as L, unref as n, normalizeStyle as re, normalizeClass as N, createElementBlock as $, Fragment as oe, renderList as ne } from "vue";
2
+ import { _ as ie } from "./MenuTab.vue_vue_type_script_setup_true_lang-DAFwqfMp.js";
3
+ import { _ as se } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-CNRtuVTK.js";
4
+ import { useRouter as le, useRoute as ue } from "vue-router";
5
+ import { _ as ce } from "./Default.vue_vue_type_script_setup_true_lang-BX_Bz8I8.js";
6
+ import { a as de } from "./BaseDialog.vue_vue_type_script_setup_true_lang-DK6im_EY.js";
7
+ import { storeToRefs as I } from "pinia";
8
+ import { b as pe, c as me, u as fe } from "./NavigationTab.vue_vue_type_script_setup_true_lang-BDA9wTdJ.js";
9
+ import { _ as ge } from "./NoData.vue_vue_type_script_setup_true_lang-Divo8W18.js";
10
+ import { useSnackbar as ye, useBreakpoints as ve } from "@feedmepos/ui-library";
11
+ import { u as De, b as Se, f as be, d, e as Re } from "./vue-i18n-CTLGxUiF.js";
12
+ import { u as Ie } from "./message-dialog-UoMWOnil.js";
13
+ import { r as _e } from "./i18n-Cif1I9J2.js";
14
+ const qe = { class: "sticky top-0 z-10 bg-white" }, Ae = /* @__PURE__ */ ee({
15
+ __name: "ReportView",
16
+ setup(Ce) {
17
+ const { t: i, te: P } = De(), v = le(), e = ue(), m = ye(), { promptMessage: M } = Ie(), f = de(), q = pe(), l = Se(), { promptLoader: A } = be(), { breakpoints: u } = ve(), {
18
+ currentReport: o,
19
+ currentReportId: C,
20
+ isOpenDownloadDialog: T,
21
+ isOpenEmailDialog: F,
22
+ editingReport: j,
23
+ canCreateCustomReport: B,
24
+ customReportQuota: O
25
+ } = I(f), D = c(() => e.query.reportId || C.value), S = c(() => ({
26
+ startDate: e.query.startDate ? d(e.query.startDate).startOf("day").toISOString() : void 0,
27
+ endDate: e.query.endDate ? d(e.query.endDate).endOf("day").toISOString() : void 0
28
+ })), b = c(() => ({
29
+ startDate: e.query.compareStartDate ? d(e.query.compareStartDate).startOf("day").toISOString() : void 0,
30
+ endDate: e.query.compareEndDate ? d(e.query.compareEndDate).endOf("day").toISOString() : void 0
31
+ })), R = c(() => ({
32
+ start: e.query.timeStart ? JSON.parse(e.query.timeStart) : void 0,
33
+ end: e.query.timeEnd ? JSON.parse(e.query.timeEnd) : void 0
34
+ })), k = c(() => e.query.isAllLocation === "true"), Q = c(() => k.value ? l.selectedLocationIds : e.query.locationIds ? JSON.parse(e.query.locationIds) : void 0);
35
+ J(
36
+ () => f.reports.length,
37
+ (a) => {
38
+ if (a > 0) {
39
+ const t = e.query.reportId;
40
+ t && t !== C.value && (f.updateCurrentReportId(t), (S.value.startDate || S.value.endDate) && l.setDateRange({
41
+ startDate: S.value.startDate,
42
+ endDate: S.value.endDate
43
+ }), (b.value.startDate || b.value.endDate) && l.setCompareDateRange({
44
+ startDate: b.value.startDate,
45
+ endDate: b.value.endDate
46
+ }), (R.value.start || R.value.end) && l.setTimeRange({
47
+ start: R.value.start,
48
+ end: R.value.end
49
+ }), k.value || l.setSelectedLocationIds(Q.value));
50
+ }
51
+ },
52
+ { immediate: !0 }
53
+ ), J(
54
+ () => ({
55
+ selectedLocationIds: l.selectedLocationIds,
56
+ dateRange: l.dateRange,
57
+ timeRange: l.timeRange,
58
+ compareDateRange: l.compareDateRange
59
+ }),
60
+ (a) => {
61
+ const t = a.selectedLocationIds, s = a.dateRange, p = a.timeRange, r = a.compareDateRange;
62
+ if (!o.value) return;
63
+ const g = {
64
+ ...e.query,
65
+ reportId: D.value,
66
+ startDate: s.startDate ? d(s.startDate).format("YYYY-MM-DD") : void 0,
67
+ endDate: s.endDate ? d(s.endDate).format("YYYY-MM-DD") : void 0,
68
+ compareStartDate: r.startDate ? d(r.startDate).format("YYYY-MM-DD") : void 0,
69
+ compareEndDate: r.endDate ? d(r.endDate).format("YYYY-MM-DD") : void 0,
70
+ timeStart: p.start ? JSON.stringify(p.start) : void 0,
71
+ timeEnd: p.end ? JSON.stringify(p.end) : void 0,
72
+ locationIds: t.length === l.locations.length ? null : t.length > 0 ? JSON.stringify(t) : void 0,
73
+ isAllLocation: String(t.length === l.locations.length)
74
+ }, X = JSON.stringify(e.query), Z = JSON.stringify(g);
75
+ X !== Z && v.replace({
76
+ name: e.name,
77
+ params: e.params,
78
+ query: g
79
+ });
80
+ },
81
+ { deep: !0 }
82
+ );
83
+ const { isOpenAccountingDialog: z } = I(me()), { isOpenScheduleDialog: w } = I(fe()), { disabled: H } = I(Re()), G = c(() => {
84
+ const a = [
85
+ {
86
+ icon: "mail",
87
+ label: i("report.common.emailSchedule"),
88
+ onClick: () => {
89
+ w.value = !0;
90
+ }
91
+ },
92
+ // {
93
+ // icon: "article",
94
+ // label: "Set as Default",
95
+ // onClick: async () => {
96
+ // await promptLoader(async () => {
97
+ // if (currentReport.value) {
98
+ // try {
99
+ // await reportStore.updateDefaultReport(currentReport.value.id)
100
+ // snackbar.open({
101
+ // message: `Set ${currentReport.value.name} as default successful`,
102
+ // type: "success"
103
+ // })
104
+ // } catch (err) {
105
+ // snackbar.open({ message: JSON.stringify(err), type: "error" })
106
+ // }
107
+ // }
108
+ // })
109
+ // }
110
+ // },
111
+ {
112
+ icon: "content_copy",
113
+ label: i("report.common.copyID"),
114
+ onClick: () => {
115
+ o.value && (navigator.clipboard.writeText(D.value), m.open({ message: i("report.messages.copiedReportIdToClipboard"), type: "success" }));
116
+ }
117
+ },
118
+ {
119
+ icon: "report_jobs",
120
+ label: i("report.common.reportStatus"),
121
+ onClick: () => {
122
+ h();
123
+ }
124
+ }
125
+ ];
126
+ return H.value || a.splice(1, 0, {
127
+ icon: "download",
128
+ label: i("report.common.accountingExport"),
129
+ onClick: x
130
+ }), a;
131
+ });
132
+ async function h() {
133
+ q.isOpenJobDialog = !0, await q.getJobs();
134
+ }
135
+ function U() {
136
+ j.value = JSON.parse(JSON.stringify(o.value)), v.push({
137
+ name: "reportEditor",
138
+ query: e.query
139
+ });
140
+ }
141
+ async function V() {
142
+ if (!B.value) {
143
+ let t = `Your current plan only support up to ${O.value} custom reports.`;
144
+ O.value === 0 && (t = "Your current plan does not support custom report."), m.open({
145
+ message: t,
146
+ type: "error"
147
+ });
148
+ return;
149
+ }
150
+ if (!o.value) {
151
+ m.open({ message: "No Widget", type: "error" });
152
+ return;
153
+ }
154
+ if (await M({
155
+ title: `${i("report.messages.saveReport")}`,
156
+ message: i("report.messages.confirmAction", {
157
+ action: i("report.common.duplicate"),
158
+ name: o.value.name
159
+ })
160
+ }) && o.value) {
161
+ const t = JSON.parse(JSON.stringify(o.value));
162
+ t.editable = !0, t.id = "", t.name = `${t.name} duplicate`;
163
+ try {
164
+ await A(async () => {
165
+ const s = await f.createOrUpdateReport(t);
166
+ f.updateCurrentReportId(s.id), v.push({
167
+ name: "reportView",
168
+ params: { reportId: s.id, ...e.params },
169
+ query: e.query
170
+ });
171
+ });
172
+ } catch (s) {
173
+ console.log(s), m.open({ message: "Failed to clone report", type: "error" });
174
+ }
175
+ }
176
+ }
177
+ function x() {
178
+ z.value = !0;
179
+ }
180
+ function W() {
181
+ o.value && (navigator.clipboard.writeText(D.value), m.open({ message: "Copied report ID to clipboard", type: "success" }));
182
+ }
183
+ const Y = c(() => o.value ? o.value.tiles : []), K = c(() => {
184
+ var t;
185
+ let a = [
186
+ (t = o == null ? void 0 : o.value) != null && t.editable ? { label: i("report.common.edit"), value: "edit", isPrimary: !1 } : {
187
+ label: i("report.common.duplicate"),
188
+ value: "duplicate",
189
+ isPrimary: !1
190
+ },
191
+ {
192
+ label: i("report.common.download"),
193
+ value: "download",
194
+ isPrimary: !0,
195
+ prependIcon: "download"
196
+ },
197
+ { label: i("report.schedule.sendEmail"), value: "email", isPrimary: !0 }
198
+ ];
199
+ return u.value.xs && (a = [
200
+ ...a,
201
+ { label: "Send Email", value: "email", isPrimary: !1 },
202
+ { label: "Job Delivery Status", value: "report_jobs", isPrimary: !1 },
203
+ { label: "Email schedule", value: "schedule_email", isPrimary: !1 },
204
+ { label: "Accounting export", value: "export", isPrimary: !1 },
205
+ { label: "Copy ID", value: "content_copy", isPrimary: !1 }
206
+ ], a = a.filter((s) => s.value !== "edit")), a;
207
+ });
208
+ return (a, t) => {
209
+ const s = te("FmPageHead");
210
+ return y(), _(ce, null, {
211
+ default: ae(() => {
212
+ var p;
213
+ return [
214
+ E(s, {
215
+ title: n(_e)(n(i), n(P), (p = n(o)) == null ? void 0 : p.name, "other"),
216
+ "back-button": !0,
217
+ actions: K.value,
218
+ "onClick:back": t[0] || (t[0] = (r) => n(v).push({ name: "reports", query: n(e).query })),
219
+ "onClick:action": t[1] || (t[1] = (r) => {
220
+ r === "duplicate" && V(), r === "download" && (T.value = !0), r === "email" && (F.value = !0), r === "edit" && U(), r === "schedule_email" && (w.value = !0), r === "content_copy" && W(), r === "export" && x(), r === "report_jobs" && h();
221
+ })
222
+ }, null, 8, ["title", "actions"]),
223
+ L("div", {
224
+ class: N(`flex flex-col overflow-y-auto ${n(u).xs || n(u).sm ? "pb-20" : ""}`),
225
+ style: re({ height: `calc(100% - ${n(u).lg || n(u).md ? 72 : 64}px)` })
226
+ }, [
227
+ L("div", qe, [
228
+ E(ie, {
229
+ "model-value": n(u).lg || n(u).md ? G.value : []
230
+ }, null, 8, ["model-value"])
231
+ ]),
232
+ n(o) && Y.value.length > 0 ? (y(), $("div", {
233
+ key: 0,
234
+ class: N(["grid grid-cols-12", n(u).sm || n(u).xs ? "px-3 gap-[16px]" : "px-24 gap-[24px]"])
235
+ }, [
236
+ (y(!0), $(oe, null, ne(Y.value, (r, g) => (y(), _(se, {
237
+ key: `widget_${D.value}_${g}`,
238
+ "model-value": r,
239
+ index: g
240
+ }, null, 8, ["model-value", "index"]))), 128))
241
+ ], 2)) : (y(), _(ge, { key: 1 }))
242
+ ], 6)
243
+ ];
244
+ }),
245
+ _: 1
246
+ });
247
+ };
248
+ }
249
+ });
250
+ export {
251
+ Ae as default
252
+ };
@@ -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-DFboGk6x.js";
2
+ import { u as A } from "./vue-i18n-CTLGxUiF.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-CgYGO4yx.js";
3
- import { u as U, d as z, C as I, D as pe, b as ce } from "./vue-i18n-DFboGk6x.js";
2
+ import { _ as de } from "./Default.vue_vue_type_script_setup_true_lang-BX_Bz8I8.js";
3
+ import { u as U, d as z, C as I, D as pe, b as ce } from "./vue-i18n-CTLGxUiF.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 "./NavigationTab.vue_vue_type_script_setup_true_lang-WtoZmgSS.js";
5
+ import { t as N, s as fe } from "./NavigationTab.vue_vue_type_script_setup_true_lang-BDA9wTdJ.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-DgqTEstg.js";
8
+ import { _ as Y } from "./SelectComponent.vue_vue_type_script_setup_true_lang-mR2PeX3S.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 M, mergeModels as J, useModel as ee, computed as _, ref as A, resolveComponent as F, createElementBlock as I, openBlock as h, createVNode as m, createElementVNode as w, unref as l, withCtx as N, toDisplayString as L, Fragment as Z, renderList as ue, withModifiers as te, createTextVNode as re, watch as se, createCommentVNode as U, createBlock as T, onMounted as Ce, onUnmounted as Pe, renderSlot as $e, onBeforeUnmount as Ae, resolveDynamicComponent as Ne, normalizeClass as Oe, withDirectives as ae, vShow as ne, normalizeStyle as Xe, isRef as We } from "vue";
2
2
  import { useRoute as qe, useRouter as He } from "vue-router";
3
- import { h as Ye, d as ke, S as Fe, _ as Ee, W as Je, b as Ge, T as Ke, a as Qe } from "./TransitionFade-Dqqv1vPC.js";
4
- import { W as B, b as Be, _ as me, D as Ze, S as Se, C as el, P as Te, a as ll } from "./BaseDialog.vue_vue_type_script_setup_true_lang-zm9n1O33.js";
3
+ import { h as Ye, d as ke, S as Fe, _ as Ee, W as Je, b as Ge, T as Ke, a as Qe } from "./TransitionFade-C0ttcU9I.js";
4
+ import { W as B, b as Be, _ as me, D as Ze, S as Se, C as el, P as Te, a as ll } from "./BaseDialog.vue_vue_type_script_setup_true_lang-DK6im_EY.js";
5
5
  import { storeToRefs as de } from "pinia";
6
6
  import { u as Ie } from "./message-dialog-UoMWOnil.js";
7
- import { u as H, h as Le, p as ol, b as tl, d as pe } from "./vue-i18n-DFboGk6x.js";
7
+ import { u as H, h as Le, p as ol, b as tl, d as pe } from "./vue-i18n-CTLGxUiF.js";
8
8
  import { useSnackbar as al, useBreakpoints as je, FmButtonColorThemeVariant as ce } from "@feedmepos/ui-library";
9
- import { _ as K } from "./SelectComponent.vue_vue_type_script_setup_true_lang-DgqTEstg.js";
9
+ import { _ as K } from "./SelectComponent.vue_vue_type_script_setup_true_lang-mR2PeX3S.js";
10
10
  import { r as Q } from "./i18n-Cif1I9J2.js";
11
- import { g as ve, u as fe, L as ie, a as he, _ as Re } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-C8cyy9bU.js";
12
- import { a as ge } from "./helper-DhCLLL6W.js";
13
- import { _ as Me } from "./NoData.vue_vue_type_script_setup_true_lang-jqchPoxC.js";
11
+ import { g as ve, u as fe, L as ie, a as he, _ as Re } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-CNRtuVTK.js";
12
+ import { a as ge } from "./helper-UCnMF9KV.js";
13
+ import { _ as Me } from "./NoData.vue_vue_type_script_setup_true_lang-Divo8W18.js";
14
14
  const ye = [
15
15
  {
16
16
  type: B.Circular,
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as Ce, onBeforeMount as xn, onBeforeUnmount as On, resolveComponent as N, createElementBlock as Q, openBlock as V, normalizeStyle as In, unref as M, renderSlot as Ge, createVNode as k, createElementVNode as be, toDisplayString as Pe, TransitionGroup as Fn, nextTick as en, h as $t, mergeModels as Nt, useModel as ze, computed as ke, Fragment as qe, renderList as tn, createBlock as Me, normalizeClass as kn, withCtx as le, createTextVNode as nn, Transition as xt, createCommentVNode as fe, ref as De, watch as pt, withModifiers as Rt } from "vue";
2
- import { u as Pt, f as An, p as Nn, d as ht, h as Pn } from "./vue-i18n-DFboGk6x.js";
2
+ import { u as Pt, f as An, p as Nn, d as ht, h as Pn } from "./vue-i18n-CTLGxUiF.js";
3
3
  import { useCoreStore as Vn } from "@feedmepos/mf-common";
4
4
  import { storeToRefs as Mn } from "pinia";
5
5
  import { useRoute as Ln } from "vue-router";
6
- import { W as L, D as Ze, c as z, C as de, _ as Bn } from "./BaseDialog.vue_vue_type_script_setup_true_lang-zm9n1O33.js";
7
- import { a as Vt, _ as Yt } from "./SelectComponent.vue_vue_type_script_setup_true_lang-DgqTEstg.js";
8
- import { R as $n } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-C8cyy9bU.js";
6
+ import { W as L, D as Ze, c as z, C as de, _ as Bn } from "./BaseDialog.vue_vue_type_script_setup_true_lang-DK6im_EY.js";
7
+ import { a as Vt, _ as Yt } from "./SelectComponent.vue_vue_type_script_setup_true_lang-mR2PeX3S.js";
8
+ import { R as $n } from "./DynamicWidget.vue_vue_type_script_setup_true_lang-CNRtuVTK.js";
9
9
  import { useSnackbar as Rn } from "@feedmepos/ui-library";
10
- import { a as Yn } from "./helper-DhCLLL6W.js";
10
+ import { a as Yn } from "./helper-UCnMF9KV.js";
11
11
  const Wn = {
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
@@ -124,7 +124,8 @@ const a = {
124
124
  saveSuccess: "@:report.common.save @.lower:report.common.successful",
125
125
  saveError: "Failed to @.lower:report.common.save @.lower:report.common.report",
126
126
  copiedReportIdToClipboard: "Copied @.lower:report.common.report ID to clipboard",
127
- failedToAction: "Failed to {action} @.lower:report.common.report"
127
+ failedToAction: "Failed to {action} @.lower:report.common.report",
128
+ generatingReport: "Report is being generated and will be sent to your email shortly. Large files may take some time."
128
129
  },
129
130
  schedule: {
130
131
  title: "Schedule @:report.common.email for @:report.common.report",
@@ -137,7 +138,12 @@ const a = {
137
138
  editSchedule: "Edit schedule",
138
139
  scheduleEmailReport: "Schedule @:report.common.email @:report.common.report",
139
140
  sendEmail: "@:report.common.send @:report.common.email",
140
- deleteSchedule: "Delete schedule"
141
+ deleteSchedule: "Delete schedule",
142
+ operatingHours: "Operating hours",
143
+ overNight: "Overnight",
144
+ crossMidnightNotice: "Operating hours that extend past midnight will be adjusted to start from the previous day.",
145
+ openSaleTime: "Open sale time",
146
+ closeSaleTime: "Close sale time"
141
147
  },
142
148
  cycle: {
143
149
  Year: "Year",
@@ -210,6 +216,7 @@ const a = {
210
216
  modifyFiltersHelperText: "Modify date, time, and store filters before sending",
211
217
  location: "Location",
212
218
  dateRange: "Date Range",
219
+ timeRange: "Time Range",
213
220
  recurrence: "Recurrence",
214
221
  closeSales: "Close sales",
215
222
  to: "to",
@@ -225,7 +232,12 @@ const a = {
225
232
  error: {
226
233
  selectAtLeastOneDay: "Please select at least one day",
227
234
  selectAtleastOneDayAndMonth: "Please select at least one day and one month",
228
- selectAtLeastAday: "Please select a day"
235
+ selectAtLeastAday: "Please select a day",
236
+ selectAtLeastOneReportType: "Please select at least one report type.",
237
+ selectOrientationForPDF: "Please select an orientation for PDF (A4) reports.",
238
+ selectValidTimeRange: "Please select a valid time range.",
239
+ invalidEmail: "One or more emails are invalid.",
240
+ failedToSend: "Failed to send report"
229
241
  },
230
242
  accounting: {
231
243
  title: "Accounting",
@@ -1353,7 +1365,8 @@ const a = {
1353
1365
  saveSuccess: "@:report.common.save@:report.common.sucessful",
1354
1366
  saveError: "失败@:report.common.save@:report.common.report",
1355
1367
  copiedReportIdToClipboard: "已复制@:report.common.reportID到剪贴板",
1356
- failedToAction: "失败{action} @:report.common.report"
1368
+ failedToAction: "失败{action} @:report.common.report",
1369
+ generatingReport: "报告正在生成,将很快发送到您的电子邮件。大文件可能需要一些时间。"
1357
1370
  },
1358
1371
  schedule: {
1359
1372
  title: "@:report.common.schedule@:{report.common.email'}给@:report.common.report",
@@ -1366,7 +1379,12 @@ const a = {
1366
1379
  editSchedule: "编辑计划",
1367
1380
  scheduleEmailReport: "@:report.common.schedule@:report.common.email@:report.common.report",
1368
1381
  sendEmail: "@:report.common.send@:report.common.email",
1369
- deleteSchedule: "删除计划"
1382
+ deleteSchedule: "删除计划",
1383
+ operatingHours: "营业时间",
1384
+ overNight: "跨夜",
1385
+ crossMidnightNotice: "延长到午夜的营业时间将调整为从前一天开始。",
1386
+ openSaleTime: "开放销售时间",
1387
+ closeSaleTime: "关闭销售时间"
1370
1388
  },
1371
1389
  cycle: {
1372
1390
  Year: "年",
@@ -1439,6 +1457,7 @@ const a = {
1439
1457
  modifyFiltersHelperText: "在发送前修改日期、时间和门店筛选条件",
1440
1458
  location: "位置",
1441
1459
  dateRange: "日期范围",
1460
+ timeRange: "时间范围",
1442
1461
  recurrence: "重复",
1443
1462
  closeSales: "关闭销售",
1444
1463
  to: "到",
@@ -1454,7 +1473,12 @@ const a = {
1454
1473
  error: {
1455
1474
  selectAtLeastOneDay: "请选择至少一天",
1456
1475
  selectAtleastOneDayAndMonth: "请选择至少一天和一个月",
1457
- selectAtLeastAday: "请选择一天"
1476
+ selectAtLeastAday: "请选择一天",
1477
+ selectAtLeastOneReportType: "请选择至少一种报告类型",
1478
+ selectOrientationForPDF: "请选择PDF(A4)报告的方向",
1479
+ selectValidTimeRange: "请选择有效的时间范围",
1480
+ invalidEmail: "一个或多个电子邮件无效",
1481
+ failedToSend: "无法发送报告"
1458
1482
  },
1459
1483
  accounting: {
1460
1484
  title: "会计",
@@ -2582,7 +2606,8 @@ const a = {
2582
2606
  saveSuccess: "@:report.common.save @.lower:report.common.successful",
2583
2607
  saveError: "ไม่สามารถ @.lower:report.common.save @.lower:report.common.report ได้",
2584
2608
  copiedReportIdToClipboard: "คัดลอก ID ของ @.lower:report.common.report ไปยังคลิปบอร์ดแล้ว",
2585
- failedToAction: "ไม่สามารถ {action} @.lower:report.common.report ได้"
2609
+ failedToAction: "ไม่สามารถ {action} @.lower:report.common.report ได้",
2610
+ generatingReport: "กำลังสร้างรายงานและจะถูกส่งไปยังอีเมลของคุณในไม่ช้า ไฟล์ขนาดใหญ่ قدใช้เวลาสักครู่"
2586
2611
  },
2587
2612
  schedule: {
2588
2613
  title: "กำหนดเวลาสำหรับอีเมลของ @:report.common.report",
@@ -2595,7 +2620,12 @@ const a = {
2595
2620
  editSchedule: "แก้ไขตารางเวลา",
2596
2621
  scheduleEmailReport: "กำหนดเวลาอีเมลสำหรับ @:report.common.report",
2597
2622
  sendEmail: "@:report.common.send @:report.common.email",
2598
- deleteSchedule: "ลบตารางเวลา"
2623
+ deleteSchedule: "ลบตารางเวลา",
2624
+ operatingHours: "เวลาทำการ",
2625
+ overNight: "ข้ามคืน",
2626
+ crossMidnightNotice: "เวลาทำการที่ขยายออกไปหลังเที่ยงคืนจะถูกปรับให้เริ่มจากวันก่อนหน้า",
2627
+ openSaleTime: "เวลาเปิดขาย",
2628
+ closeSaleTime: "เวลาปิดขาย"
2599
2629
  },
2600
2630
  cycle: {
2601
2631
  Year: "ปี",
@@ -2668,6 +2698,7 @@ const a = {
2668
2698
  modifyFiltersHelperText: "แก้ไขวันที่ เวลา และตัวกรองร้านค้าก่อนส่ง",
2669
2699
  location: "สถานที่",
2670
2700
  dateRange: "ช่วงวันที่",
2701
+ timeRange: "ช่วงเวลา",
2671
2702
  recurrence: "ความถี่",
2672
2703
  closeSales: "ปิดการขาย",
2673
2704
  to: "ถึง",
@@ -2684,7 +2715,12 @@ const a = {
2684
2715
  error: {
2685
2716
  selectAtLeastOneDay: "กรุณาเลือกอย่างน้อยหนึ่งวัน",
2686
2717
  selectAtleastOneDayAndMonth: "กรุณาเลือกอย่างน้อยหนึ่งวันและหนึ่งเดือน",
2687
- selectAtLeastAday: "กรุณาเลือกวัน"
2718
+ selectAtLeastAday: "กรุณาเลือกวัน",
2719
+ selectAtLeastOneReportType: "กรุณาเลือกอย่างน้อยหนึ่งประเภทของรายงาน",
2720
+ selectOrientationForPDF: "กรุณาเลือกการจัดแนวสำหรับรายงาน PDF (A4)",
2721
+ selectValidTimeRange: "กรุณาเลือกช่วงเวลาที่ถูกต้อง",
2722
+ invalidEmail: "ที่อยู่อีเมลอย่างน้อยหนึ่งรายการไม่ถูกต้อง",
2723
+ failedToSend: "ไม่สามารถส่งรายงานได้"
2688
2724
  },
2689
2725
  accounting: {
2690
2726
  title: "บัญชี",
@@ -3812,7 +3848,8 @@ const a = {
3812
3848
  saveSuccess: "@:report.common.save@:report.common.sucessful",
3813
3849
  saveError: "失敗@:report.common.save@:report.common.report",
3814
3850
  copiedReportIdToClipboard: "已複製@:report.common.reportID到剪貼板",
3815
- failedToAction: "失敗{action} @:report.common.report"
3851
+ failedToAction: "失敗{action} @:report.common.report",
3852
+ generatingReport: "報告正在生成,將很快發送到您的電子郵件。大文件可能需要一些時間。"
3816
3853
  },
3817
3854
  schedule: {
3818
3855
  title: "@:report.common.schedule@:{report.common.email'}給@:report.common.report",
@@ -3825,7 +3862,12 @@ const a = {
3825
3862
  editSchedule: "編輯計劃",
3826
3863
  scheduleEmailReport: "@:report.common.schedule@:report.common.email@:report.common.report",
3827
3864
  sendEmail: "@:report.common.send@:report.common.email",
3828
- deleteSchedule: "刪除計劃"
3865
+ deleteSchedule: "刪除計劃",
3866
+ operatingHours: "營業時間",
3867
+ overNight: "跨夜",
3868
+ crossMidnightNotice: "延長到午夜的營業時間將調整為從前一天開始。",
3869
+ openSaleTime: "開放銷售時間",
3870
+ closeSaleTime: "關閉銷售時間"
3829
3871
  },
3830
3872
  cycle: {
3831
3873
  Year: "年",
@@ -3898,6 +3940,7 @@ const a = {
3898
3940
  modifyFiltersHelperText: "在發送前修改日期、時間和門店篩選條件",
3899
3941
  location: "位置",
3900
3942
  dateRange: "日期範圍",
3943
+ timeRange: "時間範圍",
3901
3944
  recurrence: "重複",
3902
3945
  closeSales: "關閉銷售",
3903
3946
  to: "到",
@@ -3913,7 +3956,12 @@ const a = {
3913
3956
  error: {
3914
3957
  selectAtLeastOneDay: "請選擇至少一天",
3915
3958
  selectAtleastOneDayAndMonth: "請選擇至少一天和一個月",
3916
- selectAtLeastAday: "請選擇一天"
3959
+ selectAtLeastAday: "請選擇一天",
3960
+ selectAtLeastOneReportType: "請選擇至少一種報告類型",
3961
+ selectOrientationForPDF: "請選擇PDF(A4)報告的方向",
3962
+ selectValidTimeRange: "請選擇有效的時間範圍",
3963
+ invalidEmail: "一個或多個電子郵件無效",
3964
+ failedToSend: "無法發送報告"
3917
3965
  },
3918
3966
  accounting: {
3919
3967
  title: "會計",
@@ -4912,51 +4960,51 @@ const a = {
4912
4960
  path: "/overview",
4913
4961
  alias: ["/"],
4914
4962
  name: "overview",
4915
- component: () => import("./OverviewView-BoCmq1bd.js")
4963
+ component: () => import("./OverviewView-BdkNW-E-.js")
4916
4964
  },
4917
4965
  {
4918
4966
  path: "/report",
4919
4967
  name: "reports",
4920
- component: () => import("./Report-BM6y_VoL.js")
4968
+ component: () => import("./Report-YAviXRm9.js")
4921
4969
  },
4922
4970
  {
4923
4971
  path: "/insights",
4924
4972
  name: "insights",
4925
- component: () => import("./InsightView-DHJpgIpN.js")
4973
+ component: () => import("./InsightView-DV6Nvi6h.js")
4926
4974
  },
4927
4975
  {
4928
4976
  path: "/report-view",
4929
4977
  name: "reportView",
4930
- component: () => import("./ReportView-AqpMV-lD.js")
4978
+ component: () => import("./ReportView-CyTt0xju.js")
4931
4979
  },
4932
4980
  {
4933
4981
  path: "/report-editor",
4934
4982
  name: "reportEditor",
4935
- component: () => import("./ReportEditor-xcYNm8FC.js")
4983
+ component: () => import("./ReportEditor-CMqGCf9p.js")
4936
4984
  },
4937
4985
  {
4938
4986
  path: "/report-editor/tile-editor",
4939
4987
  name: "tileEditor",
4940
- component: () => import("./TileEditor-Bf1rvmkB.js")
4988
+ component: () => import("./TileEditor-BxXlzNXM.js")
4941
4989
  },
4942
4990
  {
4943
4991
  path: "/setting",
4944
4992
  name: "setting",
4945
- component: () => import("./Setting-4tVYcTe9.js")
4993
+ component: () => import("./Setting-CxGy_k2J.js")
4946
4994
  },
4947
4995
  {
4948
4996
  path: "/integration",
4949
- component: () => import("./Layout-BGv-nIpA.js"),
4997
+ component: () => import("./Layout-CTUQOBlj.js"),
4950
4998
  children: [
4951
4999
  {
4952
5000
  name: "integrations",
4953
5001
  path: "",
4954
- component: () => import("./Integrations-CwUDvDyk.js")
5002
+ component: () => import("./Integrations-BOVIAEgw.js")
4955
5003
  },
4956
5004
  {
4957
5005
  name: "integration",
4958
5006
  path: "/integration/:id",
4959
- component: () => import("./Integration-1nQoa-4L.js")
5007
+ component: () => import("./Integration-CWUSF_o7.js")
4960
5008
  }
4961
5009
  ]
4962
5010
  },
@@ -4980,7 +5028,7 @@ const u = {
4980
5028
  "zh-CN": m,
4981
5029
  "th-TH": c,
4982
5030
  "zh-Hant": p
4983
- }, h = e(() => import("./App-C0PwmiVf.js"));
5031
+ }, h = e(() => import("./App-C9I2NljG.js"));
4984
5032
  export {
4985
5033
  h as FmApp,
4986
5034
  u as i18nMessages,
@@ -1,4 +1,4 @@
1
- import { d } from "./vue-i18n-DFboGk6x.js";
1
+ import { d } from "./vue-i18n-CTLGxUiF.js";
2
2
  var u = /* @__PURE__ */ ((e) => (e.Year = "YEAR", e.Month = "MONTH", e.Week = "WEEK", e.Day = "DAY", e))(u || {});
3
3
  function c(e, a = 100) {
4
4
  let r = null;