@feedmepos/mf-menu 0.32.37 → 0.32.38-dev.1
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/{App-Dl-BiHwh.js → App-DGdS9nht.js} +7 -7
- package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-Z4PgBxr3.js → ApplyProduct.vue_vue_type_script_setup_true_lang-CBy3XScH.js} +3 -3
- package/dist/{Catalog-BSZ8BAbX.js → Catalog-BuI0IVpf.js} +6 -6
- package/dist/{Category-bGvXpr0F.js → Category-DSTt-Sl6.js} +9 -9
- package/dist/Category-DbL3CS-5.js +224 -0
- package/dist/{CookingGuide-DijUR2JM.js → CookingGuide-Baw7iMDl.js} +4 -4
- package/dist/{CustomAttributeChip.vue_vue_type_script_setup_true_lang-B30t_PW1.js → CustomAttributeChip.vue_vue_type_script_setup_true_lang-BDZDojOt.js} +1 -1
- package/dist/{Group-O4L3iHx0.js → Group-BnzmEllK.js} +1 -1
- package/dist/{Group-CrqE40ia.js → Group-D158_Fr0.js} +7 -7
- package/dist/{Group.vue_vue_type_script_setup_true_lang-CsM72Jnq.js → Group.vue_vue_type_script_setup_true_lang-C3H6xvlY.js} +227 -216
- package/dist/{GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-BGR4kFzj.js → GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-D2G40Yc6.js} +5 -5
- package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-wf0Wm51b.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-D-JOSWUn.js} +1743 -1743
- package/dist/{Ingredient-DvvuwOdH.js → Ingredient-C-gP75uQ.js} +3 -3
- package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-anFCPZZD.js → InventoryBinding.vue_vue_type_script_setup_true_lang-BpuYVaKl.js} +2 -2
- package/dist/{LinkProductSideSheet-ImK8azTA.js → LinkProductSideSheet-DN5fbJVw.js} +3 -3
- package/dist/{MenuSetting-BX0ohmwF.js → MenuSetting-CjQ6_Ti_.js} +5 -5
- package/dist/{PrintRoute-CXYZHJsf.js → PrintRoute-DK25vS8X.js} +4 -4
- package/dist/{Product-BnnwL5DZ.js → Product-DCEMAuw3.js} +1 -1
- package/dist/{Product.vue_vue_type_script_setup_true_lang-DUBnQJZ1.js → Product.vue_vue_type_script_setup_true_lang-DCutU0Ny.js} +348 -337
- package/dist/{ProductInternalTools-DzRnmE1r.js → ProductInternalTools-CiDa1V3D.js} +23 -23
- package/dist/{Products-CtzHONQZ.js → Products-DUxtMLiy.js} +32 -32
- package/dist/{Publish-DmIbDy8-.js → Publish-Bs5zVwDw.js} +3 -3
- package/dist/{Recipe-D_0Ezt1C.js → Recipe-_WCpFOU6.js} +4 -4
- package/dist/{RuleView.vue_vue_type_script_setup_true_lang-DdeQnyfQ.js → RuleView.vue_vue_type_script_setup_true_lang-3AVOVYpW.js} +366 -366
- package/dist/{Scheduler-BgQsbdVM.js → Scheduler-BqFwfRlm.js} +3 -3
- package/dist/{ServingSequence-DCRzJsrs.js → ServingSequence-ByNsE8ha.js} +3 -3
- package/dist/{Setting-CgtttPN_.js → Setting-widqJGfT.js} +5 -5
- package/dist/Subcategory-DXaz2g4-.js +345 -0
- package/dist/{Takeaway-BfcHs1we.js → Takeaway-Ce_y1_UW.js} +1 -1
- package/dist/{Takeaway-CExKsbN5.js → Takeaway-DVBJn6re.js} +4 -4
- package/dist/Takeaway.vue_vue_type_script_setup_true_lang-DK2Cp2Dg.js +316 -0
- package/dist/{Thumbnail.vue_vue_type_script_setup_true_lang-Br279NC_.js → Thumbnail.vue_vue_type_script_setup_true_lang-CAiNaQMP.js} +4 -4
- package/dist/TranslationSideSheet.vue_vue_type_script_setup_true_lang-BPs9D7Pq.js +185 -0
- package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-nFLEeipN.js +6120 -0
- package/dist/{Unit-B6P_ykM-.js → Unit-XJLHLSYf.js} +2 -2
- package/dist/Variant-BA1AQl9-.js +247 -0
- package/dist/{_id_-D2ozS9Ck.js → _id_-CA2rV7Eb.js} +9 -9
- package/dist/app-C9zsFCoJ.js +363 -0
- package/dist/{app-DqyNXgYz.js → app-D2Sxejos.js} +1 -1
- package/dist/app.js +1 -1
- package/dist/apps/mf-menu/src/app.d.ts +264 -0
- package/dist/apps/mf-menu/src/components/ProductTranslationDialog.vue.d.ts +41 -0
- package/dist/apps/mf-menu/src/components/TranslationBadge.vue.d.ts +29 -0
- package/dist/apps/mf-menu/src/components/TranslationFieldSection.vue.d.ts +39 -0
- package/dist/apps/mf-menu/src/components/TranslationSideSheet.vue.d.ts +23 -0
- package/dist/apps/mf-menu/src/components/feature/ApplyProduct/ApplyProduct.vue.d.ts +12 -0
- package/dist/apps/mf-menu/src/components/feature/ApplyProduct/ApplyProductDialog.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/ApplyProduct/index.d.ts +54 -0
- package/dist/apps/mf-menu/src/components/feature/CategoryManager/Form.vue.d.ts +1 -0
- package/dist/apps/mf-menu/src/components/feature/Fields/ImageDropField.vue.d.ts +1 -0
- package/dist/apps/mf-menu/src/components/feature/GroupManager/OptionTable.vue.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/feature/GroupManager/ProductOverrideTranslation.vue.d.ts +22 -0
- package/dist/apps/mf-menu/src/components/feature/GroupManager/UpdateForm.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/PriceTier/PriceTierButton.vue.d.ts +20 -0
- package/dist/apps/mf-menu/src/components/feature/PriceTier/PriceTierForm.vue.d.ts +20 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/category.d.ts +8 -2
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/item.d.ts +24 -1
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/scheduler.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/composable/useItemFormManagement.d.ts +10 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/form/GroupManager/OptionTable.vue.d.ts +16 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/form/GroupManager/UpdateForm.vue.d.ts +6 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/form/GroupManager/index.d.ts +24 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/item/ItemForm.vue.d.ts +30 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/menuUtils.d.ts +10 -0
- package/dist/apps/mf-menu/src/components/feature/TreeEditor/store/menuV2.d.ts +125 -1
- package/dist/apps/mf-menu/src/components/feature/VariantManager/ProductVariantTranslation.vue.d.ts +37 -0
- package/dist/apps/mf-menu/src/components/import/PreviewAddonContent.vue.d.ts +20 -0
- package/dist/apps/mf-menu/src/composable/linkProducts.d.ts +16 -0
- package/dist/apps/mf-menu/src/helper/item.d.ts +1 -0
- package/dist/apps/mf-menu/src/helper/itemCategories.d.ts +10 -0
- package/dist/apps/mf-menu/src/helper/menu.d.ts +11 -0
- package/dist/apps/mf-menu/src/helper/menuImport.d.ts +125 -1
- package/dist/apps/mf-menu/src/helper/menuSanitizer.d.ts +125 -1
- package/dist/apps/mf-menu/src/manager/menu/category.d.ts +8 -2
- package/dist/apps/mf-menu/src/manager/menu/group.d.ts +1 -0
- package/dist/apps/mf-menu/src/manager/menu/item.d.ts +125 -1
- package/dist/apps/mf-menu/src/manager/menu/subcategory.d.ts +6 -0
- package/dist/apps/mf-menu/src/stores/manager/item.d.ts +31 -1
- package/dist/apps/mf-menu/src/stores/manager/scheduler.d.ts +16 -0
- package/dist/apps/mf-menu/src/stores/manager/takeaway.d.ts +9 -0
- package/dist/apps/mf-menu/src/stores/menu.d.ts +125 -1
- package/dist/apps/mf-menu/src/utils/translation.d.ts +2 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/AddCategoryDialogContentComponent.vue.d.ts +1 -0
- package/dist/apps/mf-menu/src/views/Catalog/Edit/AddProductPopup/Form.vue.d.ts +20 -0
- package/dist/apps/mf-menu/src/views/Publish/UpdateCatalogDialog.vue.d.ts +46 -0
- package/dist/apps/mf-menu/src/views/Scheduler/FilterForm.vue.d.ts +10 -0
- package/dist/apps/mf-menu/src/views/Scheduler/SchedulerDialog.vue.d.ts +10 -0
- package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
- package/dist/assets/linked-status-BrleJSCp.js +13 -0
- package/dist/assets/menu-export-Da3-wtnw.js +107 -0
- package/dist/assets/override-menu-ChjeVe4O.js +13 -0
- package/dist/assets/validate-menu-YVTxOfeq.js +13 -0
- package/dist/{catalog-CFKVaXk7.js → catalog-YvUT-JIh.js} +1 -1
- package/dist/{catalogSetting-N4nT-nGm.js → catalogSetting-CXOYJZO3.js} +1 -1
- package/dist/{currency-Bi_GukGE.js → currency-np4zdWW1.js} +1 -1
- package/dist/dayjs.min-CSuLNurY.js +6 -0
- package/dist/{index-uiJS0BKT.js → index-3wQe-6lg.js} +1 -1
- package/dist/index-CFbB7bM3.js +335 -0
- package/dist/index-Cek4Z9eM.js +539 -0
- package/dist/{index.vue_vue_type_script_setup_true_lang-CL6a622s.js → index.vue_vue_type_script_setup_true_lang-HZXySVXs.js} +18858 -18656
- package/dist/item-DR9qrNf6.js +8117 -0
- package/dist/{jszip.min-v__o3BM4.js → jszip.min-Bz8ZTO2s.js} +2 -2
- package/dist/{menu-LtIuM7Qj.js → menu-BWsDRctK.js} +1 -1
- package/dist/{menuV2-N0hB53Gw.js → menuV2-CfsbyMis.js} +39 -39
- package/dist/mf-menu.css +1 -1
- package/dist/{priceTier-DZeAvlXs.js → priceTier-BNCJtFVM.js} +1 -1
- package/dist/rules-DU-MRKWH.js +212 -0
- package/dist/{scheduler-FVlscyjB.js → scheduler-BizSj8q8.js} +4 -4
- package/dist/{toExcel-DBCbupeI.js → toExcel-DhRigI9c.js} +2 -2
- package/dist/translation-BeqjfyEb.js +75 -0
- package/dist/{unit-DNphv-4C.js → unit-CaOym7HP.js} +2 -2
- package/package.json +3 -3
- package/dist/Category-DMgNea31.js +0 -392
- package/dist/Subcategory-6SgvwWpX.js +0 -280
- package/dist/Takeaway.vue_vue_type_script_setup_true_lang-GAZ3S2_n.js +0 -305
- package/dist/TreeEditorOpenner.vue_vue_type_script_setup_true_lang-BFwMfAlB.js +0 -6024
- package/dist/Variant-DmNuLi96.js +0 -230
- package/dist/app-CE0yoao0.js +0 -363
- package/dist/assets/linked-status-BB6BrSUB.js +0 -13
- package/dist/assets/menu-export-C1TBcoi-.js +0 -107
- package/dist/assets/override-menu-C0RijOOI.js +0 -13
- package/dist/assets/validate-menu-9VpR7oZY.js +0 -13
- package/dist/category-BSGaVgyv.js +0 -156
- package/dist/dayjs.min-DgXlcVSD.js +0 -6
- package/dist/index-BaxQ5Nq0.js +0 -273
- package/dist/index-Bun2EboK.js +0 -239
- package/dist/item-DPivBmJh.js +0 -6950
- package/dist/rules-CIWTZQfh.js +0 -6
- package/dist/subcategory-CIctYwBF.js +0 -148
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { ref as F, computed as
|
|
2
|
-
import { u as Fe, T as Ce, B as me, I as Re, J as ge, V as gt,
|
|
3
|
-
import { useI18n as Ie, useCoreStore as
|
|
4
|
-
import { u as Se } from "./menu-
|
|
5
|
-
import { L as Ge } from "./LinkProductSideSheet-
|
|
6
|
-
import { r as Ct, _ as Le } from "./index-
|
|
7
|
-
import { _ as Me, a as qe } from "./CustomAttributeChip.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { _ as Ue, u as kt } from "./Thumbnail.vue_vue_type_script_setup_true_lang-
|
|
9
|
-
import { f as wt, o as St, a as Vt, m as Ft } from "./menuV2-
|
|
10
|
-
import { u as ot, C as It } from "./item-
|
|
1
|
+
import { ref as F, computed as x, defineComponent as N, resolveComponent as j, createBlock as I, openBlock as m, withCtx as T, createElementVNode as g, createVNode as d, unref as a, createElementBlock as w, Fragment as pe, renderList as we, createCommentVNode as M, normalizeClass as ve, toDisplayString as K, withModifiers as fe, mergeModels as Ze, useModel as Xe, renderSlot as _e, watch as de, createTextVNode as et, watchEffect as tt, nextTick as Ae, resolveDynamicComponent as lt, onMounted as at, h as D, isRef as Ne, normalizeStyle as ft } from "vue";
|
|
2
|
+
import { u as Fe, T as Ce, B as me, I as Re, J as ge, V as gt, ae as bt, af as _t, ag as Pe, ah as yt, R as ht, a4 as be, ai as Ee } from "./index.vue_vue_type_script_setup_true_lang-HZXySVXs.js";
|
|
3
|
+
import { useI18n as Ie, useCoreStore as Oe, useCustomAttributes as xt } from "@feedmepos/mf-common";
|
|
4
|
+
import { u as Se } from "./menu-BWsDRctK.js";
|
|
5
|
+
import { L as Ge } from "./LinkProductSideSheet-DN5fbJVw.js";
|
|
6
|
+
import { r as Ct, _ as Le } from "./index-3wQe-6lg.js";
|
|
7
|
+
import { _ as Me, a as qe } from "./CustomAttributeChip.vue_vue_type_script_setup_true_lang-BDZDojOt.js";
|
|
8
|
+
import { _ as Ue, u as kt } from "./Thumbnail.vue_vue_type_script_setup_true_lang-CAiNaQMP.js";
|
|
9
|
+
import { f as wt, o as St, a as Vt, m as Ft } from "./menuV2-CfsbyMis.js";
|
|
10
|
+
import { u as ot, C as It } from "./item-DR9qrNf6.js";
|
|
11
11
|
import { b as We, H as $t } from "./app-5fxKLAzS.js";
|
|
12
12
|
import { useBreakpoints as rt, components as te, useDialog as Tt, FmButtonColorThemeVariant as W, FmButtonVariant as ee } from "@feedmepos/ui-library";
|
|
13
13
|
import { F as Pt } from "./index-CisutoS9.js";
|
|
14
|
-
import { _ as
|
|
14
|
+
import { _ as ze, a as At } from "./app-C9zsFCoJ.js";
|
|
15
15
|
import { _ as ke } from "./TextChip.vue_vue_type_script_setup_true_lang-8frWuZFL.js";
|
|
16
|
-
import { _ as Rt } from "./index-
|
|
17
|
-
import { r as Mt, _ as Ut } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-
|
|
18
|
-
import { c as
|
|
19
|
-
import { f as
|
|
20
|
-
import { w as
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
import { _ as Rt } from "./index-CFbB7bM3.js";
|
|
17
|
+
import { r as Mt, _ as Ut } from "./ImportProductDialog.vue_vue_type_script_setup_true_lang-D-JOSWUn.js";
|
|
18
|
+
import { c as Ot } from "./check-C9mY6LiX.js";
|
|
19
|
+
import { f as zt } from "./currency-np4zdWW1.js";
|
|
20
|
+
import { w as Dt } from "./tooltip-B5BiPMx9.js";
|
|
21
|
+
import { g as jt } from "./translation-BeqjfyEb.js";
|
|
22
|
+
function Bt(k, e, i = k) {
|
|
23
|
+
const n = F(!0), t = x(() => {
|
|
23
24
|
if (!n.value && !e.value)
|
|
24
25
|
return !0;
|
|
25
26
|
if (e.value && e.value.length > 0) {
|
|
@@ -27,9 +28,9 @@ function Bt(C, e, i = C) {
|
|
|
27
28
|
return e.value.length === f.length && e.value.every((s) => f.includes(s));
|
|
28
29
|
}
|
|
29
30
|
return !1;
|
|
30
|
-
}), u =
|
|
31
|
+
}), u = x(() => {
|
|
31
32
|
var f, s, b, y;
|
|
32
|
-
return !!((f = e.value) != null && f.length && ((s = e.value) == null ? void 0 : s.length) > 0 && ((b = e.value) == null ? void 0 : b.length) < ((y =
|
|
33
|
+
return !!((f = e.value) != null && f.length && ((s = e.value) == null ? void 0 : s.length) > 0 && ((b = e.value) == null ? void 0 : b.length) < ((y = k.value) == null ? void 0 : y.length));
|
|
33
34
|
});
|
|
34
35
|
return { allCleared: n, allSelected: t, indeterminate: u, toggleAll: () => {
|
|
35
36
|
if (t.value) {
|
|
@@ -37,11 +38,11 @@ function Bt(C, e, i = C) {
|
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
40
|
const f = i.value.map((s) => s.value);
|
|
40
|
-
f.length ===
|
|
41
|
+
f.length === k.value.length ? (e.value = void 0, n.value = !1) : (e.value = f, n.value = !1);
|
|
41
42
|
}, toggleOption: (f) => {
|
|
42
|
-
var b, y,
|
|
43
|
+
var b, y, S;
|
|
43
44
|
let s;
|
|
44
|
-
e.value === void 0 && n.value ? s = [f] : e.value === void 0 && !n.value ? s = (b =
|
|
45
|
+
e.value === void 0 && n.value ? s = [f] : e.value === void 0 && !n.value ? s = (b = k.value.map((O) => O.value)) == null ? void 0 : b.filter((O) => O !== f) : (y = e.value) != null && y.includes(f) ? s = (S = e.value) == null ? void 0 : S.filter((O) => O !== f) : s = [...e.value || [], f], s.length === 0 ? (e.value = void 0, n.value = !0) : s.length === k.value.length ? (e.value = void 0, n.value = !1) : e.value = s;
|
|
45
46
|
} };
|
|
46
47
|
}
|
|
47
48
|
const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
@@ -50,32 +51,32 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
50
51
|
"fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap",
|
|
51
52
|
"text-fm-color-neutral-gray-400"
|
|
52
53
|
])
|
|
53
|
-
},
|
|
54
|
+
}, Et = { class: "p-4" }, Gt = { class: "flex-1 overflow-y-auto min-h-0" }, He = /* @__PURE__ */ N({
|
|
54
55
|
__name: "CategorySelector",
|
|
55
56
|
emits: ["toggleAttributeFilter"],
|
|
56
|
-
setup(
|
|
57
|
-
const i = e, n = Fe(), { categories: t, selectedCategories: u } = Se(), l =
|
|
57
|
+
setup(k, { emit: e }) {
|
|
58
|
+
const i = e, n = Fe(), { categories: t, selectedCategories: u } = Se(), l = x(() => n.state.currentCategoryIds), v = x(
|
|
58
59
|
() => t.value.map((B) => ({ label: B.name, value: B.id }))
|
|
59
|
-
), f =
|
|
60
|
+
), f = x(() => v.value.filter(
|
|
60
61
|
(B) => B.label.toLowerCase().includes(y.value.toLowerCase())
|
|
61
|
-
)), { t: s } = Ie(), b =
|
|
62
|
-
var B,
|
|
63
|
-
return t.value.length === ((B = u.value) == null ? void 0 : B.length) ? s("menu.category.selector.all") : ((
|
|
64
|
-
}), y = F(""),
|
|
62
|
+
)), { t: s } = Ie(), b = x(() => {
|
|
63
|
+
var B, z, H;
|
|
64
|
+
return t.value.length === ((B = u.value) == null ? void 0 : B.length) ? s("menu.category.selector.all") : ((z = u.value) == null ? void 0 : z.length) === 1 ? u.value[0].name : `${(H = u.value) == null ? void 0 : H.length}`;
|
|
65
|
+
}), y = F(""), S = x({
|
|
65
66
|
get: () => l.value,
|
|
66
67
|
set: (B) => {
|
|
67
68
|
n.selectCategory(B);
|
|
68
69
|
}
|
|
69
|
-
}), { allSelected:
|
|
70
|
+
}), { allSelected: O, toggleAll: Y, toggleOption: V, indeterminate: oe } = Bt(
|
|
70
71
|
v,
|
|
71
|
-
|
|
72
|
+
S,
|
|
72
73
|
f
|
|
73
|
-
), J =
|
|
74
|
-
function
|
|
74
|
+
), J = Oe(), re = x(() => J.itemAttributeSettings.value.length > 0);
|
|
75
|
+
function L() {
|
|
75
76
|
i("toggleAttributeFilter");
|
|
76
77
|
}
|
|
77
|
-
return (B,
|
|
78
|
-
const H =
|
|
78
|
+
return (B, z) => {
|
|
79
|
+
const H = j("FmIcon"), Z = j("FmChip"), ne = j("FmSearch"), Q = j("FmMenuItem"), se = j("FmMenu");
|
|
79
80
|
return m(), I(se, {
|
|
80
81
|
"close-on-click": !1,
|
|
81
82
|
width: 220
|
|
@@ -84,23 +85,23 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
84
85
|
g("div", Kt, [
|
|
85
86
|
d(Z, null, {
|
|
86
87
|
default: T(() => [
|
|
87
|
-
b.value ? (m(),
|
|
88
|
+
b.value ? (m(), w("div", Nt, K(a(s)("menu.category.selector.title", { label: b.value })), 1)) : M("", !0),
|
|
88
89
|
d(H, {
|
|
89
90
|
color: "neutral-gray-400",
|
|
90
91
|
name: "expand_more",
|
|
91
92
|
size: "sm"
|
|
92
93
|
}),
|
|
93
|
-
re.value ? (m(),
|
|
94
|
+
re.value ? (m(), w("div", {
|
|
94
95
|
key: 1,
|
|
95
96
|
class: "pl-8 flex items-center justify-center border-l border-fm-color-neutral-gray-200",
|
|
96
|
-
onClick: fe(
|
|
97
|
+
onClick: fe(L, ["stop"])
|
|
97
98
|
}, [
|
|
98
99
|
d(H, {
|
|
99
100
|
name: "filter_alt",
|
|
100
101
|
outline: "",
|
|
101
102
|
color: "neutral-gray-400",
|
|
102
103
|
size: "sm",
|
|
103
|
-
onClick:
|
|
104
|
+
onClick: z[0] || (z[0] = fe(() => {
|
|
104
105
|
}, ["prevent"]))
|
|
105
106
|
})
|
|
106
107
|
])) : M("", !0)
|
|
@@ -110,30 +111,30 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
110
111
|
])
|
|
111
112
|
]),
|
|
112
113
|
default: T(() => [
|
|
113
|
-
g("div",
|
|
114
|
+
g("div", Et, [
|
|
114
115
|
d(ne, {
|
|
115
116
|
autofocus: "",
|
|
116
117
|
modelValue: y.value,
|
|
117
|
-
"onUpdate:modelValue":
|
|
118
|
+
"onUpdate:modelValue": z[1] || (z[1] = (R) => y.value = R),
|
|
118
119
|
placeholder: a(s)("menu.common.actions.search")
|
|
119
120
|
}, null, 8, ["modelValue", "placeholder"])
|
|
120
121
|
]),
|
|
121
|
-
g("div",
|
|
122
|
+
g("div", Gt, [
|
|
122
123
|
d(Q, {
|
|
123
124
|
label: "All",
|
|
124
125
|
"has-checkbox": "",
|
|
125
|
-
"model-value": a(
|
|
126
|
+
"model-value": a(O),
|
|
126
127
|
indeterminate: a(oe),
|
|
127
128
|
onClick: a(Y)
|
|
128
129
|
}, null, 8, ["model-value", "indeterminate", "onClick"]),
|
|
129
|
-
(m(!0),
|
|
130
|
+
(m(!0), w(pe, null, we(f.value, (R) => {
|
|
130
131
|
var $;
|
|
131
132
|
return m(), I(Q, {
|
|
132
133
|
key: R.value || "",
|
|
133
134
|
label: R.label,
|
|
134
135
|
"has-checkbox": "",
|
|
135
|
-
"model-value": a(
|
|
136
|
-
onClick: (P) => a(
|
|
136
|
+
"model-value": a(O) || (($ = S.value) == null ? void 0 : $.includes(R.value)),
|
|
137
|
+
onClick: (P) => a(V)(R.value)
|
|
137
138
|
}, null, 8, ["label", "model-value", "onClick"]);
|
|
138
139
|
}), 128))
|
|
139
140
|
])
|
|
@@ -142,20 +143,20 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
142
143
|
});
|
|
143
144
|
};
|
|
144
145
|
}
|
|
145
|
-
}),
|
|
146
|
+
}), Lt = { class: "flex flex-wrap gap-8" }, qt = { class: "py-12 px-16 space-y-12" }, Wt = { class: "fm-typo-en-body-md-600 text-fm-color-neutral-gray-600" }, Ht = { class: "flex flex-wrap gap-8" }, Qt = {
|
|
146
147
|
key: 0,
|
|
147
148
|
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
|
|
148
|
-
},
|
|
149
|
+
}, Yt = { key: 0 }, Jt = {
|
|
149
150
|
key: 1,
|
|
150
151
|
class: "inline-block w-8"
|
|
151
|
-
},
|
|
152
|
+
}, Zt = { key: 0 }, Xt = { key: 1 }, Qe = /* @__PURE__ */ N({
|
|
152
153
|
__name: "CategoriesChip",
|
|
153
154
|
props: {
|
|
154
155
|
categories: { default: () => [] },
|
|
155
156
|
ellipsis: { type: Boolean, default: !0 }
|
|
156
157
|
},
|
|
157
|
-
setup(
|
|
158
|
-
const e =
|
|
158
|
+
setup(k) {
|
|
159
|
+
const e = k, { t: i } = Ie(), n = rt(), t = x(() => n.breakpoints.value.xs), u = x(() => e.ellipsis ? t.value ? 1 : 2 : 1 / 0), l = x(() => e.categories.length <= u.value ? e.categories : e.categories.slice(0, u.value)), v = F(!0), f = x(() => {
|
|
159
160
|
if (v.value) {
|
|
160
161
|
const b = l.value.join(", ");
|
|
161
162
|
return b.length > 20 ? b.slice(0, 20) + "..." : b;
|
|
@@ -163,18 +164,18 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
163
164
|
return e.categories.join(", ");
|
|
164
165
|
});
|
|
165
166
|
return (s, b) => {
|
|
166
|
-
const y =
|
|
167
|
-
return t.value ? (m(),
|
|
168
|
-
s.categories.length > 0 ? (m(),
|
|
167
|
+
const y = j("FmTooltip");
|
|
168
|
+
return t.value ? (m(), w(pe, { key: 1 }, [
|
|
169
|
+
s.categories.length > 0 ? (m(), w("p", Qt, [
|
|
169
170
|
g("span", null, K(a(i)("menu.product.table.columns.category")) + ": ", 1),
|
|
170
171
|
g("span", null, K(f.value), 1),
|
|
171
|
-
v.value ? (m(),
|
|
172
|
-
s.categories.length > u.value ? (m(),
|
|
172
|
+
v.value ? (m(), w("span", Jt)) : (m(), w("br", Yt)),
|
|
173
|
+
s.categories.length > u.value ? (m(), w("span", {
|
|
173
174
|
key: 2,
|
|
174
175
|
class: "fm-typo-en-body-md-400 text-fm-color-primary cursor-pointer",
|
|
175
|
-
onClick: b[0] || (b[0] = fe((
|
|
176
|
+
onClick: b[0] || (b[0] = fe((S) => v.value = !v.value, ["stop", "prevent"]))
|
|
176
177
|
}, [
|
|
177
|
-
v.value ? (m(),
|
|
178
|
+
v.value ? (m(), w("span", Zt, K(a(i)("menu.product.table.category.expand", { count: s.categories.length - u.value })), 1)) : (m(), w("span", Xt, K(a(i)("menu.product.table.category.collapse")), 1))
|
|
178
179
|
])) : M("", !0)
|
|
179
180
|
])) : M("", !0)
|
|
180
181
|
], 64)) : (m(), I(y, {
|
|
@@ -185,22 +186,22 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
185
186
|
"z-index": 50
|
|
186
187
|
}, {
|
|
187
188
|
content: T(() => [
|
|
188
|
-
g("div",
|
|
189
|
-
g("p",
|
|
190
|
-
g("div",
|
|
191
|
-
(m(!0),
|
|
192
|
-
key:
|
|
193
|
-
label:
|
|
189
|
+
g("div", qt, [
|
|
190
|
+
g("p", Wt, K(a(i)("menu.product.table.category.all")), 1),
|
|
191
|
+
g("div", Ht, [
|
|
192
|
+
(m(!0), w(pe, null, we(e.categories, (S) => (m(), I(ke, {
|
|
193
|
+
key: S,
|
|
194
|
+
label: S,
|
|
194
195
|
variant: "neutral"
|
|
195
196
|
}, null, 8, ["label"]))), 128))
|
|
196
197
|
])
|
|
197
198
|
])
|
|
198
199
|
]),
|
|
199
200
|
default: T(() => [
|
|
200
|
-
g("div",
|
|
201
|
-
(m(!0),
|
|
202
|
-
key:
|
|
203
|
-
label:
|
|
201
|
+
g("div", Lt, [
|
|
202
|
+
(m(!0), w(pe, null, we(l.value, (S) => (m(), I(ke, {
|
|
203
|
+
key: S,
|
|
204
|
+
label: S,
|
|
204
205
|
variant: "neutral"
|
|
205
206
|
}, null, 8, ["label"]))), 128)),
|
|
206
207
|
s.categories.length > u.value ? (m(), I(ke, {
|
|
@@ -214,7 +215,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
214
215
|
}));
|
|
215
216
|
};
|
|
216
217
|
}
|
|
217
|
-
}),
|
|
218
|
+
}), el = /* @__PURE__ */ N({
|
|
218
219
|
__name: "ProductSearcher",
|
|
219
220
|
props: /* @__PURE__ */ Ze({
|
|
220
221
|
label: {},
|
|
@@ -225,13 +226,13 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
225
226
|
modelModifiers: {}
|
|
226
227
|
}),
|
|
227
228
|
emits: ["update:modelValue"],
|
|
228
|
-
setup(
|
|
229
|
-
const e =
|
|
229
|
+
setup(k) {
|
|
230
|
+
const e = k, i = Xe(k, "modelValue"), n = x(() => e.menu.modules.item.map((t) => ({
|
|
230
231
|
label: t.code ? `${t.code} ${t.name}` : t.name,
|
|
231
232
|
value: t._id
|
|
232
233
|
})));
|
|
233
234
|
return (t, u) => {
|
|
234
|
-
const l =
|
|
235
|
+
const l = j("FmSelect");
|
|
235
236
|
return m(), I(l, {
|
|
236
237
|
modelValue: i.value,
|
|
237
238
|
"onUpdate:modelValue": u[0] || (u[0] = (v) => i.value = v),
|
|
@@ -244,10 +245,10 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
244
245
|
}, null, 8, ["modelValue", "items", "label", "helper-text"]);
|
|
245
246
|
};
|
|
246
247
|
}
|
|
247
|
-
}),
|
|
248
|
+
}), tl = { class: "flex" }, ll = { class: "w-[260px] space-y-16 h-full" }, al = { class: "flex items-center gap-4 px-8" }, ol = { class: "fm-typo-en-title-sm-600" }, rl = {
|
|
248
249
|
key: 0,
|
|
249
250
|
class: "bg-fm-color-neutral-gray-100 rounded-md px-8 py-4"
|
|
250
|
-
},
|
|
251
|
+
}, nl = { class: "fm-typo-en-body-md-600" }, sl = { class: "flex-1" }, nt = /* @__PURE__ */ N({
|
|
251
252
|
__name: "ViewLayout",
|
|
252
253
|
props: /* @__PURE__ */ Ze({
|
|
253
254
|
title: {},
|
|
@@ -258,19 +259,19 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
258
259
|
modelModifiers: {}
|
|
259
260
|
}),
|
|
260
261
|
emits: ["update:modelValue"],
|
|
261
|
-
setup(
|
|
262
|
-
const e = Xe(
|
|
262
|
+
setup(k) {
|
|
263
|
+
const e = Xe(k, "modelValue");
|
|
263
264
|
return (i, n) => {
|
|
264
|
-
const t =
|
|
265
|
-
return m(),
|
|
266
|
-
g("div",
|
|
267
|
-
g("div",
|
|
268
|
-
g("p",
|
|
269
|
-
i.titleBadge !== void 0 ? (m(),
|
|
270
|
-
g("p",
|
|
265
|
+
const t = j("FmCollapsibleTabs");
|
|
266
|
+
return m(), w("div", tl, [
|
|
267
|
+
g("div", ll, [
|
|
268
|
+
g("div", al, [
|
|
269
|
+
g("p", ol, K(i.title), 1),
|
|
270
|
+
i.titleBadge !== void 0 ? (m(), w("div", rl, [
|
|
271
|
+
g("p", nl, K(i.titleBadge), 1)
|
|
271
272
|
])) : M("", !0)
|
|
272
273
|
]),
|
|
273
|
-
d(
|
|
274
|
+
d(ze, null, {
|
|
274
275
|
default: T(() => [
|
|
275
276
|
d(t, {
|
|
276
277
|
modelValue: e.value,
|
|
@@ -282,7 +283,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
282
283
|
})
|
|
283
284
|
]),
|
|
284
285
|
n[1] || (n[1] = g("div", { class: "w-[1px] min-h-full ml-4 mr-12 bg-fm-color-neutral-gray-100 self-stretch" }, null, -1)),
|
|
285
|
-
g("div",
|
|
286
|
+
g("div", sl, [
|
|
286
287
|
_e(i.$slots, "default")
|
|
287
288
|
])
|
|
288
289
|
]);
|
|
@@ -293,8 +294,8 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
293
294
|
props: {
|
|
294
295
|
orderFrom: {}
|
|
295
296
|
},
|
|
296
|
-
setup(
|
|
297
|
-
const e =
|
|
297
|
+
setup(k) {
|
|
298
|
+
const e = k, i = Ce();
|
|
298
299
|
return (n, t) => {
|
|
299
300
|
var u, l;
|
|
300
301
|
return m(), I(ke, {
|
|
@@ -303,13 +304,13 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
303
304
|
}, null, 8, ["label", "variant"]);
|
|
304
305
|
};
|
|
305
306
|
}
|
|
306
|
-
}),
|
|
307
|
+
}), ul = /* @__PURE__ */ N({
|
|
307
308
|
__name: "GroupViewTable",
|
|
308
309
|
props: {
|
|
309
310
|
data: {}
|
|
310
311
|
},
|
|
311
|
-
setup(
|
|
312
|
-
const e =
|
|
312
|
+
setup(k) {
|
|
313
|
+
const e = k, i = [{
|
|
313
314
|
accessorKey: "code",
|
|
314
315
|
header: () => "Code",
|
|
315
316
|
enableSorting: !1,
|
|
@@ -370,8 +371,8 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
370
371
|
return de(() => e.data, () => {
|
|
371
372
|
u();
|
|
372
373
|
}), (l, v) => {
|
|
373
|
-
const f =
|
|
374
|
-
return m(), I(
|
|
374
|
+
const f = j("FmTable");
|
|
375
|
+
return m(), I(ze, null, {
|
|
375
376
|
default: T(() => [d(f, {
|
|
376
377
|
"column-defs": i,
|
|
377
378
|
"row-data": l.data,
|
|
@@ -386,24 +387,24 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
386
387
|
});
|
|
387
388
|
};
|
|
388
389
|
}
|
|
389
|
-
}),
|
|
390
|
+
}), il = /* @__PURE__ */ N({
|
|
390
391
|
__name: "GroupView",
|
|
391
392
|
props: {
|
|
392
393
|
itemId: {},
|
|
393
394
|
menu: {}
|
|
394
395
|
},
|
|
395
|
-
setup(
|
|
396
|
-
const e =
|
|
396
|
+
setup(k) {
|
|
397
|
+
const e = k, i = F(""), n = x(() => t.value.reduce((s, b) => s + (typeof b.badge == "number" ? b.badge ?? 1 : 0), 0)), t = F([]), u = x(() => {
|
|
397
398
|
const s = t.value.find((y) => y.value === i.value);
|
|
398
399
|
return ((s == null ? void 0 : s.itemInGroup) || []).map((y) => ({
|
|
399
400
|
groupName: y.group.name,
|
|
400
|
-
subRows: y.items.map((
|
|
401
|
+
subRows: y.items.map((S) => ({
|
|
401
402
|
// @ts-ignore
|
|
402
|
-
code:
|
|
403
|
-
productName:
|
|
404
|
-
price:
|
|
405
|
-
orderFrom:
|
|
406
|
-
variant:
|
|
403
|
+
code: S.code || S.fallbackCode,
|
|
404
|
+
productName: S.combinationKey ? "" : S.name ?? "",
|
|
405
|
+
price: S.price ? me.Dinero.fromFdoDinero(S.price).toFormat() : "--",
|
|
406
|
+
orderFrom: S.orderFrom ?? void 0,
|
|
407
|
+
variant: S.combinationKey ? S.name ?? "" : void 0
|
|
407
408
|
}))
|
|
408
409
|
}));
|
|
409
410
|
});
|
|
@@ -426,7 +427,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
426
427
|
itemInGroup: []
|
|
427
428
|
}))];
|
|
428
429
|
}
|
|
429
|
-
|
|
430
|
+
x(() => t.value.find((s) => s.value === i.value));
|
|
430
431
|
async function v(s) {
|
|
431
432
|
const b = t.value.find((y) => y.catalogId === s);
|
|
432
433
|
if (b) {
|
|
@@ -453,15 +454,15 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
453
454
|
title: "Catalog",
|
|
454
455
|
"title-badge": n.value
|
|
455
456
|
}, {
|
|
456
|
-
default: T(() => [d(
|
|
457
|
+
default: T(() => [d(ul, {
|
|
457
458
|
data: u.value
|
|
458
459
|
}, null, 8, ["data"])]),
|
|
459
460
|
_: 1
|
|
460
461
|
}, 8, ["modelValue", "items", "title-badge"]));
|
|
461
462
|
}
|
|
462
|
-
}),
|
|
463
|
+
}), cl = {
|
|
463
464
|
class: "scroll-x-auto"
|
|
464
|
-
},
|
|
465
|
+
}, dl = /* @__PURE__ */ N({
|
|
465
466
|
__name: "ProductViewTable",
|
|
466
467
|
props: {
|
|
467
468
|
itemId: {},
|
|
@@ -469,8 +470,8 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
469
470
|
catalogId: {},
|
|
470
471
|
schedulerIds: {}
|
|
471
472
|
},
|
|
472
|
-
setup(
|
|
473
|
-
const e =
|
|
473
|
+
setup(k) {
|
|
474
|
+
const e = k, i = [{
|
|
474
475
|
accessorKey: "scheduler",
|
|
475
476
|
header: () => "Scheduler",
|
|
476
477
|
enableSorting: !1,
|
|
@@ -528,9 +529,9 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
528
529
|
}
|
|
529
530
|
});
|
|
530
531
|
}), (u, l) => {
|
|
531
|
-
const v =
|
|
532
|
-
return m(), I(
|
|
533
|
-
default: T(() => [g("div",
|
|
532
|
+
const v = j("FmTable");
|
|
533
|
+
return m(), I(ze, null, {
|
|
534
|
+
default: T(() => [g("div", cl, [d(v, {
|
|
534
535
|
class: "min-w-[800px]",
|
|
535
536
|
"column-defs": i,
|
|
536
537
|
"row-data": n.value,
|
|
@@ -542,18 +543,18 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
542
543
|
});
|
|
543
544
|
};
|
|
544
545
|
}
|
|
545
|
-
}),
|
|
546
|
+
}), ml = /* @__PURE__ */ N({
|
|
546
547
|
__name: "ProductView",
|
|
547
548
|
props: {
|
|
548
549
|
itemId: {},
|
|
549
550
|
menu: {}
|
|
550
551
|
},
|
|
551
|
-
setup(
|
|
552
|
-
const e =
|
|
552
|
+
setup(k) {
|
|
553
|
+
const e = k, i = F(null);
|
|
553
554
|
tt(async () => {
|
|
554
555
|
i.value = await Vt(e.menu, e.itemId), await Ae(), n.value = t.value[0].value;
|
|
555
556
|
});
|
|
556
|
-
const n = F(""), t =
|
|
557
|
+
const n = F(""), t = x(() => {
|
|
557
558
|
var f, s;
|
|
558
559
|
const l = {
|
|
559
560
|
label: "Master product",
|
|
@@ -576,7 +577,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
576
577
|
};
|
|
577
578
|
});
|
|
578
579
|
return [l, ...v];
|
|
579
|
-
}), u =
|
|
580
|
+
}), u = x(() => t.value.find((l) => l.value === n.value));
|
|
580
581
|
return (l, v) => (m(), I(nt, {
|
|
581
582
|
modelValue: n.value,
|
|
582
583
|
"onUpdate:modelValue": v[0] || (v[0] = (f) => n.value = f),
|
|
@@ -587,7 +588,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
587
588
|
default: T(() => {
|
|
588
589
|
var f, s;
|
|
589
590
|
return [
|
|
590
|
-
d(
|
|
591
|
+
d(dl, {
|
|
591
592
|
menu: l.menu,
|
|
592
593
|
"item-id": l.itemId,
|
|
593
594
|
"catalog-id": ((f = u.value) == null ? void 0 : f.catalogId) || null,
|
|
@@ -598,41 +599,41 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
598
599
|
_: 1
|
|
599
600
|
}, 8, ["modelValue", "items", "title-badge"]));
|
|
600
601
|
}
|
|
601
|
-
}),
|
|
602
|
+
}), pl = { class: "flex items-center gap-8" }, vl = { class: "space-y-4" }, fl = { class: "fm-typo-en-title-md-600" }, gl = { key: 0 }, bl = { class: "text-fm-color-typo-secondary" }, _l = {
|
|
602
603
|
key: 0,
|
|
603
604
|
class: "text-fm-color-typo-secondary"
|
|
604
|
-
},
|
|
605
|
+
}, yl = { class: "flex items-center gap-4" }, hl = /* @__PURE__ */ N({
|
|
605
606
|
__name: "ProductBaseInfo",
|
|
606
607
|
props: {
|
|
607
608
|
itemId: {},
|
|
608
609
|
menu: {}
|
|
609
610
|
},
|
|
610
|
-
setup(
|
|
611
|
-
const e =
|
|
611
|
+
setup(k) {
|
|
612
|
+
const e = k, i = x(() => e.menu.modules.item.find((t) => t._id === e.itemId)), n = x(() => {
|
|
612
613
|
var t;
|
|
613
614
|
return me.Dinero.fromFdoDinero((t = i.value) == null ? void 0 : t.price).toFormat(!0);
|
|
614
615
|
});
|
|
615
616
|
return (t, u) => {
|
|
616
|
-
var l, v, f, s, b, y,
|
|
617
|
-
return m(),
|
|
617
|
+
var l, v, f, s, b, y, S;
|
|
618
|
+
return m(), w("div", pl, [
|
|
618
619
|
d(Ue, {
|
|
619
620
|
alt: ((l = i.value) == null ? void 0 : l.name) ?? null,
|
|
620
621
|
size: 72,
|
|
621
622
|
src: (v = i.value) == null ? void 0 : v.thumbnail,
|
|
622
623
|
crossorigin: !1
|
|
623
624
|
}, null, 8, ["alt", "src"]),
|
|
624
|
-
g("div",
|
|
625
|
-
g("p",
|
|
626
|
-
(f = i.value) != null && f.code ? (m(),
|
|
625
|
+
g("div", vl, [
|
|
626
|
+
g("p", fl, [
|
|
627
|
+
(f = i.value) != null && f.code ? (m(), w("span", gl, K((s = i.value) == null ? void 0 : s.code) + ", ", 1)) : M("", !0),
|
|
627
628
|
g("span", null, K((b = i.value) == null ? void 0 : b.name), 1)
|
|
628
629
|
]),
|
|
629
|
-
g("p",
|
|
630
|
-
(y = i.value) != null && y.customAttributes ? (m(),
|
|
631
|
-
g("div",
|
|
630
|
+
g("p", bl, "Base price: " + K(n.value), 1),
|
|
631
|
+
(y = i.value) != null && y.customAttributes ? (m(), w("div", _l, [
|
|
632
|
+
g("div", yl, [
|
|
632
633
|
u[0] || (u[0] = g("span", null, "Tagging:", -1)),
|
|
633
634
|
d(Me, {
|
|
634
635
|
ellipsis: !1,
|
|
635
|
-
"custom-attributes": (
|
|
636
|
+
"custom-attributes": (S = i.value) == null ? void 0 : S.customAttributes
|
|
636
637
|
}, null, 8, ["custom-attributes"])
|
|
637
638
|
])
|
|
638
639
|
])) : M("", !0)
|
|
@@ -640,30 +641,30 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
640
641
|
]);
|
|
641
642
|
};
|
|
642
643
|
}
|
|
643
|
-
}),
|
|
644
|
+
}), xl = { class: "space-y-16" }, Cl = /* @__PURE__ */ N({
|
|
644
645
|
__name: "ProductViewer",
|
|
645
646
|
props: {
|
|
646
647
|
itemId: {},
|
|
647
648
|
menu: {}
|
|
648
649
|
},
|
|
649
|
-
setup(
|
|
650
|
-
const e = F("product"), i =
|
|
650
|
+
setup(k) {
|
|
651
|
+
const e = F("product"), i = x(() => [
|
|
651
652
|
{
|
|
652
653
|
value: "product",
|
|
653
654
|
label: "Product",
|
|
654
|
-
component:
|
|
655
|
+
component: ml
|
|
655
656
|
},
|
|
656
657
|
{
|
|
657
658
|
value: "group",
|
|
658
659
|
label: "Group",
|
|
659
|
-
component:
|
|
660
|
+
component: il
|
|
660
661
|
}
|
|
661
662
|
]);
|
|
662
663
|
return (n, t) => {
|
|
663
664
|
var l;
|
|
664
|
-
const u =
|
|
665
|
-
return m(),
|
|
666
|
-
d(
|
|
665
|
+
const u = j("FmTabs");
|
|
666
|
+
return m(), w("div", xl, [
|
|
667
|
+
d(hl, {
|
|
667
668
|
"item-id": n.itemId,
|
|
668
669
|
menu: n.menu
|
|
669
670
|
}, null, 8, ["item-id", "menu"]),
|
|
@@ -683,19 +684,19 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
683
684
|
]);
|
|
684
685
|
};
|
|
685
686
|
}
|
|
686
|
-
}),
|
|
687
|
+
}), kl = { class: "space-y-24" }, wl = { key: 0 }, Sl = /* @__PURE__ */ N({
|
|
687
688
|
__name: "ProductOverview",
|
|
688
689
|
props: {
|
|
689
690
|
itemId: {},
|
|
690
691
|
showSearch: { type: Boolean, default: !1 }
|
|
691
692
|
},
|
|
692
|
-
setup(
|
|
693
|
-
const e =
|
|
693
|
+
setup(k) {
|
|
694
|
+
const e = k, i = Fe(), n = F(null);
|
|
694
695
|
return at(() => {
|
|
695
696
|
n.value = e.itemId;
|
|
696
|
-
}), (t, u) => (m(),
|
|
697
|
-
t.showSearch ? (m(),
|
|
698
|
-
d(
|
|
697
|
+
}), (t, u) => (m(), w("div", kl, [
|
|
698
|
+
t.showSearch ? (m(), w("div", wl, [
|
|
699
|
+
d(el, {
|
|
699
700
|
modelValue: n.value,
|
|
700
701
|
"onUpdate:modelValue": u[0] || (u[0] = (l) => n.value = l),
|
|
701
702
|
class: "w-1/2",
|
|
@@ -705,7 +706,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
705
706
|
}, null, 8, ["modelValue", "menu"])
|
|
706
707
|
])) : M("", !0),
|
|
707
708
|
g("div", null, [
|
|
708
|
-
n.value ? (m(), I(
|
|
709
|
+
n.value ? (m(), I(Cl, {
|
|
709
710
|
key: 0,
|
|
710
711
|
"item-id": n.value,
|
|
711
712
|
menu: a(i).state.menu
|
|
@@ -713,16 +714,16 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
713
714
|
])
|
|
714
715
|
]));
|
|
715
716
|
}
|
|
716
|
-
}),
|
|
717
|
+
}), Vl = /* @__PURE__ */ N({
|
|
717
718
|
__name: "OverviewSheet",
|
|
718
|
-
setup(
|
|
719
|
+
setup(k) {
|
|
719
720
|
const e = F(null), i = F(!1);
|
|
720
721
|
function n(t) {
|
|
721
722
|
i.value = !i.value, t && (e.value = t);
|
|
722
723
|
}
|
|
723
724
|
return (t, u) => {
|
|
724
|
-
const l =
|
|
725
|
-
return m(),
|
|
725
|
+
const l = j("FmSideSheet");
|
|
726
|
+
return m(), w(pe, null, [
|
|
726
727
|
_e(t.$slots, "default", { trigger: n }),
|
|
727
728
|
d(l, {
|
|
728
729
|
id: "product-overview",
|
|
@@ -736,7 +737,7 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
736
737
|
])),
|
|
737
738
|
default: T(() => [
|
|
738
739
|
g("div", null, [
|
|
739
|
-
i.value && e.value ? (m(), I(
|
|
740
|
+
i.value && e.value ? (m(), I(Sl, {
|
|
740
741
|
key: 0,
|
|
741
742
|
"item-id": e.value
|
|
742
743
|
}, null, 8, ["item-id"])) : M("", !0)
|
|
@@ -748,24 +749,24 @@ const Kt = { class: "inline-flex items-center" }, Nt = {
|
|
|
748
749
|
};
|
|
749
750
|
}
|
|
750
751
|
});
|
|
751
|
-
var
|
|
752
|
+
var Fl = Mt();
|
|
752
753
|
const Ye = /* @__PURE__ */ N({
|
|
753
754
|
__name: "ImportButton",
|
|
754
|
-
setup(
|
|
755
|
+
setup(k) {
|
|
755
756
|
const e = F(!1);
|
|
756
757
|
function i() {
|
|
757
758
|
e.value = !e.value;
|
|
758
759
|
}
|
|
759
|
-
const n =
|
|
760
|
+
const n = Oe();
|
|
760
761
|
return at(() => {
|
|
761
762
|
const t = n.currentCountry.value;
|
|
762
763
|
if (t)
|
|
763
764
|
try {
|
|
764
|
-
|
|
765
|
+
Fl.setCountryConfig(t);
|
|
765
766
|
} catch (u) {
|
|
766
767
|
console.log("Unable to set country config", u);
|
|
767
768
|
}
|
|
768
|
-
}), (t, u) => (m(),
|
|
769
|
+
}), (t, u) => (m(), w(pe, null, [
|
|
769
770
|
d(Ut, {
|
|
770
771
|
modelValue: e.value,
|
|
771
772
|
"onUpdate:modelValue": u[0] || (u[0] = (l) => e.value = l)
|
|
@@ -773,35 +774,35 @@ const Ye = /* @__PURE__ */ N({
|
|
|
773
774
|
_e(t.$slots, "default", { trigger: i })
|
|
774
775
|
], 64));
|
|
775
776
|
}
|
|
776
|
-
}), Je = (
|
|
777
|
+
}), Je = (k) => d("div", {
|
|
777
778
|
class: "flex flex-1 justify-end"
|
|
778
|
-
}, [d("span", null, [
|
|
779
|
+
}, [d("span", null, [k, et(" ")])]), Il = {
|
|
779
780
|
class: "flex justify-between items-center space-x-8"
|
|
780
|
-
}, Il = {
|
|
781
|
-
class: "flex space-x-8 items-center"
|
|
782
781
|
}, $l = {
|
|
783
|
-
class: "
|
|
782
|
+
class: "flex space-x-8 items-center"
|
|
784
783
|
}, Tl = {
|
|
785
|
-
|
|
784
|
+
class: "w-[320px]"
|
|
786
785
|
}, Pl = {
|
|
786
|
+
key: 0
|
|
787
|
+
}, Al = {
|
|
787
788
|
key: 1,
|
|
788
789
|
class: /* @__PURE__ */ ve(["flex-1 flex flex-col", "divide-y divide-fm-color-neutral-gray-100", "overflow-hidden"])
|
|
789
|
-
},
|
|
790
|
+
}, Rl = {
|
|
790
791
|
key: 0,
|
|
791
792
|
class: "flex items-center p-4"
|
|
792
|
-
}, Rl = {
|
|
793
|
-
class: /* @__PURE__ */ ve(["mr-8", "fm-typo-en-body-md-400"])
|
|
794
793
|
}, Ml = {
|
|
794
|
+
class: /* @__PURE__ */ ve(["mr-8", "fm-typo-en-body-md-400"])
|
|
795
|
+
}, Ul = {
|
|
795
796
|
key: 1,
|
|
796
797
|
class: "px-16 py-4 space-x-8 flex justify-end"
|
|
797
|
-
},
|
|
798
|
+
}, Ol = {
|
|
798
799
|
key: 2
|
|
799
800
|
}, zl = {
|
|
800
801
|
class: "flex space-x-8"
|
|
801
802
|
}, Dl = {
|
|
802
803
|
key: 1,
|
|
803
804
|
class: "pt-8 flex flex-col flex-1 overflow-hidden"
|
|
804
|
-
},
|
|
805
|
+
}, jl = {
|
|
805
806
|
class: "space-y-8 pb-8"
|
|
806
807
|
}, Bl = {
|
|
807
808
|
class: "w-full px-8"
|
|
@@ -810,28 +811,28 @@ const Ye = /* @__PURE__ */ N({
|
|
|
810
811
|
}, Nl = {
|
|
811
812
|
key: 0,
|
|
812
813
|
class: "px-8"
|
|
813
|
-
},
|
|
814
|
+
}, El = {
|
|
814
815
|
key: 0,
|
|
815
816
|
class: /* @__PURE__ */ ve(["flex flex-col flex-1", "overflow-scroll", "divide-y divide-fm-color-neutral-gray-100", "pb-64"])
|
|
816
|
-
},
|
|
817
|
+
}, Gl = ["onClick"], Ll = {
|
|
817
818
|
class: "min-w-0 flex flex-1 items-center justify-start space-x-16"
|
|
818
|
-
}, Ll = {
|
|
819
|
-
class: "flex-1 min-w-0"
|
|
820
819
|
}, ql = {
|
|
821
|
-
class: "flex
|
|
820
|
+
class: "flex-1 min-w-0"
|
|
822
821
|
}, Wl = {
|
|
823
|
-
class: "flex-
|
|
822
|
+
class: "flex justify-between items-center gap-8 pb-4"
|
|
824
823
|
}, Hl = {
|
|
825
|
-
class: "fm-typo-en-body-
|
|
824
|
+
class: "flex-1 min-w-0 fm-typo-en-body-lg-600 line-clamp-2"
|
|
826
825
|
}, Ql = {
|
|
827
826
|
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
|
|
828
827
|
}, Yl = {
|
|
829
828
|
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
|
|
830
829
|
}, Jl = {
|
|
831
|
-
|
|
830
|
+
class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
|
|
832
831
|
}, Zl = {
|
|
832
|
+
key: 1
|
|
833
|
+
}, Xl = {
|
|
833
834
|
class: "flex space-x-8"
|
|
834
|
-
},
|
|
835
|
+
}, ea = /* @__PURE__ */ N({
|
|
835
836
|
__name: "ProductTable",
|
|
836
837
|
props: {
|
|
837
838
|
modelValue: {},
|
|
@@ -841,64 +842,64 @@ const Ye = /* @__PURE__ */ N({
|
|
|
841
842
|
}
|
|
842
843
|
},
|
|
843
844
|
emits: ["update:model-value", "reset:model-value", "update:editing", "update:search-key"],
|
|
844
|
-
setup(
|
|
845
|
+
setup(k, {
|
|
845
846
|
expose: e,
|
|
846
847
|
emit: i
|
|
847
848
|
}) {
|
|
848
|
-
const n =
|
|
849
|
+
const n = k, {
|
|
849
850
|
t
|
|
850
|
-
} = Ie(), u =
|
|
851
|
-
selectedCategories:
|
|
852
|
-
} = Se(),
|
|
853
|
-
const o = ge.flatten(
|
|
851
|
+
} = Ie(), u = Oe(), l = Fe(), v = Tt(), f = ot(), s = u.currentCountry, b = x(() => s.value ? me.Country.getCountry(s.value) : null), y = x(() => l.rules.item), {
|
|
852
|
+
selectedCategories: S
|
|
853
|
+
} = Se(), O = x(() => {
|
|
854
|
+
const o = ge.flatten(S.value.map((r) => r.items));
|
|
854
855
|
return ge.uniqBy(o, (r) => r._id);
|
|
855
|
-
}), Y = i,
|
|
856
|
-
de(() =>
|
|
856
|
+
}), Y = i, V = F(!1);
|
|
857
|
+
de(() => V.value, (o) => {
|
|
857
858
|
Y("update:editing", o);
|
|
858
859
|
});
|
|
859
860
|
const oe = (o) => {
|
|
860
|
-
|
|
861
|
+
Ot.isBoolean(o) ? V.value = o : V.value = !V.value;
|
|
861
862
|
}, J = F(!1), re = F(null);
|
|
862
|
-
async function
|
|
863
|
+
async function L() {
|
|
863
864
|
J.value = !J.value, J.value && (await Ae(), re.value && re.value.toggleProperty(!0));
|
|
864
865
|
}
|
|
865
866
|
e({
|
|
866
|
-
toggleAttributeFilter:
|
|
867
|
+
toggleAttributeFilter: L
|
|
867
868
|
});
|
|
868
869
|
const {
|
|
869
870
|
attributes: B,
|
|
870
|
-
filterRule:
|
|
871
|
+
filterRule: z,
|
|
871
872
|
mongoQuery: H
|
|
872
873
|
} = xt({
|
|
873
|
-
valueSource:
|
|
874
|
+
valueSource: O,
|
|
874
875
|
entity: "item"
|
|
875
|
-
}), Z = F(""), ne = Ct(Z, 300), Q =
|
|
876
|
+
}), Z = F(""), ne = Ct(Z, 300), Q = x(() => {
|
|
876
877
|
const o = (c) => {
|
|
877
|
-
var
|
|
878
|
-
return !ne.value || !ne.value.trim() ? !0 : [c.code, c.name,
|
|
878
|
+
var h;
|
|
879
|
+
return !ne.value || !ne.value.trim() ? !0 : [c.code, c.name, je(c), ...Pe(se.value, c), (h = Ce()[c.orderFrom]) == null ? void 0 : h.label, Object.values(c.customAttributes ?? {}).join(" ")].join(" ").toLowerCase().includes(ne.value.toLowerCase());
|
|
879
880
|
}, r = (c) => H.value ? $t(c.customAttributes, H.value) : !0;
|
|
880
|
-
return
|
|
881
|
+
return O.value.filter((c) => o(c) && r(c));
|
|
881
882
|
}), {
|
|
882
883
|
categories: se
|
|
883
|
-
} = Se(), R =
|
|
884
|
+
} = Se(), R = x(() => l.categories.map((o) => ({
|
|
884
885
|
label: o.name,
|
|
885
886
|
value: o._id || null
|
|
886
887
|
}))), $ = (o, r, c) => {
|
|
887
888
|
let p = ge.clone(n.modelValue);
|
|
888
|
-
const
|
|
889
|
-
|
|
890
|
-
...
|
|
889
|
+
const h = p[o];
|
|
890
|
+
h && (typeof r == "object" && r !== null ? p[o] = {
|
|
891
|
+
...h,
|
|
891
892
|
...r
|
|
892
893
|
} : p[o] = {
|
|
893
|
-
...
|
|
894
|
+
...h,
|
|
894
895
|
[r]: c
|
|
895
896
|
}, Y("update:model-value", p));
|
|
896
897
|
}, P = bt(() => n.originalValue, () => n.modelValue), A = ge.debounce($, 300), ue = (o) => (r) => !!r || t("menu.product.table.validation.name_required", {
|
|
897
898
|
field: o
|
|
898
|
-
}),
|
|
899
|
+
}), q = (o) => o >= 0 || t("menu.product.table.validation.price_min"), E = [ue("Name")], U = () => [(o) => q(typeof o == "number" ? o : Number(o) ?? 0)], ie = Ce(), G = x(() => {
|
|
899
900
|
const o = l.isV4;
|
|
900
901
|
return gt.setCoreStore(u).taxSetting(o);
|
|
901
|
-
}), ce =
|
|
902
|
+
}), ce = x(() => [{
|
|
902
903
|
accessorKey: "thumbnail",
|
|
903
904
|
header: "",
|
|
904
905
|
size: 110,
|
|
@@ -908,7 +909,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
908
909
|
},
|
|
909
910
|
cell: (o) => {
|
|
910
911
|
var r, c;
|
|
911
|
-
return
|
|
912
|
+
return D(Ue, {
|
|
912
913
|
src: o.getValue(),
|
|
913
914
|
alt: (c = (r = o == null ? void 0 : o.row) == null ? void 0 : r.original) == null ? void 0 : c.name,
|
|
914
915
|
className: "my-8 mx-12",
|
|
@@ -924,16 +925,16 @@ const Ye = /* @__PURE__ */ N({
|
|
|
924
925
|
size: 100,
|
|
925
926
|
cell: (o) => {
|
|
926
927
|
const r = o.row.original, c = o.getValue() || "--";
|
|
927
|
-
if (!
|
|
928
|
+
if (!V.value) return d("span", {
|
|
928
929
|
class: "break-all"
|
|
929
930
|
}, [c]);
|
|
930
931
|
const p = Te(r._id);
|
|
931
|
-
return
|
|
932
|
+
return D(te.FmTextField, {
|
|
932
933
|
disabled: !y.value.code,
|
|
933
934
|
modelValue: P(r._id, "code") ?? (p == null ? void 0 : p.code),
|
|
934
935
|
placeholder: n.modelValue[r._id].fallbackCode,
|
|
935
|
-
"onUpdate:modelValue": (
|
|
936
|
-
A(r._id, "code",
|
|
936
|
+
"onUpdate:modelValue": (h) => {
|
|
937
|
+
A(r._id, "code", h);
|
|
937
938
|
}
|
|
938
939
|
});
|
|
939
940
|
}
|
|
@@ -943,16 +944,26 @@ const Ye = /* @__PURE__ */ N({
|
|
|
943
944
|
enableSorting: !1,
|
|
944
945
|
size: 200,
|
|
945
946
|
cell: (o) => {
|
|
946
|
-
const r = o.row.original, c = o.getValue();
|
|
947
|
-
return
|
|
947
|
+
const r = o.row.original, c = o.getValue(), h = Object.keys(r.name_locale ?? {}).map((C) => jt(C));
|
|
948
|
+
return V.value ? D("div", {
|
|
949
|
+
class: "flex items-center gap-8"
|
|
950
|
+
}, [D(te.FmTextField, {
|
|
948
951
|
disabled: !y.value.name,
|
|
949
952
|
modelValue: P(r._id, "name") ?? r.name,
|
|
950
|
-
"onUpdate:modelValue": (
|
|
951
|
-
A(r._id, "name",
|
|
953
|
+
"onUpdate:modelValue": (C) => {
|
|
954
|
+
A(r._id, "name", C);
|
|
952
955
|
},
|
|
953
|
-
rules:
|
|
956
|
+
rules: E,
|
|
954
957
|
placeholder: r.fallbackName
|
|
955
|
-
})
|
|
958
|
+
}), ...h.map((C) => D("div", {
|
|
959
|
+
class: "w-24 h-24 rounded-full bg-fm-color-primary-oats text-fm-color-primary flex items-center justify-center fm-typo-en-body-sm-600"
|
|
960
|
+
}, C))]) : D("div", {
|
|
961
|
+
class: "flex items-center gap-8"
|
|
962
|
+
}, [D("span", {
|
|
963
|
+
class: "break-all"
|
|
964
|
+
}, c), ...h.map((C) => D("div", {
|
|
965
|
+
class: "rounded-lg border border-fm-color-primary text-fm-color-primary flex items-center justify-center fm-typo-en-body-sm-600 px-8"
|
|
966
|
+
}, C))]);
|
|
956
967
|
}
|
|
957
968
|
}, {
|
|
958
969
|
accessorKey: "price",
|
|
@@ -968,37 +979,37 @@ const Ye = /* @__PURE__ */ N({
|
|
|
968
979
|
textAlign: "right"
|
|
969
980
|
},
|
|
970
981
|
cell: (o) => {
|
|
971
|
-
var
|
|
982
|
+
var h;
|
|
972
983
|
const r = o.getValue();
|
|
973
|
-
if (!
|
|
984
|
+
if (!V.value) return me.Dinero.fromFdoDinero(r).toFormat();
|
|
974
985
|
const c = n.modelValue[o.row.original._id], p = c.fallbackPrice;
|
|
975
|
-
return
|
|
986
|
+
return D(Rt, {
|
|
976
987
|
min: 0,
|
|
977
988
|
disabled: !c.editPrice,
|
|
978
989
|
// @ts-ignore
|
|
979
|
-
placeholder: p ?
|
|
980
|
-
modelValue: P(c._id, "price") ?? ((
|
|
990
|
+
placeholder: p ? zt(p, !1) : void 0,
|
|
991
|
+
modelValue: P(c._id, "price") ?? ((h = Te(c._id)) == null ? void 0 : h.price),
|
|
981
992
|
// @ts-ignore
|
|
982
|
-
"onUpdate:modelValue": (
|
|
983
|
-
$(c._id, "price",
|
|
993
|
+
"onUpdate:modelValue": (C) => {
|
|
994
|
+
$(c._id, "price", C);
|
|
984
995
|
},
|
|
985
996
|
rules: U()
|
|
986
997
|
});
|
|
987
998
|
}
|
|
988
999
|
}, {
|
|
989
1000
|
accessorKey: "taxes",
|
|
990
|
-
header: () => Je(
|
|
991
|
-
size:
|
|
1001
|
+
header: () => Je(G.value.systemCode),
|
|
1002
|
+
size: V.value ? 120 : 80,
|
|
992
1003
|
enableSorting: !1,
|
|
993
1004
|
meta: {
|
|
994
1005
|
textAlign: "right"
|
|
995
1006
|
},
|
|
996
1007
|
cell: (o) => {
|
|
997
|
-
const r = o.getValue(), c = o.row.original, p = l.taxSetting.countryTaxOptions,
|
|
998
|
-
if (!
|
|
999
|
-
return `${
|
|
1008
|
+
const r = o.getValue(), c = o.row.original, p = l.taxSetting.countryTaxOptions, h = l.getSelectedTax(r, c.fallbackTaxes, l.taxSetting.countryTaxOptions), C = p.find((ae) => ae.value === h);
|
|
1009
|
+
if (!V.value)
|
|
1010
|
+
return `${C != null && C.meta.rate ? _t(C.meta.rate) : 0}%`;
|
|
1000
1011
|
const _ = l.getSelectedTax(P(c._id, "taxes") ?? r, c.fallbackTaxes, l.taxSetting.countryTaxOptions);
|
|
1001
|
-
return
|
|
1012
|
+
return D(te.FmSelect, {
|
|
1002
1013
|
disabled: !y.value.tax,
|
|
1003
1014
|
items: l.taxSetting.countryTaxOptions,
|
|
1004
1015
|
modelValue: _,
|
|
@@ -1015,24 +1026,24 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1015
1026
|
size: 140,
|
|
1016
1027
|
cell: (o) => {
|
|
1017
1028
|
const r = o.row.original;
|
|
1018
|
-
if (!
|
|
1019
|
-
return
|
|
1029
|
+
if (!V.value)
|
|
1030
|
+
return D(Qe, {
|
|
1020
1031
|
categories: Pe(se.value, r)
|
|
1021
1032
|
});
|
|
1022
|
-
const c = yt(n.originalValue, n.modelValue, r._id) ?? ht(r), p = (c == null ? void 0 : c.map((
|
|
1023
|
-
return
|
|
1033
|
+
const c = yt(n.originalValue, n.modelValue, r._id) ?? ht(r), p = (c == null ? void 0 : c.map((C) => C._id)) ?? [], h = c == null ? void 0 : c.reduce((C, _) => (C[_._id] = _, C), {});
|
|
1034
|
+
return D(It, {
|
|
1024
1035
|
shouldShowChips: !1,
|
|
1025
1036
|
shouldShowSelectedItemsWithinPlaceholder: !0,
|
|
1026
1037
|
modelValue: p.length > 0 ? p : [null],
|
|
1027
1038
|
items: R.value,
|
|
1028
1039
|
disabled: !!(l.state.currentCatalogId || l.state.currentSchedulerId),
|
|
1029
|
-
"onUpdate:modelValue": async (
|
|
1030
|
-
const [_, ...ae] =
|
|
1040
|
+
"onUpdate:modelValue": async (C) => {
|
|
1041
|
+
const [_, ...ae] = C;
|
|
1031
1042
|
A(r._id, {
|
|
1032
1043
|
category: _,
|
|
1033
1044
|
additionalCategories: ae.map((xe) => {
|
|
1034
|
-
const
|
|
1035
|
-
return
|
|
1045
|
+
const Ke = h == null ? void 0 : h[xe];
|
|
1046
|
+
return Ke || {
|
|
1036
1047
|
_id: xe,
|
|
1037
1048
|
position: null
|
|
1038
1049
|
};
|
|
@@ -1049,7 +1060,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1049
1060
|
size: 140,
|
|
1050
1061
|
cell: (o) => {
|
|
1051
1062
|
const r = o.row.original;
|
|
1052
|
-
return
|
|
1063
|
+
return D(Me, {
|
|
1053
1064
|
customAttributes: r.customAttributes
|
|
1054
1065
|
});
|
|
1055
1066
|
}
|
|
@@ -1058,20 +1069,20 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1058
1069
|
header: () => t("menu.product.table.columns.order_from"),
|
|
1059
1070
|
enableSorting: !0,
|
|
1060
1071
|
sortingFn: (o, r) => {
|
|
1061
|
-
const [c, p] = [o, r].map((
|
|
1072
|
+
const [c, p] = [o, r].map((h) => ie[h.original.orderFrom].sortingIndex);
|
|
1062
1073
|
return c - p;
|
|
1063
1074
|
},
|
|
1064
1075
|
size: 140,
|
|
1065
1076
|
cell: (o) => {
|
|
1066
1077
|
const r = o.getValue(), c = o.row.original;
|
|
1067
|
-
return
|
|
1078
|
+
return V.value ? D(te.FmSelect, {
|
|
1068
1079
|
disabled: !y.value.orderFrom,
|
|
1069
1080
|
items: Object.values(Ce()),
|
|
1070
1081
|
modelValue: P(c._id, "orderFrom") ?? r,
|
|
1071
1082
|
"onUpdate:modelValue": async (p) => {
|
|
1072
1083
|
$(c._id, "orderFrom", p);
|
|
1073
1084
|
}
|
|
1074
|
-
}) :
|
|
1085
|
+
}) : D(Ve, {
|
|
1075
1086
|
orderFrom: r
|
|
1076
1087
|
});
|
|
1077
1088
|
}
|
|
@@ -1083,9 +1094,9 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1083
1094
|
headerClass: "py-4",
|
|
1084
1095
|
textAlign: "right"
|
|
1085
1096
|
},
|
|
1086
|
-
header: () =>
|
|
1097
|
+
header: () => D("div", {
|
|
1087
1098
|
class: "w-full px-4 flex justify-end"
|
|
1088
|
-
}, [
|
|
1099
|
+
}, [Dt(D(te.FmButton, {
|
|
1089
1100
|
variant: ee.Tertiary,
|
|
1090
1101
|
textColor: W.NeutralGray400,
|
|
1091
1102
|
prependIcon: "edit",
|
|
@@ -1097,7 +1108,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1097
1108
|
const r = o.row.original;
|
|
1098
1109
|
return d("div", {
|
|
1099
1110
|
class: "px-4 flex justify-end"
|
|
1100
|
-
}, [d(
|
|
1111
|
+
}, [d(Vl, null, {
|
|
1101
1112
|
default: ({
|
|
1102
1113
|
trigger: c
|
|
1103
1114
|
}) => d(te.FmButton, {
|
|
@@ -1127,22 +1138,22 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1127
1138
|
de([() => le.value, () => Q.value], (o) => {
|
|
1128
1139
|
let r = [];
|
|
1129
1140
|
Object.keys(o[0]).forEach((c) => {
|
|
1130
|
-
const p = o[0][c],
|
|
1131
|
-
|
|
1141
|
+
const p = o[0][c], h = Q.value[parseInt(c)];
|
|
1142
|
+
h && (p ? r.push(h) : X.value = r.filter((C) => C !== h));
|
|
1132
1143
|
}), X.value = r;
|
|
1133
|
-
}), de(() =>
|
|
1144
|
+
}), de(() => O.value, () => {
|
|
1134
1145
|
le.value = {}, X.value = [];
|
|
1135
|
-
}), de(() =>
|
|
1146
|
+
}), de(() => V.value, () => {
|
|
1136
1147
|
le.value = {}, X.value = [];
|
|
1137
1148
|
});
|
|
1138
1149
|
const ye = () => {
|
|
1139
1150
|
le.value = {};
|
|
1140
1151
|
};
|
|
1141
|
-
async function
|
|
1152
|
+
async function De() {
|
|
1142
1153
|
await Ae();
|
|
1143
1154
|
const o = () => !!l.currentCatalog || !!l.state.currentSchedulerId, r = (p) => p === "" || p === null ? o() ? "" : null : p, c = Object.values(n.modelValue).filter((p) => {
|
|
1144
|
-
const
|
|
1145
|
-
return Ee(
|
|
1155
|
+
const h = Object.values(n.originalValue).find((C) => C._id === p._id);
|
|
1156
|
+
return Ee(h, p);
|
|
1146
1157
|
}).map((p) => ({
|
|
1147
1158
|
_id: p._id,
|
|
1148
1159
|
name: p.name,
|
|
@@ -1179,12 +1190,12 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1179
1190
|
}).onPrimary(() => {
|
|
1180
1191
|
he(), oe(!1);
|
|
1181
1192
|
}) : (oe(!1), he());
|
|
1182
|
-
}, ut =
|
|
1193
|
+
}, ut = x(() => {
|
|
1183
1194
|
var o, r;
|
|
1184
1195
|
return {
|
|
1185
|
-
thumbnail: !
|
|
1186
|
-
actions: !
|
|
1187
|
-
tagging: !
|
|
1196
|
+
thumbnail: !V.value,
|
|
1197
|
+
actions: !V.value,
|
|
1198
|
+
tagging: !V.value && ((r = (o = u.itemAttributeSettings) == null ? void 0 : o.value) == null ? void 0 : r.length) > 0
|
|
1188
1199
|
};
|
|
1189
1200
|
}), it = (o) => {
|
|
1190
1201
|
f.update(o._id);
|
|
@@ -1192,63 +1203,63 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1192
1203
|
async function ct(o) {
|
|
1193
1204
|
await f.update(o.original._id);
|
|
1194
1205
|
}
|
|
1195
|
-
function
|
|
1206
|
+
function je(o) {
|
|
1196
1207
|
var _;
|
|
1197
1208
|
const r = o.price ?? // TODO: fix type error
|
|
1198
1209
|
// @ts-ignore
|
|
1199
1210
|
o.fallbackPrice ?? me.Dinero.fromNumber({
|
|
1200
1211
|
number: 0
|
|
1201
|
-
}).toObject(), c = o.taxes, p = l.taxSetting.countryTaxOptions,
|
|
1212
|
+
}).toObject(), c = o.taxes, p = l.taxSetting.countryTaxOptions, h = me.Dinero.fromFdoDinero(r).toFormat(), C = (_ = b.value) == null ? void 0 : _.currency.symbol;
|
|
1202
1213
|
return l.getSelectedTax(
|
|
1203
1214
|
c,
|
|
1204
1215
|
// TODO: fix type error
|
|
1205
1216
|
// @ts-ignore
|
|
1206
1217
|
o.fallbackTaxes,
|
|
1207
1218
|
p
|
|
1208
|
-
), `${
|
|
1219
|
+
), `${C == null ? void 0 : C.toUpperCase()}${h}`;
|
|
1209
1220
|
}
|
|
1210
1221
|
function Te(o) {
|
|
1211
1222
|
var p;
|
|
1212
1223
|
const r = l.currentCatalog, c = l.state.currentSchedulerId;
|
|
1213
1224
|
if (r && c) {
|
|
1214
|
-
const
|
|
1215
|
-
return
|
|
1216
|
-
} else return r ? r.override.items[o][0] : c ? l.schedulers.find((_) => _._id === c).items.filter((_) => _._id === o)[0] :
|
|
1225
|
+
const h = r.override.scheduler[c] ?? {}, C = (p = h == null ? void 0 : h.items) == null ? void 0 : p.filter((_) => _._id === o);
|
|
1226
|
+
return C == null ? void 0 : C[0];
|
|
1227
|
+
} else return r ? r.override.items[o][0] : c ? l.schedulers.find((_) => _._id === c).items.filter((_) => _._id === o)[0] : O.value.find((h) => h._id === o);
|
|
1217
1228
|
}
|
|
1218
|
-
const dt = rt(), mt =
|
|
1229
|
+
const dt = rt(), mt = x(() => dt.breakpoints.value.xs), Be = F(null), pt = At(Be, J), vt = x(() => {
|
|
1219
1230
|
var r;
|
|
1220
1231
|
return {
|
|
1221
1232
|
height: `calc(100vh - ${((r = pt.value) == null ? void 0 : r.top) + 24}px)`
|
|
1222
1233
|
};
|
|
1223
1234
|
});
|
|
1224
1235
|
return (o, r) => {
|
|
1225
|
-
const c =
|
|
1226
|
-
return mt.value ? (m(),
|
|
1236
|
+
const c = j("fm-search"), p = j("fm-button"), h = j("fm-table"), C = j("fm-form");
|
|
1237
|
+
return mt.value ? (m(), w("div", Dl, [g("div", jl, [g("div", Bl, [d(c, {
|
|
1227
1238
|
"model-value": Z.value,
|
|
1228
1239
|
"onUpdate:modelValue": r[5] || (r[5] = (_) => Z.value = _),
|
|
1229
1240
|
autofocus: "",
|
|
1230
1241
|
placeholder: a(t)("menu.product.table.search.placeholder")
|
|
1231
1242
|
}, null, 8, ["model-value", "placeholder"])]), r[8] || (r[8] = g("div", {
|
|
1232
1243
|
class: "w-full h-[1px] bg-fm-color-neutral-gray-100"
|
|
1233
|
-
}, null, -1)), g("div", Kl, [_e(o.$slots, "filter")]), J.value ? (m(),
|
|
1244
|
+
}, null, -1)), g("div", Kl, [_e(o.$slots, "filter")]), J.value ? (m(), w("div", Nl, [d(a(We), {
|
|
1234
1245
|
ref_key: "attributeFilterRef",
|
|
1235
1246
|
ref: re,
|
|
1236
1247
|
attributes: a(B),
|
|
1237
|
-
modelValue: a(
|
|
1238
|
-
"onUpdate:modelValue": r[6] || (r[6] = (_) =>
|
|
1239
|
-
}, null, 8, ["attributes", "modelValue"])])) : M("", !0)]),
|
|
1248
|
+
modelValue: a(z),
|
|
1249
|
+
"onUpdate:modelValue": r[6] || (r[6] = (_) => Ne(z) ? z.value = _ : null)
|
|
1250
|
+
}, null, 8, ["attributes", "modelValue"])])) : M("", !0)]), O.value.length ? (m(), w("div", El, [(m(!0), w(pe, null, we(Q.value, (_) => {
|
|
1240
1251
|
var ae;
|
|
1241
|
-
return m(),
|
|
1252
|
+
return m(), w("div", {
|
|
1242
1253
|
key: _._id,
|
|
1243
1254
|
class: "max-w-full py-12 px-16 space-x-16 flex items-center",
|
|
1244
1255
|
onClick: () => it(_)
|
|
1245
|
-
}, [g("div",
|
|
1256
|
+
}, [g("div", Ll, [d(Ue, {
|
|
1246
1257
|
alt: _.name,
|
|
1247
1258
|
size: 72,
|
|
1248
1259
|
src: _.thumbnail
|
|
1249
|
-
}, null, 8, ["alt", "src"]), g("div",
|
|
1260
|
+
}, null, 8, ["alt", "src"]), g("div", ql, [g("div", Wl, [g("p", Hl, K(_.name), 1), d(Ve, {
|
|
1250
1261
|
"order-from": _.orderFrom
|
|
1251
|
-
}, null, 8, ["order-from"])]), g("p",
|
|
1262
|
+
}, null, 8, ["order-from"])]), g("p", Ql, K(je(_)), 1), g("p", Yl, K(a(t)("menu.product.table.columns.code")) + ": " + K(((ae = Te(_._id)) == null ? void 0 : ae.code) || "--"), 1), g("p", Jl, [d(Qe, {
|
|
1252
1263
|
categories: a(Pe)(a(se), _)
|
|
1253
1264
|
}, null, 8, ["categories"])]), d(Me, {
|
|
1254
1265
|
"custom-attributes": _.customAttributes
|
|
@@ -1261,12 +1272,12 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1261
1272
|
name: _.name,
|
|
1262
1273
|
thumbnail: _.thumbnail
|
|
1263
1274
|
}]), ["stop"])
|
|
1264
|
-
}, null, 8, ["text-color", "variant", "onClick"])], 8,
|
|
1265
|
-
}), 128))])) : (m(),
|
|
1275
|
+
}, null, 8, ["text-color", "variant", "onClick"])], 8, Gl);
|
|
1276
|
+
}), 128))])) : (m(), w("div", Zl, [d(be, {
|
|
1266
1277
|
subtitle: a(t)("menu.product.table.empty.subtitle"),
|
|
1267
1278
|
title: a(t)("menu.product.table.empty.title")
|
|
1268
1279
|
}, {
|
|
1269
|
-
action: T(() => [g("div",
|
|
1280
|
+
action: T(() => [g("div", Xl, [d(p, {
|
|
1270
1281
|
variant: a(ee).Primary,
|
|
1271
1282
|
label: a(t)("menu.product.table.empty.actions.add"),
|
|
1272
1283
|
"prepend-icon": "add",
|
|
@@ -1285,24 +1296,24 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1285
1296
|
_: 1
|
|
1286
1297
|
})])]),
|
|
1287
1298
|
_: 1
|
|
1288
|
-
}, 8, ["subtitle", "title"])]))])) : (m(), I(
|
|
1299
|
+
}, 8, ["subtitle", "title"])]))])) : (m(), I(C, {
|
|
1289
1300
|
key: 0,
|
|
1290
1301
|
"blame-form-child-on-validation-failed": "",
|
|
1291
1302
|
class: "flex flex-col flex-1 space-y-8 overflow-hidden",
|
|
1292
|
-
onValidationSuccess:
|
|
1303
|
+
onValidationSuccess: De
|
|
1293
1304
|
}, {
|
|
1294
|
-
default: T(() => [g("div",
|
|
1305
|
+
default: T(() => [g("div", Il, [g("div", $l, [_e(o.$slots, "filter")]), g("div", Tl, [d(c, {
|
|
1295
1306
|
"model-value": Z.value,
|
|
1296
1307
|
"onUpdate:modelValue": r[0] || (r[0] = (_) => Z.value = _),
|
|
1297
1308
|
autofocus: "",
|
|
1298
1309
|
placeholder: a(t)("menu.product.table.search.placeholder")
|
|
1299
|
-
}, null, 8, ["model-value", "placeholder"])])]), J.value ? (m(),
|
|
1310
|
+
}, null, 8, ["model-value", "placeholder"])])]), J.value ? (m(), w("div", Pl, [d(a(We), {
|
|
1300
1311
|
ref_key: "attributeFilterRef",
|
|
1301
1312
|
ref: re,
|
|
1302
1313
|
attributes: a(B),
|
|
1303
|
-
modelValue: a(
|
|
1304
|
-
"onUpdate:modelValue": r[1] || (r[1] = (_) =>
|
|
1305
|
-
}, null, 8, ["attributes", "modelValue"])])) : M("", !0),
|
|
1314
|
+
modelValue: a(z),
|
|
1315
|
+
"onUpdate:modelValue": r[1] || (r[1] = (_) => Ne(z) ? z.value = _ : null)
|
|
1316
|
+
}, null, 8, ["attributes", "modelValue"])])) : M("", !0), O.value.length ? (m(), w("div", Al, [X.value.length && !V.value ? (m(), w("div", Rl, [g("p", Ml, K(a(t)("menu.product.table.selection.count", {
|
|
1306
1317
|
count: X.value.length
|
|
1307
1318
|
})), 1), d(p, {
|
|
1308
1319
|
label: a(t)("menu.product.table.selection.actions.deselect_all"),
|
|
@@ -1317,7 +1328,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1317
1328
|
"prepend-icon": "delete",
|
|
1318
1329
|
variant: "secondary",
|
|
1319
1330
|
onClick: st
|
|
1320
|
-
}, null, 8, ["border-color", "text-color", "label"])])) : M("", !0),
|
|
1331
|
+
}, null, 8, ["border-color", "text-color", "label"])])) : M("", !0), V.value ? (m(), w("div", Ul, [d(p, {
|
|
1321
1332
|
variant: a(ee).Tertiary,
|
|
1322
1333
|
label: a(t)("menu.product.table.bulk_edit.actions.reset_all"),
|
|
1323
1334
|
onClick: he
|
|
@@ -1333,11 +1344,11 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1333
1344
|
type: "submit"
|
|
1334
1345
|
}, null, 8, ["borderColor", "textColor", "variant", "label"])])) : M("", !0), g("div", {
|
|
1335
1346
|
ref_key: "tableWrapper",
|
|
1336
|
-
ref:
|
|
1337
|
-
}, [(m(), I(lt(
|
|
1347
|
+
ref: Be
|
|
1348
|
+
}, [(m(), I(lt(V.value ? Pt : "div"), {
|
|
1338
1349
|
ref: "fullWrapper",
|
|
1339
|
-
title:
|
|
1340
|
-
show:
|
|
1350
|
+
title: V.value ? a(t)("menu.product.table.bulk_edit.title") : "",
|
|
1351
|
+
show: V.value,
|
|
1341
1352
|
"primary-action": {
|
|
1342
1353
|
label: a(t)("menu.product.table.bulk_edit.actions.save")
|
|
1343
1354
|
},
|
|
@@ -1350,13 +1361,13 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1350
1361
|
}],
|
|
1351
1362
|
class: "overflow-x-scroll",
|
|
1352
1363
|
style: ft(vt.value),
|
|
1353
|
-
onOnPrimary:
|
|
1364
|
+
onOnPrimary: De,
|
|
1354
1365
|
onOnCancel: $e
|
|
1355
1366
|
}, {
|
|
1356
|
-
default: T(() => [d(
|
|
1367
|
+
default: T(() => [d(h, {
|
|
1357
1368
|
class: ve({
|
|
1358
1369
|
"min-w-[1100px]": !0,
|
|
1359
|
-
"mt-24":
|
|
1370
|
+
"mt-24": V.value
|
|
1360
1371
|
}),
|
|
1361
1372
|
modelValue: le.value,
|
|
1362
1373
|
"onUpdate:modelValue": r[2] || (r[2] = (_) => le.value = _),
|
|
@@ -1366,15 +1377,15 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1366
1377
|
"page-size": Q.value.length,
|
|
1367
1378
|
"row-data": Q.value,
|
|
1368
1379
|
"shrink-at": !1,
|
|
1369
|
-
selection:
|
|
1380
|
+
selection: V.value ? void 0 : "multiple",
|
|
1370
1381
|
virtual: !0,
|
|
1371
|
-
"virtual-row-height":
|
|
1382
|
+
"virtual-row-height": V.value ? 48 : 91,
|
|
1372
1383
|
"hide-footer": "",
|
|
1373
1384
|
"pin-header-row": "",
|
|
1374
|
-
onRowClick: r[3] || (r[3] = (_) =>
|
|
1385
|
+
onRowClick: r[3] || (r[3] = (_) => V.value ? void 0 : ct(_))
|
|
1375
1386
|
}, null, 8, ["class", "modelValue", "column-defs", "column-visibility", "loading", "page-size", "row-data", "selection", "virtual-row-height"])]),
|
|
1376
1387
|
_: 1
|
|
1377
|
-
}, 40, ["title", "show", "primary-action", "secondary-actions", "style"]))], 512)])) : (m(),
|
|
1388
|
+
}, 40, ["title", "show", "primary-action", "secondary-actions", "style"]))], 512)])) : (m(), w("div", Ol, [d(be, {
|
|
1378
1389
|
subtitle: a(t)("menu.product.table.empty.subtitle"),
|
|
1379
1390
|
title: a(t)("menu.product.table.empty.title")
|
|
1380
1391
|
}, {
|
|
@@ -1402,49 +1413,49 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1402
1413
|
}));
|
|
1403
1414
|
};
|
|
1404
1415
|
}
|
|
1405
|
-
}),
|
|
1416
|
+
}), ta = {
|
|
1406
1417
|
key: 0,
|
|
1407
1418
|
class: /* @__PURE__ */ ve(["flex flex-col", "flex-1", "overflow-hidden"])
|
|
1408
|
-
},
|
|
1419
|
+
}, la = {
|
|
1409
1420
|
class: /* @__PURE__ */ ve(["pt-16 xs:pt-0", "flex xs:flex-col", "flex-1", "w-full", "overflow-hidden"])
|
|
1410
|
-
},
|
|
1421
|
+
}, aa = { class: "flex flex-col flex-1 overflow-hidden" }, oa = {
|
|
1411
1422
|
key: 1,
|
|
1412
1423
|
class: "pt-16 xs:pt-8 space-y-24"
|
|
1413
|
-
},
|
|
1424
|
+
}, ra = { class: "flex items-center gap-8 px-16" }, Fa = /* @__PURE__ */ N({
|
|
1414
1425
|
__name: "Product",
|
|
1415
|
-
setup(
|
|
1416
|
-
const e = Fe(), i =
|
|
1426
|
+
setup(k) {
|
|
1427
|
+
const e = Fe(), i = x(() => e.rules.item), n = ot(), t = x(() => !e.state.currentCatalogId), u = x(() => e.rules.item), l = x(() => !e.state.currentSchedulerId), v = F(!1), f = F(!1), s = x(() => {
|
|
1417
1428
|
var $, P, A, ue;
|
|
1418
1429
|
if (t.value && l.value) return;
|
|
1419
1430
|
if (l.value) {
|
|
1420
|
-
const
|
|
1421
|
-
return
|
|
1422
|
-
const
|
|
1423
|
-
return
|
|
1431
|
+
const q = ($ = e.currentCatalog) == null ? void 0 : $.override.items;
|
|
1432
|
+
return q ? Object.entries(q).reduce((E, [U, ie]) => {
|
|
1433
|
+
const G = ie.find((ce) => !ce.combinationKey);
|
|
1434
|
+
return G && (E[U] = G), E;
|
|
1424
1435
|
}, {}) : {};
|
|
1425
1436
|
}
|
|
1426
|
-
return ((t.value ? (P = e.currentScheduler) == null ? void 0 : P.items : (ue = (A = e.currentCatalog) == null ? void 0 : A.override.scheduler[e.state.currentSchedulerId]) == null ? void 0 : ue.items) ?? []).reduce((
|
|
1427
|
-
}), b = F({}), y = F({}),
|
|
1428
|
-
var ue,
|
|
1437
|
+
return ((t.value ? (P = e.currentScheduler) == null ? void 0 : P.items : (ue = (A = e.currentCatalog) == null ? void 0 : A.override.scheduler[e.state.currentSchedulerId]) == null ? void 0 : ue.items) ?? []).reduce((q, E) => (E.combinationKey || (q[E._id] = E), q), {});
|
|
1438
|
+
}), b = F({}), y = F({}), S = async () => {
|
|
1439
|
+
var ue, q;
|
|
1429
1440
|
f.value = !0;
|
|
1430
|
-
const R = !!s.value, $ = ge.flatten(Y.value.map((
|
|
1441
|
+
const R = !!s.value, $ = ge.flatten(Y.value.map((E) => E.items)), P = R && v.value ? await Ft(
|
|
1431
1442
|
e.mergedMenu,
|
|
1432
1443
|
$,
|
|
1433
1444
|
e.state.menu,
|
|
1434
1445
|
(ue = e.currentCatalog) == null ? void 0 : ue._id,
|
|
1435
|
-
(
|
|
1446
|
+
(q = e.currentScheduler) == null ? void 0 : q._id,
|
|
1436
1447
|
!1
|
|
1437
|
-
) : void 0, A = $.reduce((
|
|
1448
|
+
) : void 0, A = $.reduce((E, U, ie) => {
|
|
1438
1449
|
var ce, le, X, ye;
|
|
1439
|
-
const
|
|
1440
|
-
return
|
|
1450
|
+
const G = (ce = s.value) == null ? void 0 : ce[U._id];
|
|
1451
|
+
return E[U._id] = {
|
|
1441
1452
|
_id: U._id,
|
|
1442
1453
|
name: U.name,
|
|
1443
|
-
code: R ?
|
|
1454
|
+
code: R ? G == null ? void 0 : G.code : U == null ? void 0 : U.code,
|
|
1444
1455
|
category: U.category,
|
|
1445
1456
|
additionalCategories: U.additionalCategories,
|
|
1446
|
-
price: R && u.value.editPrice ?
|
|
1447
|
-
orderFrom: R ?
|
|
1457
|
+
price: R && u.value.editPrice ? G == null ? void 0 : G.price : U.price,
|
|
1458
|
+
orderFrom: R ? G == null ? void 0 : G.orderFrom : U.orderFrom,
|
|
1448
1459
|
taxes: R ? null : U.taxes,
|
|
1449
1460
|
thumbnail: U.thumbnail,
|
|
1450
1461
|
fallbackPrice: (le = P == null ? void 0 : P[ie]) == null ? void 0 : le.price,
|
|
@@ -1452,26 +1463,26 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1452
1463
|
fallbackCode: (X = P == null ? void 0 : P[ie]) == null ? void 0 : X.code,
|
|
1453
1464
|
fallbackOrder: (ye = P == null ? void 0 : P[ie]) == null ? void 0 : ye.orderFrom,
|
|
1454
1465
|
fallbackTaxes: R ? U.taxes : null
|
|
1455
|
-
},
|
|
1466
|
+
}, E;
|
|
1456
1467
|
}, {});
|
|
1457
1468
|
b.value = A, y.value = { ...A }, f.value = !1;
|
|
1458
|
-
}, { categories:
|
|
1469
|
+
}, { categories: O, selectedCategories: Y } = Se(), V = F(null);
|
|
1459
1470
|
function oe() {
|
|
1460
|
-
|
|
1471
|
+
V.value && V.value.toggleAttributeFilter();
|
|
1461
1472
|
}
|
|
1462
1473
|
tt(async () => {
|
|
1463
|
-
Y.value && await
|
|
1474
|
+
Y.value && await S();
|
|
1464
1475
|
});
|
|
1465
1476
|
function J() {
|
|
1466
1477
|
n.create(null);
|
|
1467
1478
|
}
|
|
1468
1479
|
const re = () => {
|
|
1469
|
-
Y.value &&
|
|
1470
|
-
}, { t:
|
|
1480
|
+
Y.value && S();
|
|
1481
|
+
}, { t: L } = Ie(), B = x(() => {
|
|
1471
1482
|
var R, $;
|
|
1472
1483
|
return ($ = (R = e.currentCatalog) == null ? void 0 : R.linkItemRules) == null ? void 0 : $.length;
|
|
1473
1484
|
}), {
|
|
1474
|
-
menuItems:
|
|
1485
|
+
menuItems: z,
|
|
1475
1486
|
categories: H,
|
|
1476
1487
|
linkItemRules: Z,
|
|
1477
1488
|
handleSubmit: ne,
|
|
@@ -1479,14 +1490,14 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1479
1490
|
schedulerManager: se
|
|
1480
1491
|
} = kt(!1);
|
|
1481
1492
|
return (R, $) => {
|
|
1482
|
-
const P =
|
|
1483
|
-
return a(
|
|
1484
|
-
g("div",
|
|
1485
|
-
g("div",
|
|
1486
|
-
a(Y) ? (m(), I(
|
|
1493
|
+
const P = j("fm-button");
|
|
1494
|
+
return a(O).length ? (m(), w("div", ta, [
|
|
1495
|
+
g("div", la, [
|
|
1496
|
+
g("div", aa, [
|
|
1497
|
+
a(Y) ? (m(), I(ea, {
|
|
1487
1498
|
key: 0,
|
|
1488
1499
|
ref_key: "productTableRef",
|
|
1489
|
-
ref:
|
|
1500
|
+
ref: V,
|
|
1490
1501
|
"is-calculating": f.value,
|
|
1491
1502
|
"model-value": b.value,
|
|
1492
1503
|
"original-value": y.value,
|
|
@@ -1507,8 +1518,8 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1507
1518
|
}, 8, ["is-calculating", "model-value", "original-value"])) : M("", !0)
|
|
1508
1519
|
])
|
|
1509
1520
|
])
|
|
1510
|
-
])) : (m(),
|
|
1511
|
-
g("div",
|
|
1521
|
+
])) : (m(), w("div", oa, [
|
|
1522
|
+
g("div", ra, [
|
|
1512
1523
|
d(He),
|
|
1513
1524
|
u.value.multiScheduler ? (m(), I(qe, { key: 0 })) : M("", !0),
|
|
1514
1525
|
B.value ? (m(), I(Le, {
|
|
@@ -1520,22 +1531,22 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1520
1531
|
i.value.create ? (m(), I(be, {
|
|
1521
1532
|
key: 0,
|
|
1522
1533
|
action: {
|
|
1523
|
-
text: a(
|
|
1534
|
+
text: a(L)("menu.product.empty.with_create.action"),
|
|
1524
1535
|
callback: J
|
|
1525
1536
|
},
|
|
1526
|
-
subtitle: a(
|
|
1527
|
-
title: a(
|
|
1537
|
+
subtitle: a(L)("menu.product.empty.with_create.subtitle"),
|
|
1538
|
+
title: a(L)("menu.product.empty.with_create.title")
|
|
1528
1539
|
}, null, 8, ["action", "subtitle", "title"])) : l.value ? (m(), I(be, {
|
|
1529
1540
|
key: 1,
|
|
1530
|
-
subtitle: a(
|
|
1531
|
-
title: a(
|
|
1541
|
+
subtitle: a(L)("menu.product.empty.no_scheduler.subtitle"),
|
|
1542
|
+
title: a(L)("menu.product.empty.no_scheduler.title")
|
|
1532
1543
|
}, {
|
|
1533
1544
|
action: T(() => [
|
|
1534
1545
|
d(Ge, {
|
|
1535
1546
|
"categorized-items": a(Q).linkableItems.value,
|
|
1536
1547
|
"initial-value": a(Q).currentItems.value,
|
|
1537
1548
|
"show-variant": !1,
|
|
1538
|
-
"menu-items": a(
|
|
1549
|
+
"menu-items": a(z),
|
|
1539
1550
|
categories: a(H),
|
|
1540
1551
|
"link-item-rules": a(Z),
|
|
1541
1552
|
"no-scheduler": l.value,
|
|
@@ -1544,7 +1555,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1544
1555
|
}, {
|
|
1545
1556
|
default: T(({ trigger: A }) => [
|
|
1546
1557
|
d(P, {
|
|
1547
|
-
label: a(
|
|
1558
|
+
label: a(L)("menu.common.actions.link_product"),
|
|
1548
1559
|
"prepend-icon": "link",
|
|
1549
1560
|
onClick: A
|
|
1550
1561
|
}, null, 8, ["label", "onClick"])
|
|
@@ -1555,15 +1566,15 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1555
1566
|
_: 1
|
|
1556
1567
|
}, 8, ["subtitle", "title"])) : (m(), I(be, {
|
|
1557
1568
|
key: 2,
|
|
1558
|
-
subtitle: a(
|
|
1559
|
-
title: a(
|
|
1569
|
+
subtitle: a(L)("menu.product.empty.with_scheduler.subtitle"),
|
|
1570
|
+
title: a(L)("menu.product.empty.with_scheduler.title")
|
|
1560
1571
|
}, {
|
|
1561
1572
|
action: T(() => [
|
|
1562
1573
|
d(Ge, {
|
|
1563
1574
|
"categorized-items": a(se).linkableItems.value,
|
|
1564
1575
|
"initial-value": a(se).currentItems.value,
|
|
1565
1576
|
"show-variant": !1,
|
|
1566
|
-
"menu-items": a(
|
|
1577
|
+
"menu-items": a(z),
|
|
1567
1578
|
categories: a(H),
|
|
1568
1579
|
"link-item-rules": a(Z),
|
|
1569
1580
|
"no-scheduler": l.value,
|
|
@@ -1572,7 +1583,7 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1572
1583
|
}, {
|
|
1573
1584
|
default: T(({ trigger: A }) => [
|
|
1574
1585
|
d(P, {
|
|
1575
|
-
label: a(
|
|
1586
|
+
label: a(L)("menu.common.actions.apply_product"),
|
|
1576
1587
|
onClick: A
|
|
1577
1588
|
}, null, 8, ["label", "onClick"])
|
|
1578
1589
|
]),
|
|
@@ -1587,5 +1598,5 @@ const Ye = /* @__PURE__ */ N({
|
|
|
1587
1598
|
});
|
|
1588
1599
|
export {
|
|
1589
1600
|
Ye as _,
|
|
1590
|
-
|
|
1601
|
+
Fa as a
|
|
1591
1602
|
};
|