@feedmepos/mf-inventory-portal 0.0.23-dev.9 → 0.0.24-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.
Files changed (140) hide show
  1. package/dist/App-D3sNH2MR.js +276 -0
  2. package/dist/{ApprovalView-e85YmdZN.js → ApprovalView-DHnRx0hJ.js} +17 -20
  3. package/dist/{BindingsDialog-giBUD0IH.js → BindingsDialog-oTeg2Dai.js} +6 -6
  4. package/dist/{BindingsPicker-CC4MmPbF.js → BindingsPicker-CWdjmMJ3.js} +8 -9
  5. package/dist/{BindingsTable-WphZdzrA.js → BindingsTable-bKLR1OKX.js} +18 -22
  6. package/dist/ClosingDraftView-CIQVz7lY.js +1225 -0
  7. package/dist/{ClosingTemplateView-1lzoDyet.js → ClosingTemplateView-D5pLzQwU.js} +259 -274
  8. package/dist/FmCustomAttribute.vue_vue_type_script_setup_true_lang-ClLDcchC.js +142 -0
  9. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-Cv-vvzr5.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-B_c6Vn6P.js} +23 -24
  10. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-DIFQcrc0.js → FmUnitInput.vue_vue_type_script_setup_true_lang-DhpHOaRH.js} +50 -51
  11. package/dist/{IngredientGroupView-UegBM_JK.js → IngredientGroupView-4C437mso.js} +63 -70
  12. package/dist/IngredientsView-DoiGgjre.js +1706 -0
  13. package/dist/{IntegrationView-FYNNzKia.js → IntegrationView-8ZKE7MAM.js} +123 -126
  14. package/dist/{InventoryBindingForm-DsHv_IHG.js → InventoryBindingForm-CcnfliYQ.js} +1 -1
  15. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-BURSXafS.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-B_J-6C9x.js} +116 -108
  16. package/dist/{InventoryBindingSummary-BLb4MRPZ.js → InventoryBindingSummary-CRdHCzNE.js} +1 -1
  17. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-BG78-DHs.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-B2-TypU0.js} +1 -1
  18. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-CqID5_7v.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BuQde75S.js} +20 -21
  19. package/dist/PublishView-t5gjGmK_.js +192 -0
  20. package/dist/{PurchaseOrderPrintPreview-BBMU3teq.js → PurchaseOrderPrintPreview-6i53Y-v1.js} +13 -14
  21. package/dist/ReceiveRequestView-uOeSh0Mr.js +1866 -0
  22. package/dist/RecipeView-BTWywckD.js +609 -0
  23. package/dist/StockView-DN2xk8ei.js +1817 -0
  24. package/dist/{SupplierView-B2aObtwK.js → SupplierView-l0XUg3J4.js} +185 -196
  25. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-CWMn6fFf.js +1327 -0
  26. package/dist/TransferTemplateView-wDKXpCWZ.js +1263 -0
  27. package/dist/UnitView-CUI-k-tS.js +648 -0
  28. package/dist/{WarehouseView-G8pej6Y2.js → WarehouseView-WsI_eG5r.js} +190 -197
  29. package/dist/api/adjustment-template.d.ts +25 -0
  30. package/dist/api/bill.d.ts +240 -84
  31. package/dist/api/inventory.d.ts +19 -6
  32. package/dist/api/netsuite.d.ts +3 -3
  33. package/dist/app-DntcWR3_.js +85558 -0
  34. package/dist/app.d.ts +85 -0
  35. package/dist/app.js +2 -2
  36. package/dist/components/FmCustomAttribute.vue.d.ts +23 -0
  37. package/dist/components/FmLockableField.vue.d.ts +37 -0
  38. package/dist/components/FmMultiselectDialogProps.d.ts +1 -0
  39. package/dist/components/inventory-binding/InventoryBinding.vue.d.ts +3 -1
  40. package/dist/components/shell/inventory/binding-ui.vue.d.ts +3 -1
  41. package/dist/composable/defineDeepModel.d.ts +1 -1
  42. package/dist/{decimal-DC07xoJW.js → decimal-DTCTnMwO.js} +1 -1
  43. package/dist/format-unit-display-Hy48Iw5j.js +1215 -0
  44. package/dist/index-Bv9RYyTZ.js +29202 -0
  45. package/dist/{StockView-C5btudss.js → index-D4yJP9I2.js} +2220 -3863
  46. package/dist/layout/SingleColumnLayout.vue.d.ts +1 -0
  47. package/dist/router/name.d.ts +2 -0
  48. package/dist/stock-BsdmfT-b.js +125 -0
  49. package/dist/stores/feature.d.ts +41 -1
  50. package/dist/stores/integration/netsuite.d.ts +3 -2
  51. package/dist/stores/inventory.d.ts +20 -8
  52. package/dist/stores/location.d.ts +29 -1
  53. package/dist/stores/supplier.d.ts +1 -1
  54. package/dist/style.css +1 -1
  55. package/dist/supplier-CXhkgC4M.js +77 -0
  56. package/dist/tsconfig.app.tsbuildinfo +1 -1
  57. package/dist/{use-inventory-binding-dialog-B0G2XYSw.js → use-inventory-binding-dialog-DPMJmBCr.js} +10 -11
  58. package/dist/views/adjustment-template/import/AdjustmentTemplateImport.vue.d.ts +2 -0
  59. package/dist/views/adjustment-template/import/AdjustmentTemplateImportItem.vue.d.ts +18 -0
  60. package/dist/views/adjustment-template/import/export.d.ts +60 -0
  61. package/dist/views/adjustment-template/wastage-template/WastageTemplateDetails.vue.d.ts +2 -0
  62. package/dist/views/adjustment-template/wastage-template/WastageTemplateDialog.vue.d.ts +22 -0
  63. package/dist/views/adjustment-template/wastage-template/WastageTemplatePublish.vue.d.ts +6 -0
  64. package/dist/views/adjustment-template/wastage-template/WastageTemplateReason.vue.d.ts +18 -0
  65. package/dist/views/adjustment-template/wastage-template/WastageTemplateView.vue.d.ts +2 -0
  66. package/dist/views/adjustment-template/wastage-template/actions.d.ts +1377 -0
  67. package/dist/views/adjustment-template/wastage-template/form/WastageTemplateForm.vue.d.ts +16 -0
  68. package/dist/views/adjustment-template/wastage-template/form/WastageTemplateItemTable.vue.d.ts +35 -0
  69. package/dist/views/adjustment-template/wastage-template/form/useAdjustmentTemplateItems.d.ts +20 -0
  70. package/dist/views/adjustment-template/wastage-template/props.d.ts +36 -0
  71. package/dist/views/adjustment-template/wastage-template/table.d.ts +1351 -0
  72. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftDialog.vue.d.ts +198 -12
  73. package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +7 -4
  74. package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +1559 -467
  75. package/dist/views/closing-draft/helpers/export-draft.helper.d.ts +19 -0
  76. package/dist/views/closing-draft/helpers/get-calculated-total.helper.d.ts +4 -0
  77. package/dist/views/closing-template/components/closing-template-form/composables/use-closing-template-items.d.ts +2 -1
  78. package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +72 -12
  79. package/dist/views/closing-template/composables/use-closing-template-table.d.ts +73 -13
  80. package/dist/views/ingredient-group/composables/use-ingredient-group-table.d.ts +6 -3
  81. package/dist/views/ingredients/components/convert/ConvertFormProps.d.ts +1 -0
  82. package/dist/views/ingredients/components/ingredient-form/IngredientForm.vue.d.ts +4 -2
  83. package/dist/views/ingredients/components/inventory-binding/InventoryBindingForm.vue.d.ts +1 -0
  84. package/dist/views/ingredients/composables/use-ingredient-table.d.ts +2 -1
  85. package/dist/views/publish/PublishView.vue.d.ts +2 -0
  86. package/dist/views/receive-request/components/netsuite/NetSuiteInfo.vue.d.ts +12 -0
  87. package/dist/views/receive-request/components/netsuite/NetSuiteProps.d.ts +13 -0
  88. package/dist/views/receive-request/components/netsuite/NetSuiteSync.vue.d.ts +12 -0
  89. package/dist/views/receive-request/components/transfer-form/NetSuiteField.vue.d.ts +13 -0
  90. package/dist/views/receive-request/components/transfer-form/SparkIcon.vue.d.ts +1 -1
  91. package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +86 -17
  92. package/dist/views/receive-request/components/transfer-form/components/ForecastStock.vue.d.ts +4 -2
  93. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +2 -1
  94. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +126 -24
  95. package/dist/views/receive-request/composables/use-receive-request-table.d.ts +126 -24
  96. package/dist/views/recipe/components/recipe-form/RecipeForm.vue.d.ts +2 -0
  97. package/dist/views/stock/components/StockRecordCard.vue.d.ts +120 -42
  98. package/dist/views/stock/components/dialog/AdjustedItemForm.vue.d.ts +6 -4
  99. package/dist/views/stock/helper/compute-summary-total.d.ts +2 -2
  100. package/dist/views/transfer-template/components/transfer-template-form/composables/use-template-enabled-locations.d.ts +4 -0
  101. package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-template-items.d.ts +2 -1
  102. package/dist/views/transfer-template/composables/use-transfer-template-actions.d.ts +72 -12
  103. package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +72 -12
  104. package/dist/views/transfer-template/helpers/import-export.helper.d.ts +2 -1
  105. package/dist/vue-i18n-ByVzHsI7.js +2365 -0
  106. package/package.json +5 -4
  107. package/dist/App-ByLgARNp.js +0 -259
  108. package/dist/ClosingDraftView-CQM1Sx45.js +0 -755
  109. package/dist/FmDroppableField-8RzKjEdL.js +0 -154
  110. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-BvkN-71q.js +0 -436
  111. package/dist/FmMultiselectDialog-DScMA6iG.js +0 -415
  112. package/dist/IngredientBindedItem.vue_vue_type_script_setup_true_lang-t4pim_k9.js +0 -51
  113. package/dist/IngredientsView-BfW-jZLM.js +0 -1666
  114. package/dist/ReceiveRequestView-vbANEzne.js +0 -4165
  115. package/dist/RecipeView-DW4DY0C0.js +0 -598
  116. package/dist/TableActionableRow.vue_vue_type_script_setup_true_lang-DlNJ6kRg.js +0 -135
  117. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-B2LOvVef.js +0 -1229
  118. package/dist/TransferTemplateView-BKumN_p6.js +0 -1262
  119. package/dist/UnitView-CHLucv9s.js +0 -648
  120. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  121. package/dist/app-BXjk74IB.js +0 -33538
  122. package/dist/date2-CWAt9bRf.js +0 -117
  123. package/dist/dayjs.min-D3jPOnu6.js +0 -282
  124. package/dist/defineDeepModel-CiD4GtOw.js +0 -13
  125. package/dist/feature-6tcLMotY.js +0 -92
  126. package/dist/form-mode.enum-BKiNVH6A.js +0 -4
  127. package/dist/format-time-from-id-CYU5Z9Mt.js +0 -15
  128. package/dist/format-unit-display-CY-0bznr.js +0 -1217
  129. package/dist/fuzzy-BMkhNYLR.js +0 -41
  130. package/dist/index-BXwQa14X.js +0 -45
  131. package/dist/index-CRLd5xyg.js +0 -22283
  132. package/dist/index-DqwAtOgI.js +0 -12087
  133. package/dist/netsuite-fYUUk_ss.js +0 -225
  134. package/dist/row-action.enum-7rGLGZ5v.js +0 -55
  135. package/dist/rules-BmRGm3yv.js +0 -203
  136. package/dist/stock-CEX0DP2B.js +0 -111
  137. package/dist/supplier-CdJmZr7w.js +0 -77
  138. package/dist/use-template-enabled-locations-2-xbPJWHCs.js +0 -86
  139. package/dist/xlsx-CTOKp7SQ.js +0 -24004
  140. package/dist/xlsx.util-D5NFSfDg.js +0 -78
@@ -29,6 +29,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
29
29
  title: string;
30
30
  breadcrumbs: Breadcrumbs[];
31
31
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
32
+ headerInfo?(_: {}): any;
32
33
  default?(_: {}): any;
33
34
  }>;
34
35
  export default _default;
@@ -6,12 +6,14 @@ export declare enum RouteName {
6
6
  STOCK = "STOCK",
7
7
  CLOSING_TEMPLATE = "CLOSING_TEMPLATE",
8
8
  CLOSING_DRAFT = "CLOSING_DRAFT",
9
+ WASTAGE_TEMPLATE = "WASTAGE_TEMPLATE",
9
10
  WAREHOUSE = "WAREHOUSE",
10
11
  RECEIVE_REQUEST = "RECEIVE_REQUEST",
11
12
  TRANSFER_TEMPLATE = "TRANSFER_TEMPLATE",
12
13
  RECEIVE_REQUEST_PRINT_PREVIEW = "RECEIVE_REQUEST_PRINT_PREVIEW",
13
14
  APPROVAL = "APPROVAL",
14
15
  SUPPLIER = "SUPPLIER",
16
+ PUBLISH = "PUBLISH",
15
17
  INTEGRATION = "INTEGRATION",
16
18
  DEV = "DEV",
17
19
  IFRAME_INVENTORY_BINDINGS_TABLE = "IFRAME_INVENTORY_BINDINGS_TABLE",
@@ -0,0 +1,125 @@
1
+ import { X as m, u as k, a as d, ak as B, L as p } from "./app-DntcWR3_.js";
2
+ import { useCoreStore as v } from "@feedmepos/mf-common";
3
+ import { useSnackbar as y } from "@feedmepos/ui-library";
4
+ import { ref as $, computed as S } from "vue";
5
+ const b = m((r, o) => {
6
+ const u = k(), a = v(), c = y();
7
+ return o.onError(async (t) => {
8
+ t.name === "SvcForbiddenError" && (c == null || c.open({
9
+ title: t.title,
10
+ message: t.message,
11
+ type: "error"
12
+ }));
13
+ }), {
14
+ async readStockBalance() {
15
+ const t = u.currentLocationDBName, e = `${r.inventoryBackendUrl}/${t}/stock-balance`;
16
+ return await o.get(e);
17
+ },
18
+ async readSkuBalance() {
19
+ var s;
20
+ const t = u.currentLocationDBName, e = `${r.inventoryBackendUrl}/${t}/sku/balance`;
21
+ return (((s = a.currentBusiness.value) == null ? void 0 : s.menuVersion) ?? "") === "v3" ? await o.get(e) : await o.get(`${e}?useInventoryDoc=true`);
22
+ },
23
+ async readSingleAdjustment(t) {
24
+ const e = u.currentLocationDBName, n = `${r.inventoryBackendUrl}/${e}/adjustment`;
25
+ return await o.get(`${n}?adjustmentId=${t}`);
26
+ },
27
+ async readStockAdjustment(t, e, n) {
28
+ const s = u.currentLocationDBName, i = `${r.inventoryBackendUrl}/${s}/sku`;
29
+ return await o.get(`${i}?skuId=${t}&start=${e}&end=${n}`);
30
+ },
31
+ async convertSku(t) {
32
+ var i;
33
+ const e = u.currentLocationDBName, n = `${r.inventoryBackendUrl}/${e}/sku/convert`;
34
+ return (((i = a.currentBusiness.value) == null ? void 0 : i.menuVersion) ?? "") === "v3" ? await o.post(n, t) : await o.post(`${n}?useInventoryDoc=true`, t);
35
+ },
36
+ async adjustSku(t) {
37
+ var i;
38
+ const e = u.currentLocationDBName, n = `${r.inventoryBackendUrl}/${e}/sku/adjust`;
39
+ return (((i = a.currentBusiness.value) == null ? void 0 : i.menuVersion) ?? "") === "v3" ? await o.post(n, t) : await o.post(`${n}?useInventoryDoc=true`, t);
40
+ },
41
+ recalculation: {
42
+ getRecalculateAbility() {
43
+ var s;
44
+ const e = `business_${(s = a.currentBusiness.value) == null ? void 0 : s._id}`, n = `${r.inventoryBackendUrl}/${e}/stock/operations/recalculate`;
45
+ return o.get(n);
46
+ },
47
+ startRecalculateTask() {
48
+ var s;
49
+ const e = `business_${(s = a.currentBusiness.value) == null ? void 0 : s._id}`, n = `${r.inventoryBackendUrl}/${e}/stock/operations/recalculate?refundFromPreviousAdjustment=true`;
50
+ return o.post(n);
51
+ }
52
+ }
53
+ };
54
+ });
55
+ function g() {
56
+ return {
57
+ stockBalance: {
58
+ _id: "",
59
+ items: []
60
+ },
61
+ productBalance: []
62
+ };
63
+ }
64
+ const f = p(0), w = {
65
+ id: "",
66
+ balance: f,
67
+ closing: null,
68
+ costs: null
69
+ }, l = $(g()), A = () => {
70
+ const r = d(), o = S(() => {
71
+ var t;
72
+ const a = (t = l.value.stockBalance.skus) == null ? void 0 : t.groupBy((e) => e.id), c = (e) => {
73
+ var n;
74
+ return ((n = a == null ? void 0 : a.get(e)) == null ? void 0 : n[0]) ?? { ...w, id: e };
75
+ };
76
+ return r.skus.map((e) => c(e._id));
77
+ }), u = b();
78
+ return {
79
+ // state
80
+ get stockBalance() {
81
+ return {
82
+ ...l.value.stockBalance,
83
+ skus: o.value
84
+ };
85
+ },
86
+ set stockBalance(a) {
87
+ l.value.stockBalance = a;
88
+ },
89
+ get productBalance() {
90
+ return l.value.productBalance;
91
+ },
92
+ set productBalance(a) {
93
+ l.value.productBalance = a;
94
+ },
95
+ // actions
96
+ async readStockBalance() {
97
+ this.stockBalance = await u.readStockBalance();
98
+ },
99
+ async readProductBalance() {
100
+ this.productBalance = [];
101
+ const a = d(), c = B({
102
+ recipes: a.recipes,
103
+ skus: a.skus,
104
+ inventoryBindingMapping: {},
105
+ stockBalance: this.stockBalance
106
+ // silent: true
107
+ });
108
+ function t(e, n) {
109
+ return Object.prototype.hasOwnProperty.call(e, n);
110
+ }
111
+ for (const e in c.convertCountdown)
112
+ if (t(c.convertCountdown, e)) {
113
+ const n = c.convertCountdown[e];
114
+ this.productBalance.push({
115
+ id: e,
116
+ count: n
117
+ });
118
+ }
119
+ }
120
+ };
121
+ };
122
+ export {
123
+ b as a,
124
+ A as u
125
+ };
@@ -1,14 +1,54 @@
1
+ /** NOTE: for consistency, keep the key and value names the same with flagsmith value*/
2
+ export declare enum InventoryFeature {
3
+ inventory_portal_must_use_transfer_template = "inventory_portal_must_use_transfer_template",
4
+ inventory_portal_use_iframe = "inventory_portal_use_iframe",
5
+ inventory_pos_adjust_v1 = "inventory_pos_adjust_v1",
6
+ inventory_pos_adjust_v2_wastage = "inventory_pos_adjust_v2_wastage",
7
+ inventory_pos_closing_recalculation = "inventory_pos_closing_recalculation",
8
+ inventory_pos_closing_v1 = "inventory_pos_closing_v1",
9
+ inventory_pos_closing_v2 = "inventory_pos_closing_v2",
10
+ inventory_pos_convert_v1 = "inventory_pos_convert_v1",
11
+ inventory_pos_costing = "inventory_pos_costing",
12
+ inventory_pos_stock_return = "inventory_pos_stock_return",
13
+ inventory_pos_transfer_require_fulfillment = "inventory_pos_transfer_require_fulfillment",
14
+ inventory_purchase_order_approval = "inventory_purchase_order_approval"
15
+ }
16
+ export interface FeatureState {
17
+ enableTotalCost: boolean;
18
+ enableBackdatePo: boolean;
19
+ /** @deprecated TODO: remove */
20
+ autoReceiveWarehouse: boolean;
21
+ /** @deprecated TODO: remove */
22
+ manualReceive: boolean;
23
+ enablePoTemplate: boolean;
24
+ enableClosingTemplate: boolean;
25
+ enableWastageTemplate: boolean;
26
+ enableIngredientGroup: boolean;
27
+ mustUsePoTemplate: boolean;
28
+ /** @deprecated TODO: remove */
29
+ mustUseDefaultCost: boolean;
30
+ enableSupplierMasterList: boolean;
31
+ businessSupplierOnly: boolean;
32
+ }
1
33
  export declare const useFeatureStore: () => {
2
34
  readonly businessDbName: string;
3
35
  readonly isWarehouse: boolean;
4
36
  readonly restaurantPosVersion: string | null | undefined;
5
37
  readonly enableTotalCost: boolean;
6
38
  readonly enableBackdatePo: boolean;
39
+ /** @deprecated TODO: remove */
7
40
  readonly autoReceiveWarehouse: boolean;
41
+ /** @deprecated TODO: remove */
8
42
  readonly manualReceive: boolean;
9
43
  readonly enablePoTemplate: boolean;
10
- readonly enableSupplierMasterList: boolean;
44
+ readonly enableClosingTemplate: boolean;
45
+ readonly enableWastageTemplate: boolean;
46
+ readonly enableIngredientGroup: boolean;
11
47
  readonly mustUsePoTemplate: boolean;
48
+ /** @deprecated TODO: remove */
12
49
  readonly mustUseDefaultCost: boolean;
50
+ readonly enableSupplierMasterList: boolean;
13
51
  readonly businessSupplierOnly: boolean;
52
+ init(): Promise<void>;
53
+ setUser(location: FdoInventoryLocation): Promise<void>;
14
54
  };
@@ -31,7 +31,7 @@ export declare function useNetSuiteStore(): {
31
31
  }[];
32
32
  syncedAt?: string | null | undefined;
33
33
  restlet?: {
34
- type: "createItemReceipt";
34
+ type: "createItemReceipt" | "retrieveRecordInfo";
35
35
  scriptId: string;
36
36
  deploymentId: string;
37
37
  }[] | null | undefined;
@@ -168,7 +168,8 @@ export declare function useNetSuiteStore(): {
168
168
  getAvailableMeasurements(skuId: string, subsidiaryId?: string | null): string[];
169
169
  readSetting(): Promise<void>;
170
170
  getVendorSubsidiaryName(supplierId: string): string;
171
- syncTransferOrder(type: string, id: string): Promise<void>;
171
+ syncTransferOrder(type: string, poId: string, porId?: string): Promise<void>;
172
+ getItemPKTCode(sku: FdoInventorySku, measurementId?: string | null): string | null;
172
173
  };
173
174
  export type FdoNetSuiteSubsidiaryWithChildren = FdoNetSuiteSubsidiary & {
174
175
  fullName?: string;
@@ -88,11 +88,12 @@ export declare function useInventoryStore(): {
88
88
  precision: number;
89
89
  };
90
90
  } | null | undefined;
91
+ operationalGroup?: string | null | undefined;
91
92
  thresholds?: {
92
93
  low: number;
93
94
  mid: number;
94
95
  } | null | undefined;
95
- operationalGroup?: string | null | undefined;
96
+ customAttributes?: Record<string, any> | null | undefined;
96
97
  unit: {
97
98
  _id: string;
98
99
  name: string;
@@ -113,6 +114,7 @@ export declare function useInventoryStore(): {
113
114
  name: string;
114
115
  }[] | null | undefined;
115
116
  recipe?: {
117
+ customAttributes?: Record<string, any> | null | undefined;
116
118
  _id: string;
117
119
  name: string;
118
120
  contains: {
@@ -191,11 +193,12 @@ export declare function useInventoryStore(): {
191
193
  precision: number;
192
194
  };
193
195
  } | null | undefined;
196
+ operationalGroup?: string | null | undefined;
194
197
  thresholds?: {
195
198
  low: number;
196
199
  mid: number;
197
200
  } | null | undefined;
198
- operationalGroup?: string | null | undefined;
201
+ customAttributes?: Record<string, any> | null | undefined;
199
202
  code: string;
200
203
  _id: string;
201
204
  name: string;
@@ -861,11 +864,12 @@ export declare function useInventoryStore(): {
861
864
  precision: number;
862
865
  };
863
866
  } | null | undefined;
867
+ operationalGroup?: string | null | undefined;
864
868
  thresholds?: {
865
869
  low: number;
866
870
  mid: number;
867
871
  } | null | undefined;
868
- operationalGroup?: string | null | undefined;
872
+ customAttributes?: Record<string, any> | null | undefined;
869
873
  unit: {
870
874
  _id: string;
871
875
  name: string;
@@ -886,6 +890,7 @@ export declare function useInventoryStore(): {
886
890
  name: string;
887
891
  }[] | null | undefined;
888
892
  recipe?: {
893
+ customAttributes?: Record<string, any> | null | undefined;
889
894
  _id: string;
890
895
  name: string;
891
896
  contains: {
@@ -964,11 +969,12 @@ export declare function useInventoryStore(): {
964
969
  precision: number;
965
970
  };
966
971
  } | null | undefined;
972
+ operationalGroup?: string | null | undefined;
967
973
  thresholds?: {
968
974
  low: number;
969
975
  mid: number;
970
976
  } | null | undefined;
971
- operationalGroup?: string | null | undefined;
977
+ customAttributes?: Record<string, any> | null | undefined;
972
978
  code: string;
973
979
  _id: string;
974
980
  name: string;
@@ -2035,6 +2041,7 @@ export declare function useInventoryStore(): {
2035
2041
  }[];
2036
2042
  }>;
2037
2043
  readonly recipes: {
2044
+ customAttributes?: Record<string, any> | null | undefined;
2038
2045
  _id: string;
2039
2046
  name: string;
2040
2047
  contains: {
@@ -2056,6 +2063,7 @@ export declare function useInventoryStore(): {
2056
2063
  }[];
2057
2064
  }[];
2058
2065
  readonly recipeById: Record<string, {
2066
+ customAttributes?: Record<string, any> | null | undefined;
2059
2067
  _id: string;
2060
2068
  name: string;
2061
2069
  contains: {
@@ -2115,11 +2123,12 @@ export declare function useInventoryStore(): {
2115
2123
  precision: number;
2116
2124
  };
2117
2125
  } | null | undefined;
2126
+ operationalGroup?: string | null | undefined;
2118
2127
  thresholds?: {
2119
2128
  low: number;
2120
2129
  mid: number;
2121
2130
  } | null | undefined;
2122
- operationalGroup?: string | null | undefined;
2131
+ customAttributes?: Record<string, any> | null | undefined;
2123
2132
  unit: {
2124
2133
  _id: string;
2125
2134
  name: string;
@@ -2178,11 +2187,12 @@ export declare function useInventoryStore(): {
2178
2187
  precision: number;
2179
2188
  };
2180
2189
  } | null | undefined;
2190
+ operationalGroup?: string | null | undefined;
2181
2191
  thresholds?: {
2182
2192
  low: number;
2183
2193
  mid: number;
2184
2194
  } | null | undefined;
2185
- operationalGroup?: string | null | undefined;
2195
+ customAttributes?: Record<string, any> | null | undefined;
2186
2196
  unit: {
2187
2197
  _id: string;
2188
2198
  name: string;
@@ -2241,11 +2251,12 @@ export declare function useInventoryStore(): {
2241
2251
  precision: number;
2242
2252
  };
2243
2253
  } | null | undefined;
2254
+ operationalGroup?: string | null | undefined;
2244
2255
  thresholds?: {
2245
2256
  low: number;
2246
2257
  mid: number;
2247
2258
  } | null | undefined;
2248
- operationalGroup?: string | null | undefined;
2259
+ customAttributes?: Record<string, any> | null | undefined;
2249
2260
  unit: {
2250
2261
  _id: string;
2251
2262
  name: string;
@@ -2323,11 +2334,12 @@ export declare function useInventoryStore(): {
2323
2334
  precision: number;
2324
2335
  };
2325
2336
  } | null | undefined;
2337
+ operationalGroup?: string | null | undefined;
2326
2338
  thresholds?: {
2327
2339
  low: number;
2328
2340
  mid: number;
2329
2341
  } | null | undefined;
2330
- operationalGroup?: string | null | undefined;
2342
+ customAttributes?: Record<string, any> | null | undefined;
2331
2343
  code: string;
2332
2344
  _id: string;
2333
2345
  name: string;
@@ -8,6 +8,10 @@ export declare const InventoryLocationType: {
8
8
  export type InventoryLocation = FdoInventoryLocation;
9
9
  export declare function useLocationStore(): {
10
10
  _currentLocation: {
11
+ inventory?: {
12
+ _id: string;
13
+ updatedAt: string;
14
+ } | null | undefined;
11
15
  type: "restaurant" | "warehouse";
12
16
  name: string;
13
17
  acceptRequest: boolean;
@@ -95,6 +99,10 @@ export declare function useLocationStore(): {
95
99
  };
96
100
  } | null;
97
101
  _locations: {
102
+ inventory?: {
103
+ _id: string;
104
+ updatedAt: string;
105
+ } | null | undefined;
98
106
  type: "restaurant" | "warehouse";
99
107
  name: string;
100
108
  acceptRequest: boolean;
@@ -183,6 +191,10 @@ export declare function useLocationStore(): {
183
191
  }[] | null;
184
192
  readonly state: {
185
193
  _currentLocation: {
194
+ inventory?: {
195
+ _id: string;
196
+ updatedAt: string;
197
+ } | null | undefined;
186
198
  type: "restaurant" | "warehouse";
187
199
  name: string;
188
200
  acceptRequest: boolean;
@@ -270,6 +282,10 @@ export declare function useLocationStore(): {
270
282
  };
271
283
  } | null;
272
284
  _locations: {
285
+ inventory?: {
286
+ _id: string;
287
+ updatedAt: string;
288
+ } | null | undefined;
273
289
  type: "restaurant" | "warehouse";
274
290
  name: string;
275
291
  acceptRequest: boolean;
@@ -358,6 +374,10 @@ export declare function useLocationStore(): {
358
374
  }[] | null;
359
375
  };
360
376
  readonly currentLocation: {
377
+ inventory?: {
378
+ _id: string;
379
+ updatedAt: string;
380
+ } | null | undefined;
361
381
  type: "restaurant" | "warehouse";
362
382
  name: string;
363
383
  acceptRequest: boolean;
@@ -448,6 +468,10 @@ export declare function useLocationStore(): {
448
468
  readonly currentLocationDBName: string;
449
469
  readonly currentLocationId: any;
450
470
  readonly locations: {
471
+ inventory?: {
472
+ _id: string;
473
+ updatedAt: string;
474
+ } | null | undefined;
451
475
  type: "restaurant" | "warehouse";
452
476
  name: string;
453
477
  acceptRequest: boolean;
@@ -536,6 +560,10 @@ export declare function useLocationStore(): {
536
560
  }[];
537
561
  readonly locationByDbName: {
538
562
  [key: string]: {
563
+ inventory?: {
564
+ _id: string;
565
+ updatedAt: string;
566
+ } | null | undefined;
539
567
  type: "restaurant" | "warehouse";
540
568
  name: string;
541
569
  acceptRequest: boolean;
@@ -624,7 +652,7 @@ export declare function useLocationStore(): {
624
652
  };
625
653
  };
626
654
  businessLevel: boolean;
627
- watchLocation(callback: (location?: InventoryLocation | null) => Promise<void>): void;
655
+ watchLocation(callback: (location?: InventoryLocation | null) => Promise<void>, persistentKey?: string): void;
628
656
  readLocations(): Promise<void>;
629
657
  setLocations(resp: InventoryLocation[]): void;
630
658
  selectLocation(location?: InventoryLocation, skipStorage?: boolean): void;
@@ -902,4 +902,4 @@ export declare const useSupplierStore: import("pinia").StoreDefinition<"supplier
902
902
  registrationNumber: string;
903
903
  };
904
904
  }>;
905
- }, "readSuppliers" | "createSupplier" | "updateSupplier" | "deleteSupplier" | "importSuppliers" | "init">>;
905
+ }, "init" | "readSuppliers" | "createSupplier" | "updateSupplier" | "deleteSupplier" | "importSuppliers">>;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .fm-forecast-notification-low{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-forecast-notification-mid{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-high{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-forecast-notification-indicator{display:inline-block;height:12px;width:12px;border-radius:9999px}.fm-forecast-notification-indicator-low{background-color:var(--fm-color-system-red-400)}.fm-forecast-notification-indicator-mid{background-color:var(--fm-color-system-orange-400)}.fm-forecast-notification-indicator-high{background-color:var(--fm-color-system-green-400)}.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-active[data-v-fa6c2f94],.fade-leave-active[data-v-fa6c2f94]{transition:opacity .25s ease}.fade-enter[data-v-fa6c2f94],.fade-leave-to[data-v-fa6c2f94]{opacity:0}.fm-droppable-field[data-v-e121b2c1]{display:flex;flex-direction:column;gap:4px}.fm-droppable-field__container[data-v-e121b2c1]{position:relative;background-color:var(--fm-color-neutral-white);padding:12px;border-radius:8px;border-width:2px;border-style:dashed;border-color:var(--fm-color-neutral-gray-300);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.fm-droppable-field__container--disabled[data-v-e121b2c1]{cursor:not-allowed;color:var(--fm-color-neutral-gray-200);border-color:var(--fm-color-neutral-gray-200)}.fm-droppable-field__container--dragging[data-v-e121b2c1]{border-color:var(--fm-color-primary)}.fm-droppable-field__container--invalid[data-v-e121b2c1]{border-color:var(--fm-color-system-red-300)}.fm-droppable-field__container[data-v-e121b2c1]:hover:not(.fm-droppable-field__container--disabled){border-color:var(--fm-color-neutral-gray-400)}.fm-droppable-field__input[data-v-e121b2c1]{cursor:pointer;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%}.fm-droppable-field__input[data-v-e121b2c1]:disabled{display:none;cursor:not-allowed}.map-button[data-v-272f5e8b]{border-top-width:1px;border-top-color:var(--fm-color-neutral-gray-200);color:var(--fm-color-neutral-gray-400);padding:.2rem 1rem;border-radius:8px}table[data-v-92a03d5c]{width:100%;border-spacing:unset;line-height:inherit}table td[data-v-92a03d5c],table th[data-v-92a03d5c]{padding:3px 5px;vertical-align:top}hr[data-v-92a03d5c]{border-collapse:unset;background:#888;height:2px;border:0px}.text-left[data-v-92a03d5c]{text-align:left}.text-right[data-v-92a03d5c]{text-align:right}.purchase-box[data-v-92a03d5c]{max-width:800px;margin:auto;padding:30px;border:1px solid #eee;box-shadow:0 0 10px #00000026;font-size:16px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Helvetica,Arial,sans-serif;color:#555}.title[data-v-92a03d5c]{padding-bottom:0;font-size:30px;color:#333}.header[data-v-92a03d5c]{font-weight:600;color:#333}.sub-header[data-v-92a03d5c]{font-size:18px;color:#333}.caption[data-v-92a03d5c]{font-size:14px;color:#666}.address[data-v-92a03d5c]{font-size:16px;line-height:1.2;color:#666}.purchase-body[data-v-92a03d5c]{margin-top:30px}.item-header[data-v-92a03d5c]{border:0px;background:#ccc;color:#444}.v-enter-active[data-v-070831e1],.v-leave-active[data-v-070831e1]{transition:opacity .1s ease}.v-enter-from[data-v-070831e1],.v-leave-to[data-v-070831e1]{opacity:0}.fm-status-badge{font-size:.875rem;font-weight:600;line-height:1.125rem;letter-spacing:.0125em;text-decoration-line:none;border-radius:8px;display:flex;align-items:center;padding-left:8px;padding-right:8px;height:22px}.fm-status-badge-draft{background-color:var(--fm-color-neutral-gray-100);color:var(--fm-color-neutral-gray-500)}.fm-status-badge-receiving{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-cancel{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-status-badge-complete{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-status-badge-processing,.fm-status-badge-requesting{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-status-badge-transfer-info,.fm-status-badge-info-secondary{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-success-secondary{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}
1
+ .fm-droppable-field[data-v-e121b2c1]{display:flex;flex-direction:column;gap:4px}.fm-droppable-field__container[data-v-e121b2c1]{position:relative;background-color:var(--fm-color-neutral-white);padding:12px;border-radius:8px;border-width:2px;border-style:dashed;border-color:var(--fm-color-neutral-gray-300);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.fm-droppable-field__container--disabled[data-v-e121b2c1]{cursor:not-allowed;color:var(--fm-color-neutral-gray-200);border-color:var(--fm-color-neutral-gray-200)}.fm-droppable-field__container--dragging[data-v-e121b2c1]{border-color:var(--fm-color-primary)}.fm-droppable-field__container--invalid[data-v-e121b2c1]{border-color:var(--fm-color-system-red-300)}.fm-droppable-field__container[data-v-e121b2c1]:hover:not(.fm-droppable-field__container--disabled){border-color:var(--fm-color-neutral-gray-400)}.fm-droppable-field__input[data-v-e121b2c1]{cursor:pointer;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%}.fm-droppable-field__input[data-v-e121b2c1]:disabled{display:none;cursor:not-allowed}.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-active[data-v-0b70e452],.fade-leave-active[data-v-0b70e452]{transition:opacity .25s ease}.fade-enter[data-v-0b70e452],.fade-leave-to[data-v-0b70e452]{opacity:0}.fm-forecast-notification-low{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-forecast-notification-mid{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-forecast-notification-high{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-forecast-notification-indicator{display:inline-block;height:12px;width:12px;border-radius:9999px}.fm-forecast-notification-indicator-low{background-color:var(--fm-color-system-red-400)}.fm-forecast-notification-indicator-mid{background-color:var(--fm-color-system-orange-400)}.fm-forecast-notification-indicator-high{background-color:var(--fm-color-system-green-400)}.map-button[data-v-272f5e8b]{border-top-width:1px;border-top-color:var(--fm-color-neutral-gray-200);color:var(--fm-color-neutral-gray-400);padding:.2rem 1rem;border-radius:8px}table[data-v-92a03d5c]{width:100%;border-spacing:unset;line-height:inherit}table td[data-v-92a03d5c],table th[data-v-92a03d5c]{padding:3px 5px;vertical-align:top}hr[data-v-92a03d5c]{border-collapse:unset;background:#888;height:2px;border:0px}.text-left[data-v-92a03d5c]{text-align:left}.text-right[data-v-92a03d5c]{text-align:right}.purchase-box[data-v-92a03d5c]{max-width:800px;margin:auto;padding:30px;border:1px solid #eee;box-shadow:0 0 10px #00000026;font-size:16px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Helvetica,Arial,sans-serif;color:#555}.title[data-v-92a03d5c]{padding-bottom:0;font-size:30px;color:#333}.header[data-v-92a03d5c]{font-weight:600;color:#333}.sub-header[data-v-92a03d5c]{font-size:18px;color:#333}.caption[data-v-92a03d5c]{font-size:14px;color:#666}.address[data-v-92a03d5c]{font-size:16px;line-height:1.2;color:#666}.purchase-body[data-v-92a03d5c]{margin-top:30px}.item-header[data-v-92a03d5c]{border:0px;background:#ccc;color:#444}.fm-status-badge{font-size:.875rem;font-weight:600;line-height:1.125rem;letter-spacing:.0125em;text-decoration-line:none;border-radius:8px;display:flex;align-items:center;padding-left:8px;padding-right:8px;height:22px}.fm-status-badge-draft{background-color:var(--fm-color-neutral-gray-100);color:var(--fm-color-neutral-gray-500)}.fm-status-badge-receiving{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-cancel{background-color:var(--fm-color-system-red-100);color:var(--fm-color-system-red-400)}.fm-status-badge-complete{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}.fm-status-badge-processing,.fm-status-badge-requesting{background-color:var(--fm-color-system-orange-100);color:var(--fm-color-system-orange-400)}.fm-status-badge-transfer-info,.fm-status-badge-info-secondary{background-color:var(--fm-color-system-blue-100);color:var(--fm-color-system-blue-400)}.fm-status-badge-success-secondary{background-color:var(--fm-color-system-green-100);color:var(--fm-color-system-green-400)}
@@ -0,0 +1,77 @@
1
+ import { X as m, u, v as y, al as b, am as v } from "./app-DntcWR3_.js";
2
+ import { useCoreStore as c } from "@feedmepos/mf-common";
3
+ import { defineStore as w } from "pinia";
4
+ import { ref as l, computed as d } from "vue";
5
+ const i = m((t, p) => {
6
+ function a() {
7
+ var o;
8
+ const s = c(), e = u(), r = e.businessLevel, n = `business_${((o = s.currentBusiness.value) == null ? void 0 : o._id) ?? ""}`, S = e.currentLocation.dbName;
9
+ return r ? n : S;
10
+ }
11
+ return {
12
+ async readSuppliers() {
13
+ const s = a(), e = `${t.inventoryBackendUrl}/${s}/supplier`;
14
+ return await p.get(e);
15
+ },
16
+ async readLocationSuppliers() {
17
+ const e = u().currentLocation.dbName, r = `${t.inventoryBackendUrl}/${e}/supplier`;
18
+ return await p.get(r);
19
+ },
20
+ async readBusinessSuppliers() {
21
+ var n;
22
+ const e = `business_${((n = c().currentBusiness.value) == null ? void 0 : n._id) ?? ""}`, r = `${t.inventoryBackendUrl}/${e}/supplier`;
23
+ return await p.get(r);
24
+ },
25
+ async createSupplier(s) {
26
+ const e = a(), r = `${t.inventoryBackendUrl}/${e}/supplier`;
27
+ return await p.post(r, s);
28
+ },
29
+ async importSuppliers(s) {
30
+ const e = a(), r = `${t.inventoryBackendUrl}/${e}/supplier/import`;
31
+ return await p.post(r, s);
32
+ },
33
+ async updateSupplier(s) {
34
+ const e = a(), r = `${t.inventoryBackendUrl}/${e}/supplier`;
35
+ return await p.put(r, s);
36
+ },
37
+ async deleteSupplier(s) {
38
+ const e = a(), r = `${t.inventoryBackendUrl}/${e}/supplier`;
39
+ return await p.delete(r, s);
40
+ }
41
+ };
42
+ }), f = w("supplier", () => {
43
+ const t = l(new Array()), p = l(new Array()), a = d(() => [...t.value, ...p.value]), s = d(() => y(a.value, "_id"));
44
+ return {
45
+ async readSuppliers() {
46
+ const e = i();
47
+ t.value = await e.readLocationSuppliers(), p.value = await e.readBusinessSuppliers();
48
+ },
49
+ async createSupplier(e) {
50
+ await i().createSupplier(e);
51
+ },
52
+ async updateSupplier(e) {
53
+ await i().updateSupplier(e);
54
+ },
55
+ async deleteSupplier(e) {
56
+ await i().deleteSupplier(e);
57
+ },
58
+ async importSuppliers(e) {
59
+ await i().importSuppliers(e);
60
+ },
61
+ async init() {
62
+ const e = b();
63
+ try {
64
+ await this.readSuppliers();
65
+ } catch (r) {
66
+ throw r instanceof v || e.error("Error at reading suppliers"), r;
67
+ }
68
+ },
69
+ suppliers: a,
70
+ locationSuppliers: t,
71
+ businessSuppliers: p,
72
+ supplierById: s
73
+ };
74
+ });
75
+ export {
76
+ f as u
77
+ };