@feedmepos/mf-connect 0.1.38-beta.81 → 0.1.38-beta.82
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.
- package/dist/{Analytic-FMehGs58.js → Analytic-DvmIL31T.js} +13 -13
- package/dist/{App-7cwNu3e0.js → App-BsNKSVHz.js} +7 -7
- package/dist/{AuditLogs-CpmLBHAR.js → AuditLogs-D7W0L4qM.js} +9 -9
- package/dist/{Bin-D21tScmC.js → Bin-BBSm6ugX.js} +8 -8
- package/dist/{Broadcast-DrX9zS2Z.js → Broadcast-DjUi1WDG.js} +9 -9
- package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BvN7Q36X.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-TAElHUsR.js} +6 -6
- package/dist/{Card-Nk0KHSjb.js → Card-2VLv_cxB.js} +18 -18
- package/dist/{Collections-BAnIaZRj.js → Collections-DCEQHkxm.js} +7 -7
- package/dist/{Credit-BhU_Vd3l.js → Credit-C9bGc_pJ.js} +9 -9
- package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-DUrvbUE4.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-J3ZKPVPl.js} +33 -33
- package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-CqBGsZmi.js → EffectSheet.vue_vue_type_style_index_0_lang-D0ZhoO51.js} +6 -6
- package/dist/{Experience-B7Fl1uzk.js → Experience-v_8eZPEO.js} +9 -9
- package/dist/{FileSaver.min-DaCnYliS.js → FileSaver.min-ByS_1LlW.js} +1 -1
- package/dist/{Game-BdkSBpyV.js → Game-BFNClu6P.js} +10 -10
- package/dist/{Grab-y_ISAZvb.js → Grab-BwTGNzHf.js} +8 -8
- package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-WEsv0wME.js → ImageInput.vue_vue_type_script_setup_true_lang-BH1zZl4D.js} +1 -1
- package/dist/{Index-DZp0xkxW.js → Index-BDmfWyf0.js} +10 -10
- package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-DXMshwQu.js → LocationPicker.vue_vue_type_script_setup_true_lang-sw_peNaW.js} +1 -1
- package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-24MFkuKg.js → LottieAnimation.vue_vue_type_script_setup_true_lang-B40IbaHE.js} +1 -1
- package/dist/{MainLayout-B8VvzvAT.js → MainLayout-TOV5mhcT.js} +1 -1
- package/dist/{Marketing-BXfk7ZLc.js → Marketing-irnQqmvi.js} +4 -4
- package/dist/{MarketingMaterialEdit-CoDx_QvV.js → MarketingMaterialEdit-CjwOoG4u.js} +7 -7
- package/dist/{Member-DOP3Z4-m.js → Member-p88Z8HfR.js} +11 -11
- package/dist/{MemberList-BcMezuLM.js → MemberList-CLh4vRp_.js} +26 -26
- package/dist/{MemberTransactions-BEG9Cfgw.js → MemberTransactions-C0MqNNYL.js} +1 -1
- package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-R6ImfcMO.js → MessageInput.vue_vue_type_script_setup_true_lang-C6NqUMph.js} +9 -9
- package/dist/{Mission-C4eWldYu.js → Mission-bUAZIH1u.js} +10 -10
- package/dist/{Overview-0V1dmEPw.js → Overview-p6-nqMxP.js} +18 -18
- package/dist/{Point-s9t7_Iee.js → Point-D56Lx8T0.js} +9 -9
- package/dist/{Promotion-VZCoFHHx.js → Promotion-OYOnVtGd.js} +10 -10
- package/dist/{Queue-DdoHcsXv.js → Queue-B5jCuBJ8.js} +10 -10
- package/dist/{Record-B73AsvsB.js → Record-C3J-wnbg.js} +9 -9
- package/dist/{Review-eEJG7-gc.js → Review-CpxOMyse.js} +4 -4
- package/dist/{ReviewFacebookCallback-Cq1fGEP3.js → ReviewFacebookCallback-GXq-4p9-.js} +4 -4
- package/dist/{ReviewGoogleCallback-C7BBKqnK.js → ReviewGoogleCallback-DH4rk3FV.js} +4 -4
- package/dist/{Reward-DKFT9MmI.js → Reward-Ctfb7gDv.js} +16 -16
- package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-vbTI-3-L.js → RewardGroup.vue_vue_type_script_setup_true_lang-CvRjxnhI.js} +11 -11
- package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-Dc4daP4P.js → RuleGroup.vue_vue_type_script_setup_true_lang-BluXAgJi.js} +14 -14
- package/dist/{Segment-RAMBNzZd.js → Segment-BQpLWSIL.js} +187 -177
- package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-pQmd43cO.js → SelectItems.vue_vue_type_script_setup_true_lang-CiOkrDc-.js} +2 -2
- package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-PwedwyBw.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-nwLNbsfS.js} +12 -12
- package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-rN37l0uX.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-CtkbN-j4.js} +4 -4
- package/dist/{Setting--t7CPcWL.js → Setting-Cr9yOEV5.js} +14 -14
- package/dist/{SettingAdvertisements-BzhckLOK.js → SettingAdvertisements-DDj3vAS-.js} +12 -12
- package/dist/{Store-Dnax6l9z.js → Store-BndqftiO.js} +21 -21
- package/dist/{StoreRewards-BIdtA-W4.js → StoreRewards-Azs51Aqo.js} +15 -15
- package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-B__Nqwzg.js → StoreTransactions.vue_vue_type_script_setup_true_lang-CyI20yQ4.js} +21 -21
- package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-on00idd9.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-CfxQLEOK.js} +2 -2
- package/dist/{Tier-Ch63LeNc.js → Tier-W9S8KjNj.js} +23 -23
- package/dist/{Title-wOMe2o3w.js → Title-WEN_6ObU.js} +20 -20
- package/dist/{Transaction-CpkfV_sQ.js → Transaction-Qn2vGJzT.js} +2 -2
- package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-MPlAwheJ.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Ct05-WdP.js} +6 -6
- package/dist/{Voucher-DlOZmlyt.js → Voucher-BbXdz50o.js} +13 -13
- package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-DBAk4tDY.js → VoucherEditor.vue_vue_type_script_setup_true_lang-DEm_e-XY.js} +12 -12
- package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-BhCfP2wn.js → ZodTextField.vue_vue_type_script_setup_true_lang-Ba6mGEJd.js} +2 -2
- package/dist/{app-nACimuOe.js → app-BAL5921k.js} +227 -227
- package/dist/app.js +1 -1
- package/dist/{business-BpM7Eni_.js → business-BQWQGOMd.js} +1 -1
- package/dist/{campaign-BaSTB-19.js → campaign-B9srsWq5.js} +1 -1
- package/dist/{campaign-CN7MibEN.js → campaign-CErsvjXq.js} +8 -8
- package/dist/{campaign.enum-CW4ESvMk.js → campaign.enum-Bv72yY9I.js} +1 -1
- package/dist/{campaign.fn-DPMaaXjP.js → campaign.fn-BT2MHwj0.js} +23 -23
- package/dist/{collectible.enum-_Bg6BIol.js → collectible.enum-Bwbid5f4.js} +1 -1
- package/dist/{collection.fn-D86VQVrc.js → collection.fn-Crfjy4UF.js} +2 -2
- package/dist/{dto-By8psmkB.js → dto-BXbdlCYG.js} +4 -4
- package/dist/{duplicateCampaign-AVfDsabR.js → duplicateCampaign-BGHnaZXL.js} +2 -2
- package/dist/{effect-CCB9eCEr.js → effect-C0jgOly2.js} +1 -1
- package/dist/{email-addresses-CyMOiGPR.js → email-addresses-DZbtYbQc.js} +2 -2
- package/dist/{export-DPUTGKPb.js → export-B21h2kpX.js} +3 -3
- package/dist/{helper-CYKFnu8y.js → helper-BeWaaAmm.js} +1 -1
- package/dist/{index-BTaTuuEo.js → index-735FLHDL.js} +1 -1
- package/dist/{index-9FXa-6Mk.js → index-BJOVTyEi.js} +1 -1
- package/dist/{index-CZRA2IY5.js → index-Bi6OlABT.js} +1 -1
- package/dist/{index-BF2vcn02.js → index-Bohbb0xU.js} +267 -244
- package/dist/{index-43V5T9JA.js → index-CM4Y8Xr-.js} +334 -333
- package/dist/{index-BxGFddJP.js → index-CQ3acFfD.js} +3 -3
- package/dist/{index-BPBdEGEz.js → index-CWB3g7yC.js} +1 -1
- package/dist/{index-B9vArh0F.js → index-CpnbZpQH.js} +1 -1
- package/dist/{index-CJy_KEtq.js → index-DIJ2JA7b.js} +3 -3
- package/dist/{index-C0veCCui.js → index-DMOVhn0X.js} +1 -1
- package/dist/{index-Cpff1wjo.js → index-IV-QZwt6.js} +6 -6
- package/dist/{index-C0yZzlB3.js → index-c9oJvdhA.js} +3 -3
- package/dist/{index-Beq-ShJI.js → index-m33iRQwI.js} +1 -1
- package/dist/{index.esm2017-DHrbC5Ry.js → index.esm2017-nsSJx1SS.js} +1 -1
- package/dist/{loading-BSMi2eIc.js → loading-BYRGk5UH.js} +1 -1
- package/dist/{lodash-DZxxJH2N.js → lodash-UYxVv_GT.js} +1 -1
- package/dist/{membership-CWkspNDR.js → membership-AW2b1U0m.js} +28 -15
- package/dist/{money-CSBC-3Ol.js → money-BIV3J0jO.js} +1 -1
- package/dist/{number-CeqAGZy9.js → number-BZzcWjHb.js} +1 -1
- package/dist/{objectid-C_sYOjBD.js → objectid-dg6v6juW.js} +11 -11
- package/dist/{plugins-B37e5K6S.js → plugins-Dfsv7-N8.js} +3 -3
- package/dist/{remy-DM_pSPd3.js → remy-QnWPPX8K.js} +1 -1
- package/dist/{reward-BHf9o7F7.js → reward-Datvj1vP.js} +1 -1
- package/dist/{rule-CAOC63go.js → rule-BAWC7dHV.js} +3 -3
- package/dist/{rule-builder-BTxbYw5Z.js → rule-builder-Yd0Mzz7C.js} +1 -1
- package/dist/{template-DHmXFTjv.js → template-CneYpgF5.js} +6 -6
- package/dist/{timezone-C9EUfUmm.js → timezone-1AhUoNAx.js} +2 -2
- package/dist/{trigger--TbXeeFT.js → trigger-JwDMR8YL.js} +5 -5
- package/dist/{usePagination-Lr6F7nYH.js → usePagination-D9imsFiI.js} +1 -1
- package/dist/{user-DOc3B6F_.js → user-CEIkELzs.js} +1 -1
- package/dist/{vue-i18n-DQbt3scE.js → vue-i18n-zUwMs_qu.js} +222 -222
- package/dist/{xlsx-QxmpwFgC.js → xlsx-D09NRfQm.js} +1 -1
- package/dist/{zod-OfQMlh-A.js → zod-DOhXlOno.js} +1 -1
- package/package.json +1 -1
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { defineComponent as ee, ref as z, resolveComponent as S, openBlock as
|
|
1
|
+
import { defineComponent as ee, ref as z, resolveComponent as S, openBlock as m, createElementBlock as k, createElementVNode as l, createVNode as r, unref as t, createCommentVNode as le, withCtx as E, Fragment as O, renderList as ie, createBlock as J, toDisplayString as P, normalizeClass as re, onMounted as Se, computed as ce, isRef as Ie, createSlots as Me, h as Y, onBeforeMount as Te } from "vue";
|
|
2
2
|
import { _ as Ee } from "./campaign-CpzFl8Vr.js";
|
|
3
|
-
import { n as Ae, p as De } from "./plugins-
|
|
4
|
-
import { u as $e } from "./loading-
|
|
5
|
-
import { FmButtonVariant as ae, useSnackbar as
|
|
6
|
-
import { u as
|
|
7
|
-
import { u as be } from "./vue-i18n-
|
|
8
|
-
import "./index-
|
|
9
|
-
import { i as
|
|
10
|
-
import "./index-
|
|
11
|
-
import { F as ye, z as Be } from "./index-
|
|
12
|
-
import "./index-
|
|
13
|
-
import { u as ne, w as
|
|
14
|
-
import { e as Ne, M as Ve } from "./email-addresses-
|
|
15
|
-
import { Z as Ye } from "./zod-
|
|
3
|
+
import { n as Ae, p as De } from "./plugins-Dfsv7-N8.js";
|
|
4
|
+
import { u as $e } from "./loading-BYRGk5UH.js";
|
|
5
|
+
import { FmButtonVariant as ae, useSnackbar as Pe, components as X } from "@feedmepos/ui-library";
|
|
6
|
+
import { u as he, _ as Fe } from "./usePagination-D9imsFiI.js";
|
|
7
|
+
import { u as be } from "./vue-i18n-zUwMs_qu.js";
|
|
8
|
+
import "./index-IV-QZwt6.js";
|
|
9
|
+
import { i as Re, j as $, c as fe } from "./index-Bohbb0xU.js";
|
|
10
|
+
import "./index-c9oJvdhA.js";
|
|
11
|
+
import { F as ye, z as Be } from "./index-DIJ2JA7b.js";
|
|
12
|
+
import "./index-CQ3acFfD.js";
|
|
13
|
+
import { u as ne, w as we } from "./xlsx-D09NRfQm.js";
|
|
14
|
+
import { e as Ne, M as Ve } from "./email-addresses-DZbtYbQc.js";
|
|
15
|
+
import { Z as Ye } from "./zod-DOhXlOno.js";
|
|
16
16
|
import { u as Ue } from "./app-wDQR6dpb.js";
|
|
17
|
-
import { R as ge } from "./rule-builder-
|
|
18
|
-
import { _ as Le } from "./ZodTextField.vue_vue_type_script_setup_true_lang-
|
|
19
|
-
import { _ as ze } from "./RuleGroup.vue_vue_type_script_setup_true_lang-
|
|
20
|
-
import { u as Oe, v as je, w as qe } from "./index.esm2017-
|
|
21
|
-
import { F as Ge } from "./FileSaver.min-
|
|
17
|
+
import { R as ge } from "./rule-builder-Yd0Mzz7C.js";
|
|
18
|
+
import { _ as Le } from "./ZodTextField.vue_vue_type_script_setup_true_lang-Ba6mGEJd.js";
|
|
19
|
+
import { _ as ze } from "./RuleGroup.vue_vue_type_script_setup_true_lang-BluXAgJi.js";
|
|
20
|
+
import { u as Oe, v as je, w as qe } from "./index.esm2017-nsSJx1SS.js";
|
|
21
|
+
import { F as Ge } from "./FileSaver.min-ByS_1LlW.js";
|
|
22
22
|
import { h as H } from "./moment-D7p2TMB-.js";
|
|
23
|
-
import { s as B, u as He } from "./membership-
|
|
23
|
+
import { s as B, u as He } from "./membership-AW2b1U0m.js";
|
|
24
24
|
import { o as Je } from "./objectId-dwaoBfJX.js";
|
|
25
|
-
import { u as Ce } from "./business-
|
|
26
|
-
import { f as Qe } from "./number-
|
|
27
|
-
import { t as We } from "./money-
|
|
28
|
-
import "./index-
|
|
25
|
+
import { u as Ce } from "./business-BQWQGOMd.js";
|
|
26
|
+
import { f as Qe } from "./number-BZzcWjHb.js";
|
|
27
|
+
import { t as We } from "./money-BIV3J0jO.js";
|
|
28
|
+
import "./index-m33iRQwI.js";
|
|
29
29
|
import { useRouter as Ze } from "vue-router";
|
|
30
|
-
import { m as ve } from "./index-
|
|
31
|
-
import { R as _e } from "./app-
|
|
32
|
-
const Ke =
|
|
30
|
+
import { m as ve } from "./index-DMOVhn0X.js";
|
|
31
|
+
import { R as _e } from "./app-BAL5921k.js";
|
|
32
|
+
const Ke = Re.extend({
|
|
33
33
|
_id: ye.optional(),
|
|
34
34
|
business: ye.optional(),
|
|
35
35
|
file: Be.any().nullish()
|
|
@@ -57,7 +57,7 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
57
57
|
},
|
|
58
58
|
emits: ["update:file"],
|
|
59
59
|
setup(e, { emit: v }) {
|
|
60
|
-
const _ = e, C = v, { t:
|
|
60
|
+
const _ = e, C = v, { t: f } = be(), p = z(null), h = z(null), F = ["Id"], n = [
|
|
61
61
|
{
|
|
62
62
|
label: "CSV",
|
|
63
63
|
icon: "csv",
|
|
@@ -72,14 +72,14 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
72
72
|
async function i() {
|
|
73
73
|
if (_.importFile)
|
|
74
74
|
try {
|
|
75
|
-
const
|
|
75
|
+
const w = Oe(void 0, Xe.importFilesBucketUrl), y = je(w, _.importFile), x = await qe(y);
|
|
76
76
|
window.open(x, "_blank");
|
|
77
|
-
} catch (
|
|
78
|
-
console.log(
|
|
77
|
+
} catch (w) {
|
|
78
|
+
console.log(w), Ae.error("Failed to download uploaded file");
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
async function c(
|
|
82
|
-
switch (
|
|
81
|
+
async function c(w) {
|
|
82
|
+
switch (w) {
|
|
83
83
|
case "csv":
|
|
84
84
|
const y = new Blob([F.join(",")], {
|
|
85
85
|
type: "text/csv;charset=utf-8;"
|
|
@@ -88,25 +88,25 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
88
88
|
break;
|
|
89
89
|
case "xlsx":
|
|
90
90
|
const x = ne.aoa_to_sheet([F]), I = ne.book_new();
|
|
91
|
-
ne.book_append_sheet(I, x, "Sheet1"),
|
|
91
|
+
ne.book_append_sheet(I, x, "Sheet1"), we(I, "ImportSegmentTemplate.xlsx");
|
|
92
92
|
break;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
function b(
|
|
96
|
-
|
|
95
|
+
function b(w) {
|
|
96
|
+
p.value = w, C("update:file", p.value);
|
|
97
97
|
}
|
|
98
|
-
function
|
|
98
|
+
function D(w) {
|
|
99
99
|
var x, I;
|
|
100
|
-
const y = ((I = (x =
|
|
100
|
+
const y = ((I = (x = w.target) == null ? void 0 : x.files) == null ? void 0 : I[0]) ?? null;
|
|
101
101
|
b(y);
|
|
102
102
|
}
|
|
103
|
-
return (
|
|
104
|
-
const x = S("FmButton"), I = S("FmMenuItem"),
|
|
105
|
-
return
|
|
103
|
+
return (w, y) => {
|
|
104
|
+
const x = S("FmButton"), I = S("FmMenuItem"), u = S("FmMenu"), s = S("FmDropField");
|
|
105
|
+
return m(), k("div", et, [
|
|
106
106
|
y[2] || (y[2] = l("div", { class: "fm-typo-en-title-sm-800" }, "Upload File", -1)),
|
|
107
|
-
e.importFile ? (
|
|
107
|
+
e.importFile ? (m(), k("div", tt, [
|
|
108
108
|
r(x, {
|
|
109
|
-
label: t(
|
|
109
|
+
label: t(f)("View uploaded file"),
|
|
110
110
|
variant: t(ae).Plain,
|
|
111
111
|
icon: "file_present",
|
|
112
112
|
onClick: i
|
|
@@ -114,7 +114,7 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
114
114
|
])) : le("", !0),
|
|
115
115
|
l("div", null, [
|
|
116
116
|
l("div", ot, [
|
|
117
|
-
r(
|
|
117
|
+
r(u, { class: "" }, {
|
|
118
118
|
"menu-button": E(() => [
|
|
119
119
|
r(x, {
|
|
120
120
|
variant: "tertiary",
|
|
@@ -123,7 +123,7 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
123
123
|
})
|
|
124
124
|
]),
|
|
125
125
|
default: E(() => [
|
|
126
|
-
(
|
|
126
|
+
(m(), k(O, null, ie(n, (g) => r(I, {
|
|
127
127
|
key: g.value,
|
|
128
128
|
icon: g.icon,
|
|
129
129
|
label: g.label,
|
|
@@ -134,23 +134,23 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
134
134
|
_: 1
|
|
135
135
|
})
|
|
136
136
|
]),
|
|
137
|
-
|
|
137
|
+
p.value ? (m(), k("div", at, [
|
|
138
138
|
r(x, {
|
|
139
139
|
variant: t(ae).Tertiary,
|
|
140
140
|
"prepend-icon": "attach_file"
|
|
141
141
|
}, null, 8, ["variant"]),
|
|
142
|
-
l("p", nt,
|
|
142
|
+
l("p", nt, P(p.value.name), 1),
|
|
143
143
|
l("label", {
|
|
144
144
|
ref_key: "fileLabelRef",
|
|
145
|
-
ref:
|
|
145
|
+
ref: h,
|
|
146
146
|
htmlFor: "file"
|
|
147
147
|
}, [
|
|
148
148
|
r(x, {
|
|
149
149
|
variant: t(ae).Plain,
|
|
150
|
-
label: t(
|
|
150
|
+
label: t(f)("Replace File"),
|
|
151
151
|
onClick: y[1] || (y[1] = () => {
|
|
152
152
|
var g;
|
|
153
|
-
return (g =
|
|
153
|
+
return (g = h.value) == null ? void 0 : g.click();
|
|
154
154
|
})
|
|
155
155
|
}, null, 8, ["variant", "label"]),
|
|
156
156
|
l("input", {
|
|
@@ -159,10 +159,10 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
159
159
|
class: "hidden",
|
|
160
160
|
type: "file",
|
|
161
161
|
multiple: "",
|
|
162
|
-
onChange:
|
|
162
|
+
onChange: D
|
|
163
163
|
}, null, 32)
|
|
164
164
|
], 512)
|
|
165
|
-
])) : (
|
|
165
|
+
])) : (m(), J(s, {
|
|
166
166
|
key: 0,
|
|
167
167
|
onFileUpload: y[0] || (y[0] = (g) => b(g)),
|
|
168
168
|
accept: ".csv, .xlsx",
|
|
@@ -220,27 +220,27 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
220
220
|
}
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
|
-
const { tableMeta:
|
|
223
|
+
const { tableMeta: f, rowData: p, onSort: h, debouncedFetchData: F, onSearch: n } = he(C);
|
|
224
224
|
return Se(async () => {
|
|
225
225
|
await F();
|
|
226
|
-
}), (i, c) => (
|
|
227
|
-
l("div", it,
|
|
226
|
+
}), (i, c) => (m(), k("div", lt, [
|
|
227
|
+
l("div", it, P(v.title), 1),
|
|
228
228
|
l("div", rt, [
|
|
229
|
-
l("div", ct,
|
|
229
|
+
l("div", ct, P(e.segment.members.length), 1),
|
|
230
230
|
l("div", dt, [
|
|
231
231
|
c[1] || (c[1] = l("div", null, "contacts in your segment", -1)),
|
|
232
|
-
l("div", null, "as of " +
|
|
232
|
+
l("div", null, "as of " + P(t(H)(e.segment.lastUpdated).format("DD MMM YYYY")), 1)
|
|
233
233
|
])
|
|
234
234
|
]),
|
|
235
235
|
r(Fe, {
|
|
236
|
-
loading: t(
|
|
237
|
-
"row-data": t(
|
|
238
|
-
"row-count": t(
|
|
236
|
+
loading: t(f).isLoading,
|
|
237
|
+
"row-data": t(p),
|
|
238
|
+
"row-count": t(f).totalRows,
|
|
239
239
|
"column-defs": _,
|
|
240
|
-
"page-size": t(
|
|
241
|
-
"page-count": t(
|
|
242
|
-
"page-index": t(
|
|
243
|
-
onSortChange: t(
|
|
240
|
+
"page-size": t(f).pageSize,
|
|
241
|
+
"page-count": t(f).pageCount,
|
|
242
|
+
"page-index": t(f).pageIndex,
|
|
243
|
+
onSortChange: t(h),
|
|
244
244
|
onPageChange: c[0] || (c[0] = (b) => t(F)({ pageSize: b.pageSize, pageIndex: b.pageIndex }))
|
|
245
245
|
}, null, 8, ["loading", "row-data", "row-count", "page-size", "page-count", "page-index", "onSortChange"])
|
|
246
246
|
]));
|
|
@@ -253,7 +253,7 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
253
253
|
},
|
|
254
254
|
emits: ["update:model-value"],
|
|
255
255
|
setup(e, { emit: v }) {
|
|
256
|
-
const _ = e, C = v,
|
|
256
|
+
const _ = e, C = v, f = [
|
|
257
257
|
{
|
|
258
258
|
label: "Dynamic",
|
|
259
259
|
sublabel: "Segment statistics are based on rules configured and will be recalculated automatically when rule changes.",
|
|
@@ -265,31 +265,31 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
265
265
|
value: $.enum.STATIC
|
|
266
266
|
}
|
|
267
267
|
];
|
|
268
|
-
function
|
|
269
|
-
|
|
268
|
+
function p(h) {
|
|
269
|
+
h !== _.modelValue && C("update:model-value", h);
|
|
270
270
|
}
|
|
271
|
-
return (
|
|
271
|
+
return (h, F) => {
|
|
272
272
|
const n = S("FmCard"), i = S("FmHelperText");
|
|
273
|
-
return
|
|
273
|
+
return m(), k("div", pt, [
|
|
274
274
|
l("div", mt, [
|
|
275
|
-
(
|
|
275
|
+
(m(), k(O, null, ie(f, (c) => r(n, {
|
|
276
276
|
variant: "outlined",
|
|
277
277
|
class: re(["p-16 space-y-8 h-full cursor-pointer select-none xs:col-span-2", {
|
|
278
|
-
"col-span-2":
|
|
278
|
+
"col-span-2": f.length == 1,
|
|
279
279
|
"border-fm-color-primary bg-fm-color-system-warning-100 hover:border-[var(--fm-color-system-orange-300)]": e.modelValue === c.value,
|
|
280
280
|
"hover:bg-fm-color-opacity-sm": e.modelValue !== c.value
|
|
281
281
|
}]),
|
|
282
|
-
onClick: (b) =>
|
|
282
|
+
onClick: (b) => p(c.value),
|
|
283
283
|
key: c.value
|
|
284
284
|
}, {
|
|
285
285
|
default: E(() => [
|
|
286
|
-
l("div", ft,
|
|
287
|
-
l("div", yt,
|
|
286
|
+
l("div", ft, P(c.label), 1),
|
|
287
|
+
l("div", yt, P(c.sublabel), 1)
|
|
288
288
|
]),
|
|
289
289
|
_: 2
|
|
290
290
|
}, 1032, ["class", "onClick"])), 64))
|
|
291
291
|
]),
|
|
292
|
-
e.errorText ? (
|
|
292
|
+
e.errorText ? (m(), J(i, {
|
|
293
293
|
key: 0,
|
|
294
294
|
class: "!mt-4",
|
|
295
295
|
text: e.errorText,
|
|
@@ -304,47 +304,47 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
304
304
|
}, xt = { class: "flex flex-col space-y-16" }, St = {
|
|
305
305
|
key: 0,
|
|
306
306
|
class: "flex flex-col space-y-16"
|
|
307
|
-
},
|
|
307
|
+
}, ht = {
|
|
308
308
|
key: 1,
|
|
309
309
|
class: "flex flex-col space-y-16"
|
|
310
310
|
}, Ft = {
|
|
311
311
|
key: 2,
|
|
312
312
|
class: "flex flex-col space-y-16"
|
|
313
|
-
}, bt = { class: "flex items-center gap-8" },
|
|
313
|
+
}, bt = { class: "flex items-center gap-8" }, wt = /* @__PURE__ */ ee({
|
|
314
314
|
__name: "SegmentSheet",
|
|
315
315
|
emits: ["update:model-value"],
|
|
316
316
|
setup(e, { expose: v, emit: _ }) {
|
|
317
|
-
const C = Ue(),
|
|
317
|
+
const C = Ue(), f = z(!1), p = z(!1), h = {
|
|
318
318
|
name: "",
|
|
319
319
|
isActive: !0,
|
|
320
320
|
type: $.enum.DYNAMIC,
|
|
321
321
|
rule: ge.scaffoldGroup(),
|
|
322
322
|
members: []
|
|
323
|
-
}, F = Ke, n = z(
|
|
324
|
-
const
|
|
325
|
-
return
|
|
323
|
+
}, F = Ke, n = z(h), i = ce(() => {
|
|
324
|
+
const u = F.safeParse(n.value);
|
|
325
|
+
return u.success ? [] : u.error.errors;
|
|
326
326
|
});
|
|
327
|
-
function c(
|
|
328
|
-
|
|
329
|
-
...
|
|
330
|
-
isActive:
|
|
331
|
-
type:
|
|
332
|
-
} : n.value = { ...
|
|
327
|
+
function c(u) {
|
|
328
|
+
f.value = !0, p.value = !1, u ? n.value = {
|
|
329
|
+
...u,
|
|
330
|
+
isActive: u.isActive !== !1,
|
|
331
|
+
type: u.type ?? (u.importFile ? $.enum.STATIC : $.enum.DYNAMIC)
|
|
332
|
+
} : n.value = { ...h };
|
|
333
333
|
}
|
|
334
334
|
function b() {
|
|
335
|
-
|
|
335
|
+
f.value = !1;
|
|
336
336
|
}
|
|
337
|
-
async function
|
|
338
|
-
F.safeParse(n.value).success && (
|
|
337
|
+
async function D() {
|
|
338
|
+
F.safeParse(n.value).success && (p.value = !0);
|
|
339
339
|
}
|
|
340
|
-
function
|
|
341
|
-
|
|
340
|
+
function w(u) {
|
|
341
|
+
u === $.enum.STATIC ? b() : p.value = !1;
|
|
342
342
|
}
|
|
343
343
|
async function y() {
|
|
344
344
|
n.value.type === $.enum.STATIC ? (n.value.rule = ge.scaffoldGroup(), n.value.isActive = !0) : n.value.file = void 0, I("update:model-value", n.value);
|
|
345
345
|
}
|
|
346
|
-
async function x(
|
|
347
|
-
n.value.type =
|
|
346
|
+
async function x(u) {
|
|
347
|
+
n.value.type = u;
|
|
348
348
|
}
|
|
349
349
|
Se(async () => {
|
|
350
350
|
});
|
|
@@ -352,11 +352,11 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
352
352
|
return v({
|
|
353
353
|
showSheet: c,
|
|
354
354
|
hideSheet: b
|
|
355
|
-
}), (
|
|
355
|
+
}), (u, s) => {
|
|
356
356
|
const g = S("FmButton"), U = S("FmSwitch"), a = S("FmSideSheet");
|
|
357
|
-
return
|
|
358
|
-
modelValue: t(
|
|
359
|
-
"onUpdate:modelValue": s[8] || (s[8] = (o) => Ie(
|
|
357
|
+
return m(), J(a, {
|
|
358
|
+
modelValue: t(f),
|
|
359
|
+
"onUpdate:modelValue": s[8] || (s[8] = (o) => Ie(f) ? f.value = o : null),
|
|
360
360
|
header: "Add segment",
|
|
361
361
|
"dismiss-away": "",
|
|
362
362
|
"close-button": !0,
|
|
@@ -364,7 +364,7 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
364
364
|
}, Me({
|
|
365
365
|
"side-sheet-footer": E(() => [
|
|
366
366
|
l("div", bt, [
|
|
367
|
-
t(
|
|
367
|
+
t(p) || t(n).type === t($).enum.STATIC ? (m(), k(O, { key: 0 }, [
|
|
368
368
|
r(g, {
|
|
369
369
|
label: "Save Segment",
|
|
370
370
|
onClick: y,
|
|
@@ -373,14 +373,14 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
373
373
|
}, null, 8, ["loading", "disabled"]),
|
|
374
374
|
r(g, {
|
|
375
375
|
label: "Cancel",
|
|
376
|
-
onClick: s[6] || (s[6] = (o) =>
|
|
376
|
+
onClick: s[6] || (s[6] = (o) => w(t(n).type)),
|
|
377
377
|
variant: "tertiary"
|
|
378
378
|
})
|
|
379
|
-
], 64)) : (
|
|
379
|
+
], 64)) : (m(), k(O, { key: 1 }, [
|
|
380
380
|
r(g, {
|
|
381
381
|
label: "Review Segment",
|
|
382
382
|
disabled: t(i).length > 0 || t(C).isLoading,
|
|
383
|
-
onClick:
|
|
383
|
+
onClick: D
|
|
384
384
|
}, null, 8, ["disabled"]),
|
|
385
385
|
r(g, {
|
|
386
386
|
label: "Cancel",
|
|
@@ -393,14 +393,14 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
393
393
|
default: E(() => {
|
|
394
394
|
var o;
|
|
395
395
|
return [
|
|
396
|
-
t(
|
|
396
|
+
t(p) ? (m(), J(ut, {
|
|
397
397
|
key: 1,
|
|
398
398
|
title: t(n).name,
|
|
399
399
|
segment: t(n)
|
|
400
|
-
}, null, 8, ["title", "segment"])) : (
|
|
400
|
+
}, null, 8, ["title", "segment"])) : (m(), k("div", _t, [
|
|
401
401
|
r(Le, {
|
|
402
402
|
modelValue: t(n).name,
|
|
403
|
-
"onUpdate:modelValue": s[1] || (s[1] = (
|
|
403
|
+
"onUpdate:modelValue": s[1] || (s[1] = (d) => t(n).name = d),
|
|
404
404
|
label: "Segment title",
|
|
405
405
|
schema: t(Ye).typeAtPath(t(F), "name")
|
|
406
406
|
}, null, 8, ["modelValue", "schema"]),
|
|
@@ -408,34 +408,34 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
408
408
|
s[10] || (s[10] = l("div", { class: "fm-typo-en-title-sm-800" }, "Segment Type", -1)),
|
|
409
409
|
r(gt, {
|
|
410
410
|
"model-value": t(n).type,
|
|
411
|
-
"onUpdate:modelValue": s[2] || (s[2] = (
|
|
412
|
-
x(
|
|
411
|
+
"onUpdate:modelValue": s[2] || (s[2] = (d) => {
|
|
412
|
+
x(d);
|
|
413
413
|
})
|
|
414
414
|
}, null, 8, ["model-value"])
|
|
415
415
|
]),
|
|
416
|
-
t(n).type === t($).enum.DYNAMIC ? (
|
|
416
|
+
t(n).type === t($).enum.DYNAMIC ? (m(), k("div", St, [
|
|
417
417
|
s[11] || (s[11] = l("div", { class: "fm-typo-en-title-sm-800" }, "Segment Filter", -1)),
|
|
418
418
|
r(ze, {
|
|
419
419
|
"trigger-type": "MEMBERSHIP_JOINED",
|
|
420
420
|
includeOnly: "user",
|
|
421
421
|
"model-value": (o = t(n)) == null ? void 0 : o.rule,
|
|
422
|
-
"onUpdate:modelValue": s[3] || (s[3] = (
|
|
423
|
-
t(n).rule =
|
|
422
|
+
"onUpdate:modelValue": s[3] || (s[3] = (d) => {
|
|
423
|
+
t(n).rule = d;
|
|
424
424
|
})
|
|
425
425
|
}, null, 8, ["model-value"])
|
|
426
|
-
])) : (
|
|
426
|
+
])) : (m(), k("div", ht, [
|
|
427
427
|
r(st, {
|
|
428
428
|
importFile: t(n).importFile,
|
|
429
|
-
"onUpdate:file": s[4] || (s[4] = (
|
|
430
|
-
t(n).file =
|
|
429
|
+
"onUpdate:file": s[4] || (s[4] = (d) => {
|
|
430
|
+
t(n).file = d;
|
|
431
431
|
})
|
|
432
432
|
}, null, 8, ["importFile"])
|
|
433
433
|
])),
|
|
434
|
-
t(n).type === t($).enum.DYNAMIC ? (
|
|
434
|
+
t(n).type === t($).enum.DYNAMIC ? (m(), k("div", Ft, [
|
|
435
435
|
s[12] || (s[12] = l("div", { class: "fm-typo-en-title-sm-800" }, "Segment Status", -1)),
|
|
436
436
|
r(U, {
|
|
437
437
|
"model-value": t(n).isActive ?? !0,
|
|
438
|
-
"onUpdate:modelValue": s[5] || (s[5] = (
|
|
438
|
+
"onUpdate:modelValue": s[5] || (s[5] = (d) => t(n).isActive = d),
|
|
439
439
|
label: "Active",
|
|
440
440
|
sublabel: "When enabled, this will recalculate the segment statistics daily.",
|
|
441
441
|
"label-placement": "right"
|
|
@@ -446,14 +446,14 @@ const et = { class: "flex flex-col space-y-16" }, tt = {
|
|
|
446
446
|
}),
|
|
447
447
|
_: 2
|
|
448
448
|
}, [
|
|
449
|
-
t(
|
|
449
|
+
t(p) ? {
|
|
450
450
|
name: "side-sheet-header",
|
|
451
451
|
fn: E(() => [
|
|
452
452
|
l("div", vt, [
|
|
453
453
|
r(g, {
|
|
454
454
|
icon: "arrow_back",
|
|
455
455
|
variant: "tertiary",
|
|
456
|
-
onClick: s[0] || (s[0] = (o) =>
|
|
456
|
+
onClick: s[0] || (s[0] = (o) => p.value = !1)
|
|
457
457
|
}),
|
|
458
458
|
s[9] || (s[9] = l("div", null, "Review segment", -1))
|
|
459
459
|
])
|
|
@@ -470,7 +470,7 @@ function se(e) {
|
|
|
470
470
|
}
|
|
471
471
|
const kt = {
|
|
472
472
|
mapMemberExportRow: (e) => {
|
|
473
|
-
var i, c, b,
|
|
473
|
+
var i, c, b, D, w, y, x, I, u, s, g, U, a, o, d, R, A, N, V, j, q, G, te, M, Q, de, ue, pe;
|
|
474
474
|
const v = ce(() => Ct.locations.map((T) => ({
|
|
475
475
|
label: T.name,
|
|
476
476
|
value: T._id
|
|
@@ -485,7 +485,7 @@ const kt = {
|
|
|
485
485
|
return !W || L.balance <= 0 || T.push(W), T;
|
|
486
486
|
},
|
|
487
487
|
[]
|
|
488
|
-
),
|
|
488
|
+
), f = (xe.sortedTitles || []).reduce(
|
|
489
489
|
(T, L) => {
|
|
490
490
|
var Z, K, oe, me;
|
|
491
491
|
const W = (me = (oe = (K = (((Z = e == null ? void 0 : e.collection) == null ? void 0 : Z.TITLE) || []).find(
|
|
@@ -494,10 +494,10 @@ const kt = {
|
|
|
494
494
|
return T[L.name] = W ? H(W).format("DD/MM/YYYY") : "", T;
|
|
495
495
|
},
|
|
496
496
|
{}
|
|
497
|
-
),
|
|
497
|
+
), p = ((y = (w = (D = e.collection) == null ? void 0 : D.CREDIT) == null ? void 0 : w.at(0)) == null ? void 0 : y.balance) || 0, h = ((s = (u = (I = (x = e.collection) == null ? void 0 : x.CREDIT) == null ? void 0 : I.at(0)) == null ? void 0 : u.expiryBalance) == null ? void 0 : s.reduce(
|
|
498
498
|
(T, L) => T + L.amount,
|
|
499
499
|
0
|
|
500
|
-
)) || 0, F = Qe(
|
|
500
|
+
)) || 0, F = Qe(p, 2);
|
|
501
501
|
return {
|
|
502
502
|
ID: e._id.toString(),
|
|
503
503
|
Name: ((g = e.name) == null ? void 0 : g.trim()) || "",
|
|
@@ -506,15 +506,15 @@ const kt = {
|
|
|
506
506
|
Gender: e.gender || "",
|
|
507
507
|
CardNo: e.cardNo || "",
|
|
508
508
|
Birthday: e != null && e.birthday ? se(e == null ? void 0 : e.birthday) : "",
|
|
509
|
-
Credit: parseFloat((Number(F) - Number(
|
|
510
|
-
FreeCredit: Number(
|
|
509
|
+
Credit: parseFloat((Number(F) - Number(h)).toFixed(2)),
|
|
510
|
+
FreeCredit: Number(h.toFixed(2)),
|
|
511
511
|
TotalCredit: Number(F),
|
|
512
|
-
Exp: e != null && e.collection ? ((
|
|
513
|
-
Point: e != null && e.collection ? ((N = (
|
|
512
|
+
Exp: e != null && e.collection ? ((d = (o = (a = e.collection) == null ? void 0 : a.POINT) == null ? void 0 : o.at(0)) == null ? void 0 : d.balance) ?? 0 : 0,
|
|
513
|
+
Point: e != null && e.collection ? ((N = (A = (R = e.collection) == null ? void 0 : R.COIN) == null ? void 0 : A.at(0)) == null ? void 0 : N.balance) ?? 0 : 0,
|
|
514
514
|
Level: e != null && e.collection ? ((q = (j = (V = e.collection) == null ? void 0 : V.TIER) == null ? void 0 : j.at(0)) == null ? void 0 : q.balance) ?? 0 : 0,
|
|
515
515
|
Tier: e != null && e.collection ? ((M = (te = (G = e.collection) == null ? void 0 : G.TIER) == null ? void 0 : te.at(0)) == null ? void 0 : M.balance) ?? 0 : 0,
|
|
516
516
|
Titles: C.join(","),
|
|
517
|
-
...
|
|
517
|
+
...f,
|
|
518
518
|
TotalTransaction: e.stats.visitCount,
|
|
519
519
|
AvgSpent: We(Number(e.stats.avgBillSize || 0)).toFormat(
|
|
520
520
|
!1
|
|
@@ -534,7 +534,7 @@ const kt = {
|
|
|
534
534
|
}, It = { class: "flex items-center" }, Mt = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, Tt = { class: "px-24 flex flex-col gap-y-16" }, Et = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, At = { class: "fm-typo-en-body-md-600" }, Dt = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, uo = /* @__PURE__ */ ee({
|
|
535
535
|
__name: "Segment",
|
|
536
536
|
setup(e) {
|
|
537
|
-
const { minor: v } = $e, { t: _ } = be(), C = Ce(), { mapMemberExportRow:
|
|
537
|
+
const { minor: v } = $e, { t: _ } = be(), C = Ce(), { mapMemberExportRow: f } = kt, p = Pe(), h = Ze(), F = z(0), n = [
|
|
538
538
|
{
|
|
539
539
|
header: _("connect.loyalty.segment.table.name"),
|
|
540
540
|
accessorFn: (a) => a.name
|
|
@@ -621,21 +621,31 @@ const kt = {
|
|
|
621
621
|
]);
|
|
622
622
|
}
|
|
623
623
|
}
|
|
624
|
-
], i = z(null), { tableMeta: c, rowData: b, debouncedFetchData:
|
|
624
|
+
], i = z(null), { tableMeta: c, rowData: b, debouncedFetchData: D } = he(
|
|
625
625
|
B.readAll
|
|
626
626
|
);
|
|
627
|
-
async function
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
627
|
+
async function w() {
|
|
628
|
+
var a;
|
|
629
|
+
try {
|
|
630
|
+
await B.refreshSegments(), p.open({ type: "info", title: "Segment refresh queued" });
|
|
631
|
+
} catch (o) {
|
|
632
|
+
if (((o == null ? void 0 : o.status) ?? ((a = o == null ? void 0 : o.response) == null ? void 0 : a.status)) === 409) {
|
|
633
|
+
p.open({
|
|
634
|
+
type: "info",
|
|
635
|
+
title: "Segment refresh already in progress"
|
|
636
|
+
});
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
p.open({
|
|
640
|
+
type: "error",
|
|
641
|
+
title: (o == null ? void 0 : o.message) ?? "Failed to queue segment refresh"
|
|
642
|
+
});
|
|
643
|
+
}
|
|
634
644
|
}
|
|
635
645
|
async function y(a) {
|
|
636
646
|
await De.remove(`Are you sure you want to remove ${a.name}?`) && await v(
|
|
637
647
|
async () => {
|
|
638
|
-
await B.delete(a._id), await
|
|
648
|
+
await B.delete(a._id), await D({ pageSize: 10, pageIndex: 0 });
|
|
639
649
|
},
|
|
640
650
|
{
|
|
641
651
|
message: `Removing ${a.name}`,
|
|
@@ -650,18 +660,18 @@ const kt = {
|
|
|
650
660
|
rowsPerPage: 1e3,
|
|
651
661
|
page: 1,
|
|
652
662
|
rowsNumber: 0
|
|
653
|
-
},
|
|
663
|
+
}, d = new Ve(), R = (await ve.read({
|
|
654
664
|
limit: 1,
|
|
655
665
|
skip: 0,
|
|
656
666
|
sortBy: o.sortBy,
|
|
657
667
|
descending: o.descending
|
|
658
|
-
})).meta.totalResources ?? 0,
|
|
668
|
+
})).meta.totalResources ?? 0, A = o.rowsPerPage;
|
|
659
669
|
await v(
|
|
660
670
|
async () => {
|
|
661
|
-
for (let N = 0; N <
|
|
671
|
+
for (let N = 0; N < R; N += A) {
|
|
662
672
|
const V = {
|
|
663
673
|
...o,
|
|
664
|
-
limit:
|
|
674
|
+
limit: A,
|
|
665
675
|
skip: o.page - 1,
|
|
666
676
|
sortBy: o.sortBy,
|
|
667
677
|
descending: o.descending
|
|
@@ -670,13 +680,13 @@ const kt = {
|
|
|
670
680
|
V
|
|
671
681
|
);
|
|
672
682
|
for (const q of j.resources) {
|
|
673
|
-
const G =
|
|
674
|
-
|
|
683
|
+
const G = f(q);
|
|
684
|
+
d.addRecord(G);
|
|
675
685
|
}
|
|
676
686
|
o.page++;
|
|
677
687
|
}
|
|
678
|
-
await
|
|
679
|
-
|
|
688
|
+
await we(
|
|
689
|
+
d.buildExcel(),
|
|
680
690
|
`[${a.name}]-members-${(/* @__PURE__ */ new Date()).toISOString()}.xlsx`,
|
|
681
691
|
{
|
|
682
692
|
bookType: "xlsx",
|
|
@@ -696,31 +706,31 @@ const kt = {
|
|
|
696
706
|
async () => {
|
|
697
707
|
var o;
|
|
698
708
|
if (a.type === $.enum.STATIC) {
|
|
699
|
-
const
|
|
700
|
-
if (
|
|
701
|
-
const { members:
|
|
702
|
-
|
|
709
|
+
const d = new FormData();
|
|
710
|
+
if (d.append("file", a.file), a._id) {
|
|
711
|
+
const { members: R, _id: A, file: N, ...V } = a;
|
|
712
|
+
d.append("segment", JSON.stringify(V)), await B.updateStatic(a._id, d);
|
|
703
713
|
} else {
|
|
704
|
-
const { file:
|
|
705
|
-
|
|
714
|
+
const { file: R, ...A } = a;
|
|
715
|
+
d.append("segment", JSON.stringify(A)), await B.createStatic(d);
|
|
706
716
|
}
|
|
707
|
-
a.file &&
|
|
717
|
+
a.file && p.open({
|
|
708
718
|
type: "info",
|
|
709
719
|
title: "Import begins soon. Check Queue for updates.",
|
|
710
720
|
action: "View",
|
|
711
721
|
onAction: async () => {
|
|
712
|
-
await
|
|
722
|
+
await h.push({
|
|
713
723
|
name: _e["$connect-QUEUE"],
|
|
714
724
|
query: { type: [fe.enum.SEGMENTATION_IMPORTED] }
|
|
715
725
|
});
|
|
716
726
|
}
|
|
717
727
|
});
|
|
718
728
|
} else if (a._id) {
|
|
719
|
-
const { members:
|
|
720
|
-
await B.update(a._id,
|
|
729
|
+
const { members: d, _id: R, ...A } = a;
|
|
730
|
+
await B.update(a._id, A);
|
|
721
731
|
} else
|
|
722
732
|
await B.create(a);
|
|
723
|
-
await
|
|
733
|
+
await D({ pageSize: 10, pageIndex: 0 }), (o = i.value) == null || o.hideSheet();
|
|
724
734
|
},
|
|
725
735
|
{
|
|
726
736
|
message: "Saving segment",
|
|
@@ -728,7 +738,7 @@ const kt = {
|
|
|
728
738
|
}
|
|
729
739
|
);
|
|
730
740
|
}
|
|
731
|
-
function
|
|
741
|
+
function u(a) {
|
|
732
742
|
var o;
|
|
733
743
|
(o = i.value) == null || o.showSheet(a);
|
|
734
744
|
}
|
|
@@ -754,13 +764,13 @@ const kt = {
|
|
|
754
764
|
function U(a) {
|
|
755
765
|
switch (a) {
|
|
756
766
|
case "add":
|
|
757
|
-
|
|
767
|
+
u();
|
|
758
768
|
break;
|
|
759
769
|
case "refresh":
|
|
760
|
-
|
|
770
|
+
w();
|
|
761
771
|
break;
|
|
762
772
|
case "queue":
|
|
763
|
-
|
|
773
|
+
h.push({
|
|
764
774
|
name: _e["$connect-QUEUE"],
|
|
765
775
|
query: { type: [fe.enum.SEGMENTATION_IMPORTED] }
|
|
766
776
|
});
|
|
@@ -775,25 +785,25 @@ const kt = {
|
|
|
775
785
|
search: void 0,
|
|
776
786
|
descending: !1
|
|
777
787
|
});
|
|
778
|
-
F.value = a.totalResources ?? 0, await
|
|
788
|
+
F.value = a.totalResources ?? 0, await D({ pageSize: 10, pageIndex: 0 }), await C.readPremium(), await C.readLocations();
|
|
779
789
|
}), (a, o) => {
|
|
780
|
-
const
|
|
781
|
-
return
|
|
782
|
-
r(
|
|
790
|
+
const d = S("FmPill"), R = S("FmPageHead"), A = S("FmIcon"), N = S("FmMenuItem"), V = S("FmMenu"), j = S("FmListItem"), q = S("FmList"), G = S("FmButton"), te = S("FmCard");
|
|
791
|
+
return m(), k(O, null, [
|
|
792
|
+
r(R, {
|
|
783
793
|
title: "Segments",
|
|
784
794
|
actions: t(g),
|
|
785
795
|
"onClick:action": o[0] || (o[0] = (M) => U(M))
|
|
786
796
|
}, {
|
|
787
797
|
title: E(() => [
|
|
788
798
|
l("div", It, [
|
|
789
|
-
l("span", Mt,
|
|
790
|
-
r(
|
|
799
|
+
l("span", Mt, P(t(_)("connect.loyalty.segment.title")), 1),
|
|
800
|
+
r(d, { variant: "premium" })
|
|
791
801
|
])
|
|
792
802
|
]),
|
|
793
803
|
_: 1
|
|
794
804
|
}, 8, ["actions"]),
|
|
795
805
|
l("div", Tt, [
|
|
796
|
-
t(b).length > 0 || t(c).searchValue || t(c).isLoading ? (
|
|
806
|
+
t(b).length > 0 || t(c).searchValue || t(c).isLoading ? (m(), k(O, { key: 0 }, [
|
|
797
807
|
r(Fe, {
|
|
798
808
|
loading: t(c).isLoading,
|
|
799
809
|
"row-data": t(b),
|
|
@@ -804,28 +814,28 @@ const kt = {
|
|
|
804
814
|
"page-index": t(c).pageIndex,
|
|
805
815
|
"page-size": t(c).pageSize,
|
|
806
816
|
onRowClick: o[1] || (o[1] = (M) => {
|
|
807
|
-
|
|
817
|
+
u(M.original);
|
|
808
818
|
}),
|
|
809
|
-
onPageChange: t(
|
|
819
|
+
onPageChange: t(D)
|
|
810
820
|
}, null, 8, ["loading", "row-data", "row-count", "page-count", "page-index", "page-size", "onPageChange"]),
|
|
811
821
|
r(q, { class: "w-full hidden xs:!block" }, {
|
|
812
822
|
default: E(() => [
|
|
813
|
-
(
|
|
823
|
+
(m(!0), k(O, null, ie(t(b), (M) => (m(), J(j, {
|
|
814
824
|
key: M._id.toString(),
|
|
815
825
|
tag: "label",
|
|
816
|
-
onClick: (Q) =>
|
|
826
|
+
onClick: (Q) => u(M)
|
|
817
827
|
}, {
|
|
818
828
|
default: E(() => [
|
|
819
829
|
l("div", null, [
|
|
820
|
-
l("div", Et,
|
|
821
|
-
l("div", At,
|
|
822
|
-
l("div", Dt,
|
|
830
|
+
l("div", Et, P((M.memberCount ?? 0).toLocaleString()) + " total customers ", 1),
|
|
831
|
+
l("div", At, P(M.name), 1),
|
|
832
|
+
l("div", Dt, P(((M.memberCount ?? 0) * 100 / t(F)).toFixed(2)) + "% of customers ", 1)
|
|
823
833
|
])
|
|
824
834
|
]),
|
|
825
835
|
append: E(() => [
|
|
826
836
|
r(V, { "stop-click-propagation": !0 }, {
|
|
827
837
|
"menu-button": E(() => [
|
|
828
|
-
r(
|
|
838
|
+
r(A, { name: "more_vert" })
|
|
829
839
|
]),
|
|
830
840
|
default: E(() => [
|
|
831
841
|
r(N, {
|
|
@@ -842,7 +852,7 @@ const kt = {
|
|
|
842
852
|
]),
|
|
843
853
|
_: 1
|
|
844
854
|
})
|
|
845
|
-
], 64)) : (
|
|
855
|
+
], 64)) : (m(), J(te, {
|
|
846
856
|
key: 1,
|
|
847
857
|
variant: "outlined",
|
|
848
858
|
class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
|
|
@@ -861,12 +871,12 @@ const kt = {
|
|
|
861
871
|
label: "Create segment",
|
|
862
872
|
disabled: !t(C).isPremium,
|
|
863
873
|
icon: "add",
|
|
864
|
-
onClick: o[2] || (o[2] = (M) =>
|
|
874
|
+
onClick: o[2] || (o[2] = (M) => u())
|
|
865
875
|
}, null, 8, ["disabled"])
|
|
866
876
|
]),
|
|
867
877
|
_: 1
|
|
868
878
|
})),
|
|
869
|
-
r(
|
|
879
|
+
r(wt, {
|
|
870
880
|
ref_key: "sheetRef",
|
|
871
881
|
ref: i,
|
|
872
882
|
"onUpdate:modelValue": I
|