@feedmepos/mf-menu 0.31.33-beta.1 → 0.31.33-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/{App-B4rnpCXN.js → App-Dt6RQiUh.js} +6 -6
  2. package/dist/{ApplyProduct.vue_vue_type_script_setup_true_lang-LtwWMoPW.js → ApplyProduct.vue_vue_type_script_setup_true_lang-B_SQpWg7.js} +2 -2
  3. package/dist/{Catalog-Cd7J8de0.js → Catalog-CFx7t_Nu.js} +79 -79
  4. package/dist/{Category-p8UUDEiv.js → Category-CPMx86rY.js} +23 -19
  5. package/dist/{Category-D3WDm9Fe.js → Category-OjK-v--G.js} +5 -5
  6. package/dist/{CookingGuide-hFtxmtGj.js → CookingGuide-ANnXKBjc.js} +3 -3
  7. package/dist/CustomAttributeChip.vue_vue_type_script_setup_true_lang-D-1OzZ-i.js +113 -0
  8. package/dist/{Group-Bv0dyi8v.js → Group--DJjkGab.js} +1 -1
  9. package/dist/{Group-BTrqZgFd.js → Group-K4925_bP.js} +3 -3
  10. package/dist/Group.vue_vue_type_script_setup_true_lang-36O78xv0.js +684 -0
  11. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-BIX-gPUO.js +372 -0
  12. package/dist/{ImportProductDialog.vue_vue_type_script_setup_true_lang-CxPaVLVu.js → ImportProductDialog.vue_vue_type_script_setup_true_lang-C-z1m3jh.js} +13987 -13378
  13. package/dist/{Ingredient-BCostN4Y.js → Ingredient-G4Txx6_0.js} +3 -3
  14. package/dist/{InventoryBinding.vue_vue_type_script_setup_true_lang-MAqpI7ZD.js → InventoryBinding.vue_vue_type_script_setup_true_lang-HgHBlflo.js} +2 -2
  15. package/dist/{LinkProductSideSheet-abzVzmo3.js → LinkProductSideSheet-CWNarCEs.js} +1 -1
  16. package/dist/{MenuSetting-TfAo82-E.js → MenuSetting-Cx-EHG-6.js} +4 -4
  17. package/dist/{PrintRoute-B43rP5A9.js → PrintRoute-IxHGvGzF.js} +3 -3
  18. package/dist/{Product-C7cYyDHH.js → Product-D1gqn5J6.js} +1 -1
  19. package/dist/Product.vue_vue_type_script_setup_true_lang-BCQd-ks4.js +1641 -0
  20. package/dist/{ProductInternalTools-CkswVuAF.js → ProductInternalTools-GJ2OE5gU.js} +5 -5
  21. package/dist/Products-DJqgSe-Y.js +270 -0
  22. package/dist/{Publish-DIKqaH2f.js → Publish-C86rd413.js} +3 -3
  23. package/dist/{Recipe-_ApT00c_.js → Recipe-BbQKou9p.js} +4 -4
  24. package/dist/{Scheduler-DWY1kKHO.js → Scheduler-DUeTkyGQ.js} +3 -3
  25. package/dist/{ServingSequence-Z1S9zOTO.js → ServingSequence-BROo5rC_.js} +3 -3
  26. package/dist/Setting-D-ueTlwO.js +259 -0
  27. package/dist/{Subcategory-Lqq6XHz2.js → Subcategory-DVewA8HX.js} +4 -4
  28. package/dist/{Takeaway-DiGzrarg.js → Takeaway-B4lDGQDh.js} +4 -4
  29. package/dist/{Takeaway-DGvM9SBP.js → Takeaway-DyPjHuCl.js} +1 -1
  30. package/dist/{Takeaway.vue_vue_type_script_setup_true_lang-BfWy217t.js → Takeaway.vue_vue_type_script_setup_true_lang-BTDlzYuX.js} +6 -6
  31. package/dist/{TreeEditorOpenner.vue_vue_type_script_setup_true_lang-B2wC_Mf0.js → TreeEditorOpenner.vue_vue_type_script_setup_true_lang-B5BAKDRP.js} +642 -642
  32. package/dist/{Unit-D11rRFAf.js → Unit-CVF0dom4.js} +2 -2
  33. package/dist/{Variant-LaKYPxDe.js → Variant-DmccAgFU.js} +3 -3
  34. package/dist/_id_-CWtK62Fy.js +178 -0
  35. package/dist/{app-C5UXrJGj.js → app-CV_q8OdE.js} +75 -75
  36. package/dist/{app-Br9mC24D.js → app-ClinzawZ.js} +1 -1
  37. package/dist/app-DvG3mOom.js +8024 -0
  38. package/dist/app.js +1 -1
  39. package/dist/apps/mf-menu/src/app.d.ts +60 -1
  40. package/dist/apps/mf-menu/src/components/feature/AttributesSelector.vue.d.ts +2 -0
  41. package/dist/apps/mf-menu/src/components/feature/LinkProduct/LinkProductUnifiedSideSheet.vue.d.ts +12 -0
  42. package/dist/apps/mf-menu/src/components/feature/PriceTier/LinkPriceTierSection.vue.d.ts +24 -0
  43. package/dist/apps/mf-menu/src/components/feature/PriceTier/PriceTierRuleEditor.vue.d.ts +30 -0
  44. package/dist/apps/mf-menu/src/components/feature/TreeEditor/store/menuV2.d.ts +77 -0
  45. package/dist/apps/mf-menu/src/composable/customAttributes.d.ts +88 -0
  46. package/dist/apps/mf-menu/src/helper/{menuImport.d.ts → import-export.d.ts} +204 -3
  47. package/dist/apps/mf-menu/src/helper/menu.d.ts +77 -0
  48. package/dist/apps/mf-menu/src/helper/setting/catalogSetting.d.ts +11 -2
  49. package/dist/apps/mf-menu/src/manager/menu/item.d.ts +77 -0
  50. package/dist/apps/mf-menu/src/stores/manager/catalog.d.ts +2 -0
  51. package/dist/apps/mf-menu/src/stores/menu.d.ts +79 -0
  52. package/dist/apps/mf-menu/src/views/Publish/UpdateCatalogDialog.vue.d.ts +82 -0
  53. package/dist/apps/mf-menu/tsconfig.app.tsbuildinfo +1 -1
  54. package/dist/assets/linked-status-fZD691Js.js +24 -0
  55. package/dist/assets/override-menu-Cjy1BJuz.js +24 -0
  56. package/dist/assets/validate-menu-uwysUwDP.js +24 -0
  57. package/dist/{catalog-BDyG_i9q.js → catalog-Wx88K6iI.js} +1 -1
  58. package/dist/catalogSetting-DTEHDSAd.js +71 -0
  59. package/dist/{category-Bi6gpIYU.js → category-BRTw76Vf.js} +1 -1
  60. package/dist/{currency-DDseyYg1.js → currency-562bPc2l.js} +1 -1
  61. package/dist/customAttributes-CXzd5ud1.js +33 -0
  62. package/dist/{dayjs.min-DoQgN0KD.js → dayjs.min-Cnfm8bQm.js} +1 -1
  63. package/dist/{index-DxrEwDTr.js → index-4hf9vONw.js} +2 -2
  64. package/dist/{index-C-zLHAG1.js → index-Crs_eZ0i.js} +28 -28
  65. package/dist/{index-DTUmry92.js → index-DJXrJdeQ.js} +3 -3
  66. package/dist/{item-DqXzPUy9.js → item-CuIxc9FT.js} +377 -377
  67. package/dist/{jszip.min-iAC5WNVU.js → jszip.min-C9xLIvo4.js} +245 -245
  68. package/dist/menu-ILWxqJQe.js +133263 -0
  69. package/dist/{menu-D6df9rcz.js → menu-Mkzv9c8C.js} +4 -4
  70. package/dist/{priceTier-C56BYecC.js → priceTier-D4joq_kN.js} +1 -1
  71. package/dist/{scheduler-DCSpt65t.js → scheduler-DuxWoNVb.js} +3 -3
  72. package/dist/{subcategory-CydaPy_X.js → subcategory-CLLMagXY.js} +43 -43
  73. package/dist/{toExcel-Bil8CwJs.js → toExcel-hGfpS_Uo.js} +2 -2
  74. package/dist/{unit-8DyuBx-X.js → unit-9fycj1fu.js} +1 -1
  75. package/package.json +4 -4
  76. package/dist/CustomAttributeChip.vue_vue_type_script_setup_true_lang-Cf17Iy5i.js +0 -7949
  77. package/dist/Group.vue_vue_type_script_setup_true_lang-vk1J9IxK.js +0 -698
  78. package/dist/GroupMarkupPriceDialog.vue_vue_type_script_setup_true_lang-B1wrLnf6.js +0 -206
  79. package/dist/Product.vue_vue_type_script_setup_true_lang-BOq8wMzq.js +0 -1560
  80. package/dist/Products-C7BtAjhB.js +0 -659
  81. package/dist/Setting-Bfuf26Gc.js +0 -258
  82. package/dist/_id_-Q_Tyhr4U.js +0 -200
  83. package/dist/apps/mf-menu/src/helper/import-export-utils.d.ts +0 -123
  84. package/dist/apps/mf-menu/src/helper/menuExport.d.ts +0 -32
  85. package/dist/assets/linked-status-BhGrXd73.js +0 -24
  86. package/dist/assets/override-menu-CUNDHOWA.js +0 -24
  87. package/dist/assets/validate-menu-BqOizHsX.js +0 -24
  88. package/dist/catalogSetting-C33p_dck.js +0 -65
  89. package/dist/menu-Cir-22ei.js +0 -108039
@@ -1,9 +1,128 @@
1
+ import * as ExcelJS from "exceljs";
1
2
  import { type WorkBook } from "xlsx";
2
3
  import { FdoDinero } from "@feedmepos/core/entity";
3
- import { FdoMenuV4, FdoMenuV4VariantGroup, FdoMenuV4Catalog, FdoItemVariant } from "@feedmepos/menu/entity";
4
+ import { FdoMenuV4, FdoMenuV4Category, FdoMenuV4Item, FdoMenuV4VariantGroup, FdoMenuV4Takeaway, FdoItemOverriderV4, FdoMenuV4Catalog, FdoItemVariant, F_ORDER_FROM } from "@feedmepos/menu/entity";
4
5
  import type { FdoGroupOverriderV4 } from "@feedmepos/menu/entity";
5
- import { type ExportAddonGroupRow, type ExportMenuDataRow, type GroupedAddon, type GroupedItem, type itemsLinkWithGroup } from "@/helper/import-export-utils";
6
6
  import type { GroupItem } from "@/manager/menu/group";
7
+ interface ExportMenuDataRow {
8
+ _id: string;
9
+ code: string;
10
+ name: string;
11
+ variantKey: string;
12
+ variantName: string;
13
+ category: string;
14
+ orderFrom: string;
15
+ perXUnit: number | string;
16
+ unit: string;
17
+ openPrice: boolean | string;
18
+ price: number | string;
19
+ priceTier: Record<string, FdoDinero>;
20
+ trackingCost: number | string;
21
+ minPrice: number | string;
22
+ groupByParent: boolean | string;
23
+ takeawayName: string;
24
+ takeawayPrice: number | string;
25
+ tag: Record<string, any>;
26
+ }
27
+ interface ExportAddonGroupRow {
28
+ id: string;
29
+ name: string;
30
+ min: number;
31
+ max: number;
32
+ stackable: string;
33
+ itemId: string;
34
+ itemCode: string;
35
+ itemName: string;
36
+ itemNameOverrider: string;
37
+ combinationKey: string;
38
+ combinationName: string;
39
+ price: number;
40
+ orderFrom: string;
41
+ isDefault: string;
42
+ index: number;
43
+ }
44
+ interface TransformDataResult {
45
+ rows: ExportMenuDataRow[];
46
+ metaData: {
47
+ tags: string[];
48
+ priceTiers: string[];
49
+ };
50
+ }
51
+ interface GroupedItemVariant {
52
+ combinationKey: string;
53
+ name: string;
54
+ code: string | null | undefined;
55
+ takeawayUsed: string | null | undefined;
56
+ orderFrom: F_ORDER_FROM | null | undefined;
57
+ price: FdoDinero | null | undefined;
58
+ }
59
+ interface GroupedItem {
60
+ _id: string;
61
+ code: string;
62
+ name: string;
63
+ variants: GroupedItemVariant[];
64
+ category: string | null | undefined;
65
+ orderFrom: F_ORDER_FROM;
66
+ perXUnit: number | null | undefined;
67
+ unit: string | null | undefined;
68
+ openPrice: boolean;
69
+ price: FdoDinero;
70
+ trackingCost: FdoDinero | null | undefined;
71
+ minPrice: FdoDinero | null | undefined;
72
+ groupByParent: boolean | null | undefined;
73
+ takeawayId: string | null | undefined;
74
+ customAttributes: Record<string, any> | null;
75
+ priceTiers: Record<string, FdoDinero> | null;
76
+ }
77
+ interface GroupedAddon {
78
+ _id: string;
79
+ name: string;
80
+ min: number;
81
+ max: number;
82
+ stackable: boolean;
83
+ itemId: string;
84
+ itemName: string;
85
+ itemCode: string;
86
+ combinationKey: string;
87
+ combinationName: string;
88
+ price: number;
89
+ orderFrom: F_ORDER_FROM;
90
+ isDefault: boolean;
91
+ index: number;
92
+ }
93
+ interface itemsLinkWithGroup {
94
+ itemId: string;
95
+ itemName: string;
96
+ defaultCatalog: string;
97
+ }
98
+ export declare class MenuExport {
99
+ menu: FdoMenuV4;
100
+ categoryMap: {
101
+ [id: string]: FdoMenuV4Category;
102
+ };
103
+ takeawayMap: {
104
+ [id: string]: FdoMenuV4Takeaway;
105
+ };
106
+ constructor(menu: FdoMenuV4);
107
+ transformData(): TransformDataResult;
108
+ transformOverrideData(data: FdoItemOverriderV4[]): TransformDataResult;
109
+ transformProductToDataRow(item: FdoMenuV4Item, combinationNameMapping: {
110
+ [key: string]: string;
111
+ }, combinationKey?: string | null | undefined): ExportMenuDataRow;
112
+ transformOverrideDataToRow(d: FdoItemOverriderV4, combinationNameMapping: {
113
+ [key: string]: string;
114
+ }, combinationKey?: string | null | undefined): ExportMenuDataRow;
115
+ transformAddonGroup(): ExportAddonGroupRow[];
116
+ transformOverrideAddonGroup(data: FdoGroupOverriderV4[]): ExportAddonGroupRow[];
117
+ private mapCatalogAddonGroup;
118
+ private mapAddonGroup;
119
+ transformItemsLinkWithGroup(): {};
120
+ exportToExcel(): any[];
121
+ private createWorkbookExcelJS;
122
+ private formatWorkbookCell;
123
+ exportCatalogToExcelExcelJS(): ExcelJS.Workbook;
124
+ exportCatalogAddonToExcelExcelJS(): ExcelJS.Workbook;
125
+ }
7
126
  export declare class MenuImport {
8
127
  menu: FdoMenuV4;
9
128
  variantGroups2: {
@@ -38,7 +157,7 @@ export declare class MenuImport {
38
157
  groupItems(rows: ExportMenuDataRow[], tagKeys: Record<string, string>, priceTierKeys: Record<string, string>): {
39
158
  [itemId: string]: GroupedItem;
40
159
  };
41
- groupAddon(rows: ExportAddonGroupRow[], priceTierKeys: Record<string, string>): {
160
+ groupAddon(rows: ExportAddonGroupRow[]): {
42
161
  [groupId: string]: GroupedAddon[];
43
162
  };
44
163
  processMenuGroup(groupedAddons: {
@@ -1478,6 +1597,29 @@ export declare class MenuImport {
1478
1597
  percentage: number;
1479
1598
  }>, "many">>>;
1480
1599
  usePriceTiers: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1600
+ priceTierRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
1601
+ priceTier: z.ZodString;
1602
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1603
+ }, "strip", z.ZodTypeAny, {
1604
+ restaurantAttributes?: any;
1605
+ priceTier: string;
1606
+ }, {
1607
+ restaurantAttributes?: any;
1608
+ priceTier: string;
1609
+ }>, "many">>>;
1610
+ linkItemRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
1611
+ orderFrom: z.ZodEnum<["ALL", "POS_ONLY", "NONE"]>;
1612
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1613
+ itemAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1614
+ }, "strip", z.ZodTypeAny, {
1615
+ restaurantAttributes?: any;
1616
+ itemAttributes?: any;
1617
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1618
+ }, {
1619
+ restaurantAttributes?: any;
1620
+ itemAttributes?: any;
1621
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1622
+ }>, "many">>>;
1481
1623
  }, "strip", z.ZodTypeAny, {
1482
1624
  inclusiveTaxes?: {
1483
1625
  inclusive: boolean;
@@ -1546,6 +1688,15 @@ export declare class MenuImport {
1546
1688
  percentage: number;
1547
1689
  }[] | null | undefined;
1548
1690
  usePriceTiers?: string[] | null | undefined;
1691
+ priceTierRules?: {
1692
+ restaurantAttributes?: any;
1693
+ priceTier: string;
1694
+ }[] | null | undefined;
1695
+ linkItemRules?: {
1696
+ restaurantAttributes?: any;
1697
+ itemAttributes?: any;
1698
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1699
+ }[] | null | undefined;
1549
1700
  name: string;
1550
1701
  _id: string;
1551
1702
  override: {
@@ -1757,6 +1908,15 @@ export declare class MenuImport {
1757
1908
  percentage: number;
1758
1909
  }[] | null | undefined;
1759
1910
  usePriceTiers?: string[] | null | undefined;
1911
+ priceTierRules?: {
1912
+ restaurantAttributes?: any;
1913
+ priceTier: string;
1914
+ }[] | null | undefined;
1915
+ linkItemRules?: {
1916
+ restaurantAttributes?: any;
1917
+ itemAttributes?: any;
1918
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1919
+ }[] | null | undefined;
1760
1920
  name: string;
1761
1921
  _id: string;
1762
1922
  override: {
@@ -5049,6 +5209,15 @@ export declare class MenuImport {
5049
5209
  percentage: number;
5050
5210
  }[] | null | undefined;
5051
5211
  usePriceTiers?: string[] | null | undefined;
5212
+ priceTierRules?: {
5213
+ restaurantAttributes?: any;
5214
+ priceTier: string;
5215
+ }[] | null | undefined;
5216
+ linkItemRules?: {
5217
+ restaurantAttributes?: any;
5218
+ itemAttributes?: any;
5219
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
5220
+ }[] | null | undefined;
5052
5221
  name: string;
5053
5222
  _id: string;
5054
5223
  override: {
@@ -5723,6 +5892,15 @@ export declare class MenuImport {
5723
5892
  percentage: number;
5724
5893
  }[] | null | undefined;
5725
5894
  usePriceTiers?: string[] | null | undefined;
5895
+ priceTierRules?: {
5896
+ restaurantAttributes?: any;
5897
+ priceTier: string;
5898
+ }[] | null | undefined;
5899
+ linkItemRules?: {
5900
+ restaurantAttributes?: any;
5901
+ itemAttributes?: any;
5902
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
5903
+ }[] | null | undefined;
5726
5904
  name: string;
5727
5905
  _id: string;
5728
5906
  override: {
@@ -6468,6 +6646,15 @@ export declare class MenuImport {
6468
6646
  percentage: number;
6469
6647
  }[] | null | undefined;
6470
6648
  usePriceTiers?: string[] | null | undefined;
6649
+ priceTierRules?: {
6650
+ restaurantAttributes?: any;
6651
+ priceTier: string;
6652
+ }[] | null | undefined;
6653
+ linkItemRules?: {
6654
+ restaurantAttributes?: any;
6655
+ itemAttributes?: any;
6656
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
6657
+ }[] | null | undefined;
6471
6658
  name: string;
6472
6659
  _id: string;
6473
6660
  override: {
@@ -7163,6 +7350,15 @@ export declare class MenuImport {
7163
7350
  percentage: number;
7164
7351
  }[] | null | undefined;
7165
7352
  usePriceTiers?: string[] | null | undefined;
7353
+ priceTierRules?: {
7354
+ restaurantAttributes?: any;
7355
+ priceTier: string;
7356
+ }[] | null | undefined;
7357
+ linkItemRules?: {
7358
+ restaurantAttributes?: any;
7359
+ itemAttributes?: any;
7360
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
7361
+ }[] | null | undefined;
7166
7362
  name: string;
7167
7363
  _id: string;
7168
7364
  override: {
@@ -7415,3 +7611,8 @@ export declare class MenuImport {
7415
7611
  };
7416
7612
  }>>;
7417
7613
  }
7614
+ export declare function mapVariant(menu: FdoMenuV4, variantGroupIds: string[]): {
7615
+ [key: string]: string;
7616
+ };
7617
+ export declare function extractItemsGroupExcelData(workbook: WorkBook): itemsLinkWithGroup[][];
7618
+ export {};
@@ -2355,6 +2355,29 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
2355
2355
  percentage: number;
2356
2356
  }>, "many">>>;
2357
2357
  usePriceTiers: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
2358
+ priceTierRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
2359
+ priceTier: z.ZodString;
2360
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
2361
+ }, "strip", z.ZodTypeAny, {
2362
+ restaurantAttributes?: any;
2363
+ priceTier: string;
2364
+ }, {
2365
+ restaurantAttributes?: any;
2366
+ priceTier: string;
2367
+ }>, "many">>>;
2368
+ linkItemRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
2369
+ orderFrom: z.ZodEnum<["ALL", "POS_ONLY", "NONE"]>;
2370
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
2371
+ itemAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
2372
+ }, "strip", z.ZodTypeAny, {
2373
+ restaurantAttributes?: any;
2374
+ itemAttributes?: any;
2375
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
2376
+ }, {
2377
+ restaurantAttributes?: any;
2378
+ itemAttributes?: any;
2379
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
2380
+ }>, "many">>>;
2358
2381
  }, "strip", z.ZodTypeAny, {
2359
2382
  inclusiveTaxes?: {
2360
2383
  inclusive: boolean;
@@ -2423,6 +2446,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
2423
2446
  percentage: number;
2424
2447
  }[] | null | undefined;
2425
2448
  usePriceTiers?: string[] | null | undefined;
2449
+ priceTierRules?: {
2450
+ restaurantAttributes?: any;
2451
+ priceTier: string;
2452
+ }[] | null | undefined;
2453
+ linkItemRules?: {
2454
+ restaurantAttributes?: any;
2455
+ itemAttributes?: any;
2456
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
2457
+ }[] | null | undefined;
2426
2458
  name: string;
2427
2459
  _id: string;
2428
2460
  override: {
@@ -2634,6 +2666,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
2634
2666
  percentage: number;
2635
2667
  }[] | null | undefined;
2636
2668
  usePriceTiers?: string[] | null | undefined;
2669
+ priceTierRules?: {
2670
+ restaurantAttributes?: any;
2671
+ priceTier: string;
2672
+ }[] | null | undefined;
2673
+ linkItemRules?: {
2674
+ restaurantAttributes?: any;
2675
+ itemAttributes?: any;
2676
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
2677
+ }[] | null | undefined;
2637
2678
  name: string;
2638
2679
  _id: string;
2639
2680
  override: {
@@ -5926,6 +5967,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
5926
5967
  percentage: number;
5927
5968
  }[] | null | undefined;
5928
5969
  usePriceTiers?: string[] | null | undefined;
5970
+ priceTierRules?: {
5971
+ restaurantAttributes?: any;
5972
+ priceTier: string;
5973
+ }[] | null | undefined;
5974
+ linkItemRules?: {
5975
+ restaurantAttributes?: any;
5976
+ itemAttributes?: any;
5977
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
5978
+ }[] | null | undefined;
5929
5979
  name: string;
5930
5980
  _id: string;
5931
5981
  override: {
@@ -6600,6 +6650,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
6600
6650
  percentage: number;
6601
6651
  }[] | null | undefined;
6602
6652
  usePriceTiers?: string[] | null | undefined;
6653
+ priceTierRules?: {
6654
+ restaurantAttributes?: any;
6655
+ priceTier: string;
6656
+ }[] | null | undefined;
6657
+ linkItemRules?: {
6658
+ restaurantAttributes?: any;
6659
+ itemAttributes?: any;
6660
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
6661
+ }[] | null | undefined;
6603
6662
  name: string;
6604
6663
  _id: string;
6605
6664
  override: {
@@ -7345,6 +7404,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
7345
7404
  percentage: number;
7346
7405
  }[] | null | undefined;
7347
7406
  usePriceTiers?: string[] | null | undefined;
7407
+ priceTierRules?: {
7408
+ restaurantAttributes?: any;
7409
+ priceTier: string;
7410
+ }[] | null | undefined;
7411
+ linkItemRules?: {
7412
+ restaurantAttributes?: any;
7413
+ itemAttributes?: any;
7414
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
7415
+ }[] | null | undefined;
7348
7416
  name: string;
7349
7417
  _id: string;
7350
7418
  override: {
@@ -8040,6 +8108,15 @@ export declare function fixMenu(menu: FdoMenuV4): z.infer<z.ZodObject<{
8040
8108
  percentage: number;
8041
8109
  }[] | null | undefined;
8042
8110
  usePriceTiers?: string[] | null | undefined;
8111
+ priceTierRules?: {
8112
+ restaurantAttributes?: any;
8113
+ priceTier: string;
8114
+ }[] | null | undefined;
8115
+ linkItemRules?: {
8116
+ restaurantAttributes?: any;
8117
+ itemAttributes?: any;
8118
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
8119
+ }[] | null | undefined;
8043
8120
  name: string;
8044
8121
  _id: string;
8045
8122
  override: {
@@ -1,6 +1,6 @@
1
1
  import type { FdoTaxInclusion } from "@feedmepos/core/entity";
2
- import type { FdoMarkupOption, FdoMasterCatalogSetting, FdoMenuV4Catalog } from "@feedmepos/menu/entity";
3
2
  import { F_ORDER_FROM } from "@feedmepos/menu/entity";
3
+ import type { FdoMarkupOption, FdoMasterCatalogSetting, FdoMenuV4Catalog, FdoCatalogPriceTierRule } from "@feedmepos/menu/entity";
4
4
  export declare enum CatalogTaxSettingMode {
5
5
  AUTO = "auto",
6
6
  MANUAL = "manual"
@@ -22,7 +22,16 @@ export interface CatalogSetting {
22
22
  taxSetting: CatalogTaxSetting;
23
23
  orderFrom: F_ORDER_FROM;
24
24
  markupOptions: FdoMarkupOption[] | null;
25
- usePriceTiers: string[] | null;
25
+ /**
26
+ * if priceTierRules exist, when publish menu will run thru priceTierRules and update
27
+ * usePriceTiers before update restaurant menu, so no need to run eval when override menu
28
+ */
29
+ usePriceTiers: string[] | null | undefined;
30
+ priceTierRules: FdoCatalogPriceTierRule[] | null | undefined;
31
+ }
32
+ export declare enum LinkPriceTierMode {
33
+ Normal = 0,
34
+ Rules = 1
26
35
  }
27
36
  type CatalogInclusive = FdoTaxInclusion[] | null | undefined;
28
37
  export declare class CatalogSettingManager {
@@ -1439,6 +1439,29 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
1439
1439
  percentage: number;
1440
1440
  }>, "many">>>;
1441
1441
  usePriceTiers: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
1442
+ priceTierRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
1443
+ priceTier: z.ZodString;
1444
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1445
+ }, "strip", z.ZodTypeAny, {
1446
+ restaurantAttributes?: any;
1447
+ priceTier: string;
1448
+ }, {
1449
+ restaurantAttributes?: any;
1450
+ priceTier: string;
1451
+ }>, "many">>>;
1452
+ linkItemRules: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
1453
+ orderFrom: z.ZodEnum<["ALL", "POS_ONLY", "NONE"]>;
1454
+ restaurantAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1455
+ itemAttributes: z.ZodNullable<z.ZodOptional<z.ZodAny>>;
1456
+ }, "strip", z.ZodTypeAny, {
1457
+ restaurantAttributes?: any;
1458
+ itemAttributes?: any;
1459
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1460
+ }, {
1461
+ restaurantAttributes?: any;
1462
+ itemAttributes?: any;
1463
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1464
+ }>, "many">>>;
1442
1465
  }, "strip", z.ZodTypeAny, {
1443
1466
  inclusiveTaxes?: {
1444
1467
  inclusive: boolean;
@@ -1507,6 +1530,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
1507
1530
  percentage: number;
1508
1531
  }[] | null | undefined;
1509
1532
  usePriceTiers?: string[] | null | undefined;
1533
+ priceTierRules?: {
1534
+ restaurantAttributes?: any;
1535
+ priceTier: string;
1536
+ }[] | null | undefined;
1537
+ linkItemRules?: {
1538
+ restaurantAttributes?: any;
1539
+ itemAttributes?: any;
1540
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1541
+ }[] | null | undefined;
1510
1542
  name: string;
1511
1543
  _id: string;
1512
1544
  override: {
@@ -1718,6 +1750,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
1718
1750
  percentage: number;
1719
1751
  }[] | null | undefined;
1720
1752
  usePriceTiers?: string[] | null | undefined;
1753
+ priceTierRules?: {
1754
+ restaurantAttributes?: any;
1755
+ priceTier: string;
1756
+ }[] | null | undefined;
1757
+ linkItemRules?: {
1758
+ restaurantAttributes?: any;
1759
+ itemAttributes?: any;
1760
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
1761
+ }[] | null | undefined;
1721
1762
  name: string;
1722
1763
  _id: string;
1723
1764
  override: {
@@ -5010,6 +5051,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
5010
5051
  percentage: number;
5011
5052
  }[] | null | undefined;
5012
5053
  usePriceTiers?: string[] | null | undefined;
5054
+ priceTierRules?: {
5055
+ restaurantAttributes?: any;
5056
+ priceTier: string;
5057
+ }[] | null | undefined;
5058
+ linkItemRules?: {
5059
+ restaurantAttributes?: any;
5060
+ itemAttributes?: any;
5061
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
5062
+ }[] | null | undefined;
5013
5063
  name: string;
5014
5064
  _id: string;
5015
5065
  override: {
@@ -5684,6 +5734,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
5684
5734
  percentage: number;
5685
5735
  }[] | null | undefined;
5686
5736
  usePriceTiers?: string[] | null | undefined;
5737
+ priceTierRules?: {
5738
+ restaurantAttributes?: any;
5739
+ priceTier: string;
5740
+ }[] | null | undefined;
5741
+ linkItemRules?: {
5742
+ restaurantAttributes?: any;
5743
+ itemAttributes?: any;
5744
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
5745
+ }[] | null | undefined;
5687
5746
  name: string;
5688
5747
  _id: string;
5689
5748
  override: {
@@ -6429,6 +6488,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
6429
6488
  percentage: number;
6430
6489
  }[] | null | undefined;
6431
6490
  usePriceTiers?: string[] | null | undefined;
6491
+ priceTierRules?: {
6492
+ restaurantAttributes?: any;
6493
+ priceTier: string;
6494
+ }[] | null | undefined;
6495
+ linkItemRules?: {
6496
+ restaurantAttributes?: any;
6497
+ itemAttributes?: any;
6498
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
6499
+ }[] | null | undefined;
6432
6500
  name: string;
6433
6501
  _id: string;
6434
6502
  override: {
@@ -7124,6 +7192,15 @@ export declare function overrideMenuWithWorker(menu: FdoMenuV4, catalogId: strin
7124
7192
  percentage: number;
7125
7193
  }[] | null | undefined;
7126
7194
  usePriceTiers?: string[] | null | undefined;
7195
+ priceTierRules?: {
7196
+ restaurantAttributes?: any;
7197
+ priceTier: string;
7198
+ }[] | null | undefined;
7199
+ linkItemRules?: {
7200
+ restaurantAttributes?: any;
7201
+ itemAttributes?: any;
7202
+ orderFrom: "ALL" | "POS_ONLY" | "NONE";
7203
+ }[] | null | undefined;
7127
7204
  name: string;
7128
7205
  _id: string;
7129
7206
  override: {
@@ -1,7 +1,9 @@
1
+ import { type FdoCatalogLinkItemRule } from "@feedmepos/menu/entity";
1
2
  export declare const useCatalogManagerStore: () => {
2
3
  linkableItems: import("vue").ComputedRef<import("@/helper/menu").CategorizedItem[]>;
3
4
  currentItems: import("vue").ComputedRef<{
4
5
  _id: string;
5
6
  }[]>;
6
7
  applyProduct: (productIds: string[]) => Promise<void>;
8
+ saveLinkItemRules: (linkItemRules: FdoCatalogLinkItemRule[] | null | undefined) => Promise<void>;
7
9
  };