@orderingstack/front-components-product-configurator 1.4.2-beta.9 → 1.5.1-beta.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/components/MenuOptions/useMenuOptions.d.ts.map +1 -1
- package/dist/components/MenuProduct/useMenuProduct.d.ts +2 -2
- package/dist/components/MenuProduct/useMenuProduct.d.ts.map +1 -1
- package/dist/components/MenuProductRoot/MenuProductRoot.d.ts.map +1 -1
- package/dist/components/ProductConfigurator/ProductConfigurator.d.ts.map +1 -1
- package/dist/components/ProductConfigurator/useProductConfigurator.d.ts +1 -1
- package/dist/components/ProductConfigurator/useProductConfigurator.d.ts.map +1 -1
- package/dist/context/GroupsValidation.d.ts +15 -0
- package/dist/context/GroupsValidation.d.ts.map +1 -0
- package/dist/hooks/useEmitFilter.d.ts.map +1 -1
- package/dist/index.cjs.js +6 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +356 -207
- package/dist/index.es.js.map +1 -1
- package/dist/state/validate.d.ts.map +1 -1
- package/dist/utils/filter.d.ts +1 -1
- package/dist/utils/filter.d.ts.map +1 -1
- package/dist/utils/groupsValidation.d.ts +4 -0
- package/dist/utils/groupsValidation.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/setSelected.d.ts +2 -0
- package/dist/utils/setSelected.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/index.es.js
CHANGED
|
@@ -6275,6 +6275,160 @@ const cleanSelected = (selected) => {
|
|
|
6275
6275
|
const decodeSelected = (selected) => {
|
|
6276
6276
|
return decodeValue("selected", selected);
|
|
6277
6277
|
};
|
|
6278
|
+
var EPaymentStatus;
|
|
6279
|
+
(function(EPaymentStatus2) {
|
|
6280
|
+
EPaymentStatus2["UNINITIALIZED"] = "UNINITIALIZED";
|
|
6281
|
+
EPaymentStatus2["PROCESSING"] = "PROCESSING";
|
|
6282
|
+
EPaymentStatus2["PAID"] = "PAID";
|
|
6283
|
+
EPaymentStatus2["FAILED"] = "FAILED";
|
|
6284
|
+
EPaymentStatus2["PRINTING_RECEIPT"] = "PRINTING_RECEIPT";
|
|
6285
|
+
EPaymentStatus2["PRINTING_RECEIPT_SUCCESS"] = "PRINTING_RECEIPT_SUCCESS";
|
|
6286
|
+
EPaymentStatus2["SENDING_RECEIPT"] = "SENDING_RECEIPT";
|
|
6287
|
+
EPaymentStatus2["SENDING_RECEIPT_SUCCESS"] = "SENDING_RECEIPT_SUCCESS";
|
|
6288
|
+
EPaymentStatus2["ERROR"] = "ERROR";
|
|
6289
|
+
})(EPaymentStatus || (EPaymentStatus = {}));
|
|
6290
|
+
var ECouponViewType;
|
|
6291
|
+
(function(ECouponViewType2) {
|
|
6292
|
+
ECouponViewType2["CAROUSEL"] = "carousel";
|
|
6293
|
+
ECouponViewType2["NORMAL"] = "normal";
|
|
6294
|
+
ECouponViewType2["IMAGE"] = "image";
|
|
6295
|
+
})(ECouponViewType || (ECouponViewType = {}));
|
|
6296
|
+
var EProductKind;
|
|
6297
|
+
(function(EProductKind2) {
|
|
6298
|
+
EProductKind2["GROUP"] = "3e/group";
|
|
6299
|
+
EProductKind2["PRODUCT"] = "3e/product";
|
|
6300
|
+
EProductKind2["CATEGORY"] = "3e/group/category";
|
|
6301
|
+
EProductKind2["OPTIONS"] = "3e/group/options";
|
|
6302
|
+
EProductKind2["CONFIG"] = "3e/group/config";
|
|
6303
|
+
EProductKind2["STATIC"] = "3e/static";
|
|
6304
|
+
EProductKind2["REF"] = "3e/ref";
|
|
6305
|
+
EProductKind2["QUERY"] = "3e/query";
|
|
6306
|
+
EProductKind2["CMS"] = "3e/cms";
|
|
6307
|
+
})(EProductKind || (EProductKind = {}));
|
|
6308
|
+
var EProductKindBucket;
|
|
6309
|
+
(function(EProductKindBucket2) {
|
|
6310
|
+
EProductKindBucket2["GROUP"] = "group";
|
|
6311
|
+
EProductKindBucket2["PRODUCT"] = "product";
|
|
6312
|
+
})(EProductKindBucket || (EProductKindBucket = {}));
|
|
6313
|
+
var EOrderUserRole;
|
|
6314
|
+
(function(EOrderUserRole2) {
|
|
6315
|
+
EOrderUserRole2["CREATOR"] = "CREATOR";
|
|
6316
|
+
EOrderUserRole2["CUSTOMER"] = "CUSTOMER";
|
|
6317
|
+
EOrderUserRole2["COUPONS"] = "COUPON";
|
|
6318
|
+
EOrderUserRole2["KIOSK"] = "KIOSK";
|
|
6319
|
+
EOrderUserRole2["WAITER"] = "WAITER";
|
|
6320
|
+
EOrderUserRole2["MANAGER"] = "MANAGER";
|
|
6321
|
+
EOrderUserRole2["VIEWER"] = "VIEWER";
|
|
6322
|
+
EOrderUserRole2["DRIVER"] = "DRIVER";
|
|
6323
|
+
EOrderUserRole2["STAFF"] = "STAFF";
|
|
6324
|
+
})(EOrderUserRole || (EOrderUserRole = {}));
|
|
6325
|
+
var EOrderType;
|
|
6326
|
+
(function(EOrderType2) {
|
|
6327
|
+
EOrderType2["TAKE_AWAY"] = "TAKE_AWAY";
|
|
6328
|
+
EOrderType2["DELIVERY"] = "DELIVERY";
|
|
6329
|
+
EOrderType2["DINE_IN"] = "DINE_IN";
|
|
6330
|
+
EOrderType2["DINE_IN_OPEN"] = "DINE_IN_OPEN";
|
|
6331
|
+
EOrderType2["GLOVO_DELIVERY"] = "GLOVO_DELIVERY";
|
|
6332
|
+
EOrderType2["GLOVO_TAKE_AWAY"] = "GLOVO_TAKE_AWAY";
|
|
6333
|
+
EOrderType2["JUSTEAT_DELIVERY"] = "JUSTEAT_DELIVERY";
|
|
6334
|
+
EOrderType2["JUSTEAT_TAKE_AWAY"] = "JUSTEAT_TAKE_AWAY";
|
|
6335
|
+
EOrderType2["UBER_DELIVERY"] = "UBER_DELIVERY";
|
|
6336
|
+
EOrderType2["UBER_TAKE_AWAY"] = "UBER_TAKE_AWAY";
|
|
6337
|
+
EOrderType2["UBER_DINE_IN"] = "UBER_DINE_IN";
|
|
6338
|
+
EOrderType2["WOLT_DELIVERY"] = "WOLT_DELIVERY";
|
|
6339
|
+
EOrderType2["WOLT_TAKE_AWAY"] = "WOLT_TAKE_AWAY";
|
|
6340
|
+
EOrderType2["WOLT_DINE_IN"] = "WOLT_DINE_IN";
|
|
6341
|
+
EOrderType2["BOLT_DELIVERY"] = "BOLT_DELIVERY";
|
|
6342
|
+
EOrderType2["BOLT_TAKE_AWAY"] = "BOLT_TAKE_AWAY";
|
|
6343
|
+
EOrderType2["BOLT_DINE_IN"] = "BOLT_DINE_IN";
|
|
6344
|
+
EOrderType2["TAZZ_DELIVERY"] = "TAZZ_DELIVERY";
|
|
6345
|
+
EOrderType2["TAZZ_TAKE_AWAY"] = "TAZZ_TAKE_AWAY";
|
|
6346
|
+
EOrderType2["UPMENU_DELIVERY"] = "UPMENU_DELIVERY";
|
|
6347
|
+
EOrderType2["UPMENU_TAKE_AWAY"] = "UPMENU_TAKE_AWAY";
|
|
6348
|
+
EOrderType2["UPMENU_DINE_IN"] = "UPMENU_DINE_IN";
|
|
6349
|
+
})(EOrderType || (EOrderType = {}));
|
|
6350
|
+
var EOrderSource;
|
|
6351
|
+
(function(EOrderSource2) {
|
|
6352
|
+
EOrderSource2["KIOSK"] = "KIOSK";
|
|
6353
|
+
EOrderSource2["WEB"] = "WEB";
|
|
6354
|
+
EOrderSource2["JUST_EAT_TAKE_AWAY"] = "JUSTEATTAKEAWAY";
|
|
6355
|
+
EOrderSource2["GLOVO"] = "GLOVO";
|
|
6356
|
+
EOrderSource2["PYSZNE"] = "PYSZNE";
|
|
6357
|
+
EOrderSource2["WOLT"] = "WOLT";
|
|
6358
|
+
EOrderSource2["UBER"] = "UBER";
|
|
6359
|
+
EOrderSource2["BOLT"] = "BOLT";
|
|
6360
|
+
EOrderSource2["TAZZ"] = "TAZZ";
|
|
6361
|
+
EOrderSource2["POS"] = "POS";
|
|
6362
|
+
EOrderSource2["UPMENU"] = "UPMENU";
|
|
6363
|
+
})(EOrderSource || (EOrderSource = {}));
|
|
6364
|
+
var EChannelName;
|
|
6365
|
+
(function(EChannelName2) {
|
|
6366
|
+
EChannelName2["DINE_IN"] = "DINE_IN";
|
|
6367
|
+
EChannelName2["TAKE_AWAY"] = "TAKE_AWAY";
|
|
6368
|
+
EChannelName2["DELIVERY"] = "DELIVERY";
|
|
6369
|
+
EChannelName2["GLOVO"] = "GLOVO";
|
|
6370
|
+
EChannelName2["JUSTEAT"] = "JUSTEAT";
|
|
6371
|
+
EChannelName2["UBER"] = "UBER";
|
|
6372
|
+
EChannelName2["BOLT"] = "BOLT";
|
|
6373
|
+
EChannelName2["WOLT"] = "WOLT";
|
|
6374
|
+
EChannelName2["TAZZ"] = "TAZZ";
|
|
6375
|
+
EChannelName2["UPMENU"] = "UPMENU";
|
|
6376
|
+
})(EChannelName || (EChannelName = {}));
|
|
6377
|
+
var EOrderStatus;
|
|
6378
|
+
(function(EOrderStatus2) {
|
|
6379
|
+
EOrderStatus2["NEW"] = "NEW";
|
|
6380
|
+
EOrderStatus2["COMPLETED"] = "COMPLETED";
|
|
6381
|
+
EOrderStatus2["VERIFIED"] = "VERIFIED";
|
|
6382
|
+
EOrderStatus2["DELIVER"] = "DELIVER";
|
|
6383
|
+
EOrderStatus2["DELIVERED"] = "DELIVERED";
|
|
6384
|
+
EOrderStatus2["CLOSED"] = "CLOSED";
|
|
6385
|
+
EOrderStatus2["ABANDONED"] = "ABANDONED";
|
|
6386
|
+
EOrderStatus2["CANCELLED"] = "CANCELLED";
|
|
6387
|
+
EOrderStatus2["PICKED"] = "PICKED";
|
|
6388
|
+
})(EOrderStatus || (EOrderStatus = {}));
|
|
6389
|
+
var EOrderPaymentType;
|
|
6390
|
+
(function(EOrderPaymentType2) {
|
|
6391
|
+
EOrderPaymentType2["CASH"] = "CASH";
|
|
6392
|
+
EOrderPaymentType2["CARD"] = "CARD";
|
|
6393
|
+
EOrderPaymentType2["COD"] = "COD";
|
|
6394
|
+
EOrderPaymentType2["TERMINAL"] = "TERMINAL";
|
|
6395
|
+
EOrderPaymentType2["EPAYMENT"] = "EPAYMENT";
|
|
6396
|
+
EOrderPaymentType2["COUPON"] = "COUPON";
|
|
6397
|
+
EOrderPaymentType2["WALLET"] = "WALLET";
|
|
6398
|
+
EOrderPaymentType2["PREAUTHORIZED"] = "PREAUTHORIZED";
|
|
6399
|
+
EOrderPaymentType2["RETURN"] = "RETURN";
|
|
6400
|
+
EOrderPaymentType2["EXTERNAL"] = "EXTERNAL";
|
|
6401
|
+
})(EOrderPaymentType || (EOrderPaymentType = {}));
|
|
6402
|
+
var ERbiOrderExtra;
|
|
6403
|
+
(function(ERbiOrderExtra2) {
|
|
6404
|
+
ERbiOrderExtra2["POINTS_TOTAL"] = "x-rbi-loyalty-points";
|
|
6405
|
+
ERbiOrderExtra2["POINTS_EARNED"] = "x-rbi-points-earned";
|
|
6406
|
+
ERbiOrderExtra2["REWARDS"] = "x-rbi-rewards";
|
|
6407
|
+
ERbiOrderExtra2["OFFERS"] = "x-rbi-offers";
|
|
6408
|
+
ERbiOrderExtra2["CUSTOMER_NAME"] = "x-customer-name";
|
|
6409
|
+
})(ERbiOrderExtra || (ERbiOrderExtra = {}));
|
|
6410
|
+
var EOrderLineStatus;
|
|
6411
|
+
(function(EOrderLineStatus2) {
|
|
6412
|
+
EOrderLineStatus2["NEW"] = "NEW";
|
|
6413
|
+
EOrderLineStatus2["TECHNICAL"] = "TECHNICAL";
|
|
6414
|
+
EOrderLineStatus2["CONFIRMED"] = "CONFIRMED";
|
|
6415
|
+
EOrderLineStatus2["PROCESSING"] = "PROCESSING";
|
|
6416
|
+
EOrderLineStatus2["PROCESSED"] = "PROCESSED";
|
|
6417
|
+
EOrderLineStatus2["VOID"] = "VOID";
|
|
6418
|
+
EOrderLineStatus2["WASTE"] = "WASTE";
|
|
6419
|
+
})(EOrderLineStatus || (EOrderLineStatus = {}));
|
|
6420
|
+
var EOrderProductKind;
|
|
6421
|
+
(function(EOrderProductKind2) {
|
|
6422
|
+
EOrderProductKind2["GROUP"] = "group";
|
|
6423
|
+
EOrderProductKind2["PRODUCT"] = "product";
|
|
6424
|
+
})(EOrderProductKind || (EOrderProductKind = {}));
|
|
6425
|
+
var ENotificationType;
|
|
6426
|
+
(function(ENotificationType2) {
|
|
6427
|
+
ENotificationType2["ORDER_EVENT_ERROR"] = "OrderEventError";
|
|
6428
|
+
ENotificationType2["ORDER_APPLIED_EVENTS"] = "OrderAppliedEvents";
|
|
6429
|
+
ENotificationType2["ORDER_EVENT_FISCAL"] = "OrderEventFiscal";
|
|
6430
|
+
ENotificationType2["ORDER_UPSELL"] = "OrderUpsell";
|
|
6431
|
+
})(ENotificationType || (ENotificationType = {}));
|
|
6278
6432
|
const isApiBooleanTrue = (value) => {
|
|
6279
6433
|
if (value === "true" || value === true) {
|
|
6280
6434
|
return true;
|
|
@@ -6302,6 +6456,25 @@ const isVisible = (item) => {
|
|
|
6302
6456
|
const isHidden = ((_a = item == null ? void 0 : item.attrs) == null ? void 0 : _a.hidden) === true || ((_b = item == null ? void 0 : item["_"]) == null ? void 0 : _b.hidden) === "true";
|
|
6303
6457
|
return !isHidden;
|
|
6304
6458
|
};
|
|
6459
|
+
function findGroupInProductItemsBySelCtx(selCtx, parent) {
|
|
6460
|
+
var _a;
|
|
6461
|
+
if (!parent.items) {
|
|
6462
|
+
return null;
|
|
6463
|
+
}
|
|
6464
|
+
for (let i2 = 0; i2 < ((_a = parent.items) == null ? void 0 : _a.length); i2++) {
|
|
6465
|
+
const prod = parent.items[i2];
|
|
6466
|
+
if (prod.selCtx === selCtx && prod.kind === EProductKind.OPTIONS) {
|
|
6467
|
+
return prod;
|
|
6468
|
+
}
|
|
6469
|
+
if (prod.items && prod.items.length > 0) {
|
|
6470
|
+
const found = findGroupInProductItemsBySelCtx(selCtx, prod);
|
|
6471
|
+
if (found) {
|
|
6472
|
+
return found;
|
|
6473
|
+
}
|
|
6474
|
+
}
|
|
6475
|
+
}
|
|
6476
|
+
return null;
|
|
6477
|
+
}
|
|
6305
6478
|
function createStore(createState) {
|
|
6306
6479
|
let state;
|
|
6307
6480
|
const listeners = /* @__PURE__ */ new Set();
|
|
@@ -6650,7 +6823,9 @@ function getValidSelectedState(product, selected) {
|
|
|
6650
6823
|
}
|
|
6651
6824
|
function useProductConfigurator(product) {
|
|
6652
6825
|
var _a;
|
|
6653
|
-
const [productQuantity, setProductQuantity] = useState(
|
|
6826
|
+
const [productQuantity, setProductQuantity] = useState(
|
|
6827
|
+
Number(product.quantity) || 1
|
|
6828
|
+
);
|
|
6654
6829
|
const encodedProduct = encodeProduct(product);
|
|
6655
6830
|
const { state: { filter: initFilter = {} } = {} } = encodedProduct;
|
|
6656
6831
|
const initSelected = getValidSelectedState(
|
|
@@ -6666,9 +6841,8 @@ function useProductConfigurator(product) {
|
|
|
6666
6841
|
const setIsOnSubmittedOnTrue = useStore(
|
|
6667
6842
|
(state) => state.setIsOnSubmittedOnTrue
|
|
6668
6843
|
);
|
|
6669
|
-
useStore((state) => state.refreshFormDt);
|
|
6844
|
+
const refreshFormDt = useStore((state) => state.refreshFormDt);
|
|
6670
6845
|
const getInvalidSelCtxArray = useStore((state) => state.getInvalidSelCtxArray);
|
|
6671
|
-
const getValidationMap = useStore((state) => state.getValidationMap);
|
|
6672
6846
|
const increaseProductQuantity = () => {
|
|
6673
6847
|
setProductQuantity((productQuantity2) => productQuantity2 + 1);
|
|
6674
6848
|
};
|
|
@@ -6692,169 +6866,15 @@ function useProductConfigurator(product) {
|
|
|
6692
6866
|
setIsOnSubmittedOnTrue,
|
|
6693
6867
|
getInvalidSelCtxArray,
|
|
6694
6868
|
productQuantity,
|
|
6695
|
-
getValidationMap,
|
|
6696
6869
|
increaseProductQuantity,
|
|
6697
|
-
decreaseProductQuantity
|
|
6870
|
+
decreaseProductQuantity,
|
|
6871
|
+
refreshFormDt
|
|
6698
6872
|
};
|
|
6699
6873
|
}
|
|
6700
|
-
var EPaymentStatus;
|
|
6701
|
-
(function(EPaymentStatus2) {
|
|
6702
|
-
EPaymentStatus2["UNINITIALIZED"] = "UNINITIALIZED";
|
|
6703
|
-
EPaymentStatus2["PROCESSING"] = "PROCESSING";
|
|
6704
|
-
EPaymentStatus2["PAID"] = "PAID";
|
|
6705
|
-
EPaymentStatus2["FAILED"] = "FAILED";
|
|
6706
|
-
EPaymentStatus2["PRINTING_RECEIPT"] = "PRINTING_RECEIPT";
|
|
6707
|
-
EPaymentStatus2["PRINTING_RECEIPT_SUCCESS"] = "PRINTING_RECEIPT_SUCCESS";
|
|
6708
|
-
EPaymentStatus2["SENDING_RECEIPT"] = "SENDING_RECEIPT";
|
|
6709
|
-
EPaymentStatus2["SENDING_RECEIPT_SUCCESS"] = "SENDING_RECEIPT_SUCCESS";
|
|
6710
|
-
EPaymentStatus2["ERROR"] = "ERROR";
|
|
6711
|
-
})(EPaymentStatus || (EPaymentStatus = {}));
|
|
6712
|
-
var ECouponViewType;
|
|
6713
|
-
(function(ECouponViewType2) {
|
|
6714
|
-
ECouponViewType2["CAROUSEL"] = "carousel";
|
|
6715
|
-
ECouponViewType2["NORMAL"] = "normal";
|
|
6716
|
-
ECouponViewType2["IMAGE"] = "image";
|
|
6717
|
-
})(ECouponViewType || (ECouponViewType = {}));
|
|
6718
|
-
var EProductKind;
|
|
6719
|
-
(function(EProductKind2) {
|
|
6720
|
-
EProductKind2["GROUP"] = "3e/group";
|
|
6721
|
-
EProductKind2["PRODUCT"] = "3e/product";
|
|
6722
|
-
EProductKind2["CATEGORY"] = "3e/group/category";
|
|
6723
|
-
EProductKind2["OPTIONS"] = "3e/group/options";
|
|
6724
|
-
EProductKind2["CONFIG"] = "3e/group/config";
|
|
6725
|
-
EProductKind2["STATIC"] = "3e/static";
|
|
6726
|
-
EProductKind2["REF"] = "3e/ref";
|
|
6727
|
-
EProductKind2["QUERY"] = "3e/query";
|
|
6728
|
-
EProductKind2["CMS"] = "3e/cms";
|
|
6729
|
-
})(EProductKind || (EProductKind = {}));
|
|
6730
|
-
var EProductKindBucket;
|
|
6731
|
-
(function(EProductKindBucket2) {
|
|
6732
|
-
EProductKindBucket2["GROUP"] = "group";
|
|
6733
|
-
EProductKindBucket2["PRODUCT"] = "product";
|
|
6734
|
-
})(EProductKindBucket || (EProductKindBucket = {}));
|
|
6735
|
-
var EOrderUserRole;
|
|
6736
|
-
(function(EOrderUserRole2) {
|
|
6737
|
-
EOrderUserRole2["CREATOR"] = "CREATOR";
|
|
6738
|
-
EOrderUserRole2["CUSTOMER"] = "CUSTOMER";
|
|
6739
|
-
EOrderUserRole2["COUPONS"] = "COUPON";
|
|
6740
|
-
EOrderUserRole2["KIOSK"] = "KIOSK";
|
|
6741
|
-
EOrderUserRole2["WAITER"] = "WAITER";
|
|
6742
|
-
EOrderUserRole2["MANAGER"] = "MANAGER";
|
|
6743
|
-
EOrderUserRole2["VIEWER"] = "VIEWER";
|
|
6744
|
-
EOrderUserRole2["DRIVER"] = "DRIVER";
|
|
6745
|
-
EOrderUserRole2["STAFF"] = "STAFF";
|
|
6746
|
-
})(EOrderUserRole || (EOrderUserRole = {}));
|
|
6747
|
-
var EOrderType;
|
|
6748
|
-
(function(EOrderType2) {
|
|
6749
|
-
EOrderType2["TAKE_AWAY"] = "TAKE_AWAY";
|
|
6750
|
-
EOrderType2["DELIVERY"] = "DELIVERY";
|
|
6751
|
-
EOrderType2["DINE_IN"] = "DINE_IN";
|
|
6752
|
-
EOrderType2["DINE_IN_OPEN"] = "DINE_IN_OPEN";
|
|
6753
|
-
EOrderType2["GLOVO_DELIVERY"] = "GLOVO_DELIVERY";
|
|
6754
|
-
EOrderType2["GLOVO_TAKE_AWAY"] = "GLOVO_TAKE_AWAY";
|
|
6755
|
-
EOrderType2["JUSTEAT_DELIVERY"] = "JUSTEAT_DELIVERY";
|
|
6756
|
-
EOrderType2["JUSTEAT_TAKE_AWAY"] = "JUSTEAT_TAKE_AWAY";
|
|
6757
|
-
EOrderType2["UBER_DELIVERY"] = "UBER_DELIVERY";
|
|
6758
|
-
EOrderType2["UBER_TAKE_AWAY"] = "UBER_TAKE_AWAY";
|
|
6759
|
-
EOrderType2["UBER_DINE_IN"] = "UBER_DINE_IN";
|
|
6760
|
-
EOrderType2["WOLT_DELIVERY"] = "WOLT_DELIVERY";
|
|
6761
|
-
EOrderType2["WOLT_TAKE_AWAY"] = "WOLT_TAKE_AWAY";
|
|
6762
|
-
EOrderType2["WOLT_DINE_IN"] = "WOLT_DINE_IN";
|
|
6763
|
-
EOrderType2["BOLT_DELIVERY"] = "BOLT_DELIVERY";
|
|
6764
|
-
EOrderType2["BOLT_TAKE_AWAY"] = "BOLT_TAKE_AWAY";
|
|
6765
|
-
EOrderType2["BOLT_DINE_IN"] = "BOLT_DINE_IN";
|
|
6766
|
-
EOrderType2["TAZZ_DELIVERY"] = "TAZZ_DELIVERY";
|
|
6767
|
-
EOrderType2["TAZZ_TAKE_AWAY"] = "TAZZ_TAKE_AWAY";
|
|
6768
|
-
EOrderType2["UPMENU_DELIVERY"] = "UPMENU_DELIVERY";
|
|
6769
|
-
EOrderType2["UPMENU_TAKE_AWAY"] = "UPMENU_TAKE_AWAY";
|
|
6770
|
-
EOrderType2["UPMENU_DINE_IN"] = "UPMENU_DINE_IN";
|
|
6771
|
-
})(EOrderType || (EOrderType = {}));
|
|
6772
|
-
var EOrderSource;
|
|
6773
|
-
(function(EOrderSource2) {
|
|
6774
|
-
EOrderSource2["KIOSK"] = "KIOSK";
|
|
6775
|
-
EOrderSource2["WEB"] = "WEB";
|
|
6776
|
-
EOrderSource2["JUST_EAT_TAKE_AWAY"] = "JUSTEATTAKEAWAY";
|
|
6777
|
-
EOrderSource2["GLOVO"] = "GLOVO";
|
|
6778
|
-
EOrderSource2["PYSZNE"] = "PYSZNE";
|
|
6779
|
-
EOrderSource2["WOLT"] = "WOLT";
|
|
6780
|
-
EOrderSource2["UBER"] = "UBER";
|
|
6781
|
-
EOrderSource2["BOLT"] = "BOLT";
|
|
6782
|
-
EOrderSource2["TAZZ"] = "TAZZ";
|
|
6783
|
-
EOrderSource2["POS"] = "POS";
|
|
6784
|
-
EOrderSource2["UPMENU"] = "UPMENU";
|
|
6785
|
-
})(EOrderSource || (EOrderSource = {}));
|
|
6786
|
-
var EChannelName;
|
|
6787
|
-
(function(EChannelName2) {
|
|
6788
|
-
EChannelName2["DINE_IN"] = "DINE_IN";
|
|
6789
|
-
EChannelName2["TAKE_AWAY"] = "TAKE_AWAY";
|
|
6790
|
-
EChannelName2["DELIVERY"] = "DELIVERY";
|
|
6791
|
-
EChannelName2["GLOVO"] = "GLOVO";
|
|
6792
|
-
EChannelName2["JUSTEAT"] = "JUSTEAT";
|
|
6793
|
-
EChannelName2["UBER"] = "UBER";
|
|
6794
|
-
EChannelName2["BOLT"] = "BOLT";
|
|
6795
|
-
EChannelName2["WOLT"] = "WOLT";
|
|
6796
|
-
EChannelName2["TAZZ"] = "TAZZ";
|
|
6797
|
-
EChannelName2["UPMENU"] = "UPMENU";
|
|
6798
|
-
})(EChannelName || (EChannelName = {}));
|
|
6799
|
-
var EOrderStatus;
|
|
6800
|
-
(function(EOrderStatus2) {
|
|
6801
|
-
EOrderStatus2["NEW"] = "NEW";
|
|
6802
|
-
EOrderStatus2["COMPLETED"] = "COMPLETED";
|
|
6803
|
-
EOrderStatus2["VERIFIED"] = "VERIFIED";
|
|
6804
|
-
EOrderStatus2["DELIVER"] = "DELIVER";
|
|
6805
|
-
EOrderStatus2["DELIVERED"] = "DELIVERED";
|
|
6806
|
-
EOrderStatus2["CLOSED"] = "CLOSED";
|
|
6807
|
-
EOrderStatus2["ABANDONED"] = "ABANDONED";
|
|
6808
|
-
EOrderStatus2["CANCELLED"] = "CANCELLED";
|
|
6809
|
-
EOrderStatus2["PICKED"] = "PICKED";
|
|
6810
|
-
})(EOrderStatus || (EOrderStatus = {}));
|
|
6811
|
-
var EOrderPaymentType;
|
|
6812
|
-
(function(EOrderPaymentType2) {
|
|
6813
|
-
EOrderPaymentType2["CASH"] = "CASH";
|
|
6814
|
-
EOrderPaymentType2["CARD"] = "CARD";
|
|
6815
|
-
EOrderPaymentType2["COD"] = "COD";
|
|
6816
|
-
EOrderPaymentType2["TERMINAL"] = "TERMINAL";
|
|
6817
|
-
EOrderPaymentType2["EPAYMENT"] = "EPAYMENT";
|
|
6818
|
-
EOrderPaymentType2["COUPON"] = "COUPON";
|
|
6819
|
-
EOrderPaymentType2["WALLET"] = "WALLET";
|
|
6820
|
-
EOrderPaymentType2["PREAUTHORIZED"] = "PREAUTHORIZED";
|
|
6821
|
-
EOrderPaymentType2["RETURN"] = "RETURN";
|
|
6822
|
-
EOrderPaymentType2["EXTERNAL"] = "EXTERNAL";
|
|
6823
|
-
})(EOrderPaymentType || (EOrderPaymentType = {}));
|
|
6824
|
-
var ERbiOrderExtra;
|
|
6825
|
-
(function(ERbiOrderExtra2) {
|
|
6826
|
-
ERbiOrderExtra2["POINTS_TOTAL"] = "x-rbi-loyalty-points";
|
|
6827
|
-
ERbiOrderExtra2["POINTS_EARNED"] = "x-rbi-points-earned";
|
|
6828
|
-
ERbiOrderExtra2["REWARDS"] = "x-rbi-rewards";
|
|
6829
|
-
ERbiOrderExtra2["OFFERS"] = "x-rbi-offers";
|
|
6830
|
-
ERbiOrderExtra2["CUSTOMER_NAME"] = "x-customer-name";
|
|
6831
|
-
})(ERbiOrderExtra || (ERbiOrderExtra = {}));
|
|
6832
|
-
var EOrderLineStatus;
|
|
6833
|
-
(function(EOrderLineStatus2) {
|
|
6834
|
-
EOrderLineStatus2["NEW"] = "NEW";
|
|
6835
|
-
EOrderLineStatus2["TECHNICAL"] = "TECHNICAL";
|
|
6836
|
-
EOrderLineStatus2["CONFIRMED"] = "CONFIRMED";
|
|
6837
|
-
EOrderLineStatus2["PROCESSING"] = "PROCESSING";
|
|
6838
|
-
EOrderLineStatus2["PROCESSED"] = "PROCESSED";
|
|
6839
|
-
EOrderLineStatus2["VOID"] = "VOID";
|
|
6840
|
-
EOrderLineStatus2["WASTE"] = "WASTE";
|
|
6841
|
-
})(EOrderLineStatus || (EOrderLineStatus = {}));
|
|
6842
|
-
var EOrderProductKind;
|
|
6843
|
-
(function(EOrderProductKind2) {
|
|
6844
|
-
EOrderProductKind2["GROUP"] = "group";
|
|
6845
|
-
EOrderProductKind2["PRODUCT"] = "product";
|
|
6846
|
-
})(EOrderProductKind || (EOrderProductKind = {}));
|
|
6847
|
-
var ENotificationType;
|
|
6848
|
-
(function(ENotificationType2) {
|
|
6849
|
-
ENotificationType2["ORDER_EVENT_ERROR"] = "OrderEventError";
|
|
6850
|
-
ENotificationType2["ORDER_APPLIED_EVENTS"] = "OrderAppliedEvents";
|
|
6851
|
-
ENotificationType2["ORDER_EVENT_FISCAL"] = "OrderEventFiscal";
|
|
6852
|
-
ENotificationType2["ORDER_UPSELL"] = "OrderUpsell";
|
|
6853
|
-
})(ENotificationType || (ENotificationType = {}));
|
|
6854
6874
|
const validateProductFilter = (product, stateFilter) => {
|
|
6855
6875
|
var _a;
|
|
6856
6876
|
const { filter: productFilters = {}, fltCtx = "" } = product;
|
|
6857
|
-
const stateFiltersWithFltCtx = stateFilter[fltCtx];
|
|
6877
|
+
const stateFiltersWithFltCtx = (stateFilter == null ? void 0 : stateFilter[fltCtx]) || {};
|
|
6858
6878
|
if (!productFilters || !Object.keys(productFilters).length || !stateFiltersWithFltCtx) {
|
|
6859
6879
|
return true;
|
|
6860
6880
|
}
|
|
@@ -6895,12 +6915,14 @@ const getProductToChangeInForm = (product, isFilterValidated) => {
|
|
|
6895
6915
|
return { productsToSelect, productsToUnselect };
|
|
6896
6916
|
};
|
|
6897
6917
|
const unselectProductsInForm = (productsToUnselect, setValueInForm) => {
|
|
6918
|
+
console.log("LOG1 productsToUnselect", productsToUnselect);
|
|
6898
6919
|
productsToUnselect.map(({ selCtx, id }) => {
|
|
6899
6920
|
setValueInForm(`selected.${selCtx}.${id}`, false);
|
|
6900
6921
|
});
|
|
6901
6922
|
};
|
|
6902
|
-
const selectProductsInForm = (
|
|
6903
|
-
|
|
6923
|
+
const selectProductsInForm = (productToSelect, setValueInForm, initialSelectedState) => {
|
|
6924
|
+
console.log("LOG1 productToSelect", productToSelect);
|
|
6925
|
+
productToSelect.map(({ selCtx, id }) => {
|
|
6904
6926
|
var _a;
|
|
6905
6927
|
const productInInitialState = (_a = initialSelectedState[selCtx]) == null ? void 0 : _a[id];
|
|
6906
6928
|
if (productInInitialState) {
|
|
@@ -6913,7 +6935,6 @@ const selectProductsInForm = (productToUnselect, setValueInForm, initialSelected
|
|
|
6913
6935
|
};
|
|
6914
6936
|
function useMenuOptions(product, nestedLvl, parentKind, parentSelCtx) {
|
|
6915
6937
|
const { selCtx, attrs = {} } = product;
|
|
6916
|
-
const stateFilter = useStore((state) => state.filter);
|
|
6917
6938
|
const initialSelected = useStore((state) => state.initialSelected);
|
|
6918
6939
|
const currency = useStore((state) => state.currency);
|
|
6919
6940
|
const { setValue, getValues } = useFormContext();
|
|
@@ -6941,9 +6962,8 @@ function useMenuOptions(product, nestedLvl, parentKind, parentSelCtx) {
|
|
|
6941
6962
|
product,
|
|
6942
6963
|
isFilterValidated
|
|
6943
6964
|
);
|
|
6944
|
-
unselectProductsInForm(productsToUnselect, setValue);
|
|
6945
6965
|
selectProductsInForm(productsToSelect, setValue, initialSelected);
|
|
6946
|
-
}, [
|
|
6966
|
+
}, [isFilterValidated]);
|
|
6947
6967
|
return {
|
|
6948
6968
|
isFilterValidated,
|
|
6949
6969
|
selected,
|
|
@@ -8884,6 +8904,7 @@ const addProductToState = (selected, setValue) => {
|
|
|
8884
8904
|
};
|
|
8885
8905
|
const removeProductFromState = (selCtx, getValues, setValue) => {
|
|
8886
8906
|
const changedSelCtx = getValues(`selected.${selCtx}`);
|
|
8907
|
+
console.log("changedSelCtx", changedSelCtx);
|
|
8887
8908
|
setValue(
|
|
8888
8909
|
`selected.${selCtx}`,
|
|
8889
8910
|
Object.keys(changedSelCtx).reduce((acc, key) => {
|
|
@@ -8936,20 +8957,20 @@ const selectUnselectProduct = (setValue, getValues, product, isChecked, unregist
|
|
|
8936
8957
|
});
|
|
8937
8958
|
};
|
|
8938
8959
|
checkSubProducts(items);
|
|
8939
|
-
(_a = Object.keys(emit)) == null ? void 0 : _a.forEach((x2) => {
|
|
8940
|
-
const formPath = `filterWithCnt.${fltCtx}.${x2}.${emit[x2]}`;
|
|
8941
|
-
const cnt = getValues(formPath) || 0;
|
|
8942
|
-
if (cnt < 2) {
|
|
8943
|
-
unregister(formPath);
|
|
8944
|
-
} else {
|
|
8945
|
-
setValue(formPath, cnt - 1);
|
|
8946
|
-
}
|
|
8947
|
-
});
|
|
8948
8960
|
if (nestedLvl && nestedLvl < 2 && !isEmpty(emit)) {
|
|
8961
|
+
(_a = Object.keys(emit)) == null ? void 0 : _a.forEach((x2) => {
|
|
8962
|
+
const formPath = `filterWithCnt.${fltCtx}.${x2}.${emit[x2]}`;
|
|
8963
|
+
const cnt = getValues(formPath) || 0;
|
|
8964
|
+
if (cnt < 2) {
|
|
8965
|
+
unregister(formPath);
|
|
8966
|
+
} else {
|
|
8967
|
+
setValue(formPath, cnt - 1);
|
|
8968
|
+
}
|
|
8969
|
+
});
|
|
8949
8970
|
const groupsPath = `filterWithCnt.${fltCtx}`;
|
|
8950
8971
|
const groupCntPath = `filterWithCnt.${fltCtx}.${selCtx}`;
|
|
8951
8972
|
const fltCtxPath = `filter.${fltCtx}`;
|
|
8952
|
-
(_b = Object.keys(
|
|
8973
|
+
(_b = Object.keys(emit)) == null ? void 0 : _b.forEach((emitKey) => {
|
|
8953
8974
|
var _a2, _b2, _c;
|
|
8954
8975
|
const groupValue = getValues(`${groupCntPath}.${emitKey}`) || 0;
|
|
8955
8976
|
if (groupValue) {
|
|
@@ -8979,7 +9000,28 @@ const selectUnselectProduct = (setValue, getValues, product, isChecked, unregist
|
|
|
8979
9000
|
}
|
|
8980
9001
|
}
|
|
8981
9002
|
};
|
|
8982
|
-
|
|
9003
|
+
const findProductInParentProductBySelCtx = (parent, selCtx) => {
|
|
9004
|
+
var _a;
|
|
9005
|
+
if (!parent.items || isEmpty(parent.items)) {
|
|
9006
|
+
return null;
|
|
9007
|
+
}
|
|
9008
|
+
for (let i2 = 0; i2 < ((_a = parent.items) == null ? void 0 : _a.length); i2++) {
|
|
9009
|
+
const prod = parent.items[i2];
|
|
9010
|
+
if (prod.selCtx) {
|
|
9011
|
+
if (prod.selCtx === selCtx && prod.kind === EProductKind.PRODUCT) {
|
|
9012
|
+
return prod;
|
|
9013
|
+
}
|
|
9014
|
+
}
|
|
9015
|
+
if (prod.kind === EProductKind.OPTIONS && prod.items && prod.items.length > 0) {
|
|
9016
|
+
const found = findProductInParentProductBySelCtx(prod, selCtx);
|
|
9017
|
+
if (found) {
|
|
9018
|
+
return found;
|
|
9019
|
+
}
|
|
9020
|
+
}
|
|
9021
|
+
}
|
|
9022
|
+
return null;
|
|
9023
|
+
};
|
|
9024
|
+
function useMenuProduct(product, parentAttrs, nestedLvl, parentPriduct) {
|
|
8983
9025
|
var _a;
|
|
8984
9026
|
const { id, selCtx, emit = {}, fltCtx } = product;
|
|
8985
9027
|
const {
|
|
@@ -8995,11 +9037,11 @@ function useMenuProduct(product, parentAttrs, nestedLvl) {
|
|
|
8995
9037
|
const { selected = {} } = getValues();
|
|
8996
9038
|
const valueNumber = Number(value || 0);
|
|
8997
9039
|
const isRadio = parentSelMin === "1" && parentSelMax === "1";
|
|
9040
|
+
useEmitFilter(product, isRadio, nestedLvl);
|
|
8998
9041
|
const isCheckbox = !isRadio;
|
|
8999
9042
|
const isCounter = isApiBooleanTrue(parentAllowMultiple);
|
|
9000
9043
|
const isDecrementEnabled = valueNumber > (isRadio ? 1 : 0);
|
|
9001
|
-
const isIncrementEnabled =
|
|
9002
|
-
isInputCounterIncrementEnabled2(product, selected) && (isInputEnabled2(product) || valueNumber);
|
|
9044
|
+
const isIncrementEnabled = isInputCounterIncrementEnabled2(product, selected) && (isInputEnabled2(product) || valueNumber);
|
|
9003
9045
|
const isChecked = Number(((_a = selected == null ? void 0 : selected[selCtx]) == null ? void 0 : _a[id]) || 0) > 0;
|
|
9004
9046
|
const isCheckboxEnabled = isInputEnabled2(product) || valueNumber;
|
|
9005
9047
|
const registerId = `${isRadio ? "radio" : "selected"}.${selCtx}.${id}`;
|
|
@@ -9009,15 +9051,30 @@ function useMenuProduct(product, parentAttrs, nestedLvl) {
|
|
|
9009
9051
|
}
|
|
9010
9052
|
});
|
|
9011
9053
|
const handleCounterIncrementQty = () => {
|
|
9054
|
+
var _a2, _b;
|
|
9012
9055
|
setValue(`selected.${selCtx}.${id}`, `${valueNumber + 1}`);
|
|
9056
|
+
const importantSubProductsInState = (_b = (_a2 = Object.keys(selected)) == null ? void 0 : _a2.map((y2) => {
|
|
9057
|
+
var _a3;
|
|
9058
|
+
return { key: y2, subProductId: (_a3 = findProductInParentProductBySelCtx(product, y2)) == null ? void 0 : _a3.id };
|
|
9059
|
+
})) == null ? void 0 : _b.filter((x2) => !!x2.subProductId);
|
|
9060
|
+
importantSubProductsInState == null ? void 0 : importantSubProductsInState.forEach((x2) => {
|
|
9061
|
+
setValue(`selected.${x2.key}.${x2.subProductId}`, `${valueNumber + 1}`);
|
|
9062
|
+
});
|
|
9013
9063
|
};
|
|
9014
9064
|
const handleCounterDecrementQty = () => {
|
|
9015
|
-
var _a2, _b;
|
|
9065
|
+
var _a2, _b, _c, _d;
|
|
9016
9066
|
const decrementedValue = valueNumber - 1;
|
|
9017
9067
|
setValue(`selected.${selCtx}.${id}`, `${decrementedValue}`);
|
|
9068
|
+
const importantSubProductsInState = (_b = (_a2 = Object.keys(selected)) == null ? void 0 : _a2.map((y2) => {
|
|
9069
|
+
var _a3;
|
|
9070
|
+
return { key: y2, subProductId: (_a3 = findProductInParentProductBySelCtx(product, y2)) == null ? void 0 : _a3.id };
|
|
9071
|
+
})) == null ? void 0 : _b.filter((x2) => !!x2.subProductId);
|
|
9072
|
+
importantSubProductsInState == null ? void 0 : importantSubProductsInState.forEach((x2) => {
|
|
9073
|
+
setValue(`selected.${x2.key}.${x2.subProductId}`, `${decrementedValue}`);
|
|
9074
|
+
});
|
|
9018
9075
|
if (isCheckbox && decrementedValue === 0) {
|
|
9019
9076
|
setValue(`selected.${selCtx}.${id}`, false);
|
|
9020
|
-
(
|
|
9077
|
+
(_c = Object.keys(emit)) == null ? void 0 : _c.forEach((x2) => {
|
|
9021
9078
|
const formPath = `filterWithCnt.${fltCtx}.${x2}.${emit[x2]}`;
|
|
9022
9079
|
const cnt = getValues(formPath) || 0;
|
|
9023
9080
|
if (cnt < 2) {
|
|
@@ -9043,8 +9100,8 @@ function useMenuProduct(product, parentAttrs, nestedLvl) {
|
|
|
9043
9100
|
const groupsPath = `filterWithCnt.${fltCtx}`;
|
|
9044
9101
|
const groupCntPath = `filterWithCnt.${fltCtx}.${selCtx}`;
|
|
9045
9102
|
const fltCtxPath = `filter.${fltCtx}`;
|
|
9046
|
-
(
|
|
9047
|
-
var _a3, _b2,
|
|
9103
|
+
(_d = Object.keys(emit)) == null ? void 0 : _d.forEach((emitKey) => {
|
|
9104
|
+
var _a3, _b2, _c2;
|
|
9048
9105
|
const groupValue = getValues(`${groupCntPath}.${emitKey}`) || 0;
|
|
9049
9106
|
if (groupValue) {
|
|
9050
9107
|
if (groupValue > 1) {
|
|
@@ -9063,7 +9120,7 @@ function useMenuProduct(product, parentAttrs, nestedLvl) {
|
|
|
9063
9120
|
if (!sameKeyOtherGroup) {
|
|
9064
9121
|
unregister(`${fltCtxPath}.${emitKey}`);
|
|
9065
9122
|
} else {
|
|
9066
|
-
const newValue = (
|
|
9123
|
+
const newValue = (_c2 = (_b2 = groupKeysObj == null ? void 0 : groupKeysObj[`${sameKeyOtherGroup}`]) == null ? void 0 : _b2[`${emitKey}`]) == null ? void 0 : _c2.value;
|
|
9067
9124
|
setValue(`${fltCtxPath}.${emitKey}`, newValue);
|
|
9068
9125
|
}
|
|
9069
9126
|
}
|
|
@@ -9074,12 +9131,20 @@ function useMenuProduct(product, parentAttrs, nestedLvl) {
|
|
|
9074
9131
|
}
|
|
9075
9132
|
};
|
|
9076
9133
|
const handleOnInputChange = (e2) => {
|
|
9134
|
+
var _a2;
|
|
9077
9135
|
const {
|
|
9078
9136
|
target: { checked, name: selCtx2, defaultValue: productId }
|
|
9079
9137
|
} = e2;
|
|
9080
9138
|
selectUnselectProduct(setValue, getValues, product, checked, unregister, nestedLvl);
|
|
9081
9139
|
if (isRadio) {
|
|
9082
9140
|
console.log("handleOnInputChange radio", selCtx2, productId);
|
|
9141
|
+
const otherGroupItems = (_a2 = parentPriduct == null ? void 0 : parentPriduct.items) == null ? void 0 : _a2.filter((x2) => x2.id !== product.id);
|
|
9142
|
+
for (const key of Object.keys(selected || {})) {
|
|
9143
|
+
const isItemToClear = (otherGroupItems == null ? void 0 : otherGroupItems.some((x2) => !!findProductInParentProductBySelCtx(x2, key))) ? key : false;
|
|
9144
|
+
if (isItemToClear) {
|
|
9145
|
+
setValue(`selected.${key}`, false);
|
|
9146
|
+
}
|
|
9147
|
+
}
|
|
9083
9148
|
const selectedContextName = "selected." + selCtx2.replace("radio.", "").split(".")[0];
|
|
9084
9149
|
setValue(selectedContextName, { [productId]: "1" });
|
|
9085
9150
|
refreshForm();
|
|
@@ -9126,7 +9191,7 @@ const MenuProduct = (props) => {
|
|
|
9126
9191
|
handleCounterIncrementQty,
|
|
9127
9192
|
handleCounterDecrementQty,
|
|
9128
9193
|
currency
|
|
9129
|
-
} = useMenuProduct(product, parentAttrs, nestedLvl);
|
|
9194
|
+
} = useMenuProduct(product, parentAttrs, nestedLvl, parentProduct);
|
|
9130
9195
|
const {
|
|
9131
9196
|
MenuProductUI
|
|
9132
9197
|
} = useComponents();
|
|
@@ -10964,6 +11029,81 @@ function MenuProductRootDefaultUI(props) {
|
|
|
10964
11029
|
})
|
|
10965
11030
|
});
|
|
10966
11031
|
}
|
|
11032
|
+
const getValidationMap2 = (product, selected = {}, filter, map, nestedLvl = 0) => {
|
|
11033
|
+
var _a, _b;
|
|
11034
|
+
const res = map || {};
|
|
11035
|
+
if (nestedLvl === 0 || ((_a = selected[product.selCtx]) == null ? void 0 : _a[product.id])) {
|
|
11036
|
+
(_b = product == null ? void 0 : product.items) == null ? void 0 : _b.forEach((x2) => {
|
|
11037
|
+
var _a2, _b2, _c, _d, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
11038
|
+
if (x2.kind === EProductKind.OPTIONS && (((_a2 = x2.attrs) == null ? void 0 : _a2.vital) || ((_b2 = x2 == null ? void 0 : x2.attrs) == null ? void 0 : _b2.selMin) || ((_c = x2.attrs) == null ? void 0 : _c.selMax) || ((_d = x2.attrs) == null ? void 0 : _d.qtyMin) || ((_e2 = x2.attrs) == null ? void 0 : _e2.qtyMax) || ((_f = x2.attrs) == null ? void 0 : _f.allowMultiple))) {
|
|
11039
|
+
const [selCnt, qtyCnt] = getSelCtxCntFromSelectedState(
|
|
11040
|
+
x2.selCtx,
|
|
11041
|
+
selected,
|
|
11042
|
+
x2.items
|
|
11043
|
+
);
|
|
11044
|
+
const isFilterValidated = validateProductFilter(product, filter);
|
|
11045
|
+
res[x2.selCtx] = {
|
|
11046
|
+
isSelCntAllowedToIncrement: selCnt < Number(((_g = x2 == null ? void 0 : x2.attrs) == null ? void 0 : _g.selMax) || Number.MAX_SAFE_INTEGER),
|
|
11047
|
+
isQtyCntAllowedToIncrement: qtyCnt < Number(((_h = x2 == null ? void 0 : x2.attrs) == null ? void 0 : _h.qtyMax) || Number.MAX_SAFE_INTEGER),
|
|
11048
|
+
nestedLvl,
|
|
11049
|
+
isPassedFiltering: isFilterValidated,
|
|
11050
|
+
isValid: inRange(
|
|
11051
|
+
selCnt,
|
|
11052
|
+
Number(((_i = x2.attrs) == null ? void 0 : _i.selMin) || 0),
|
|
11053
|
+
Number(((_j = x2.attrs) == null ? void 0 : _j.selMax) || Number.MAX_SAFE_INTEGER) + 1
|
|
11054
|
+
) && inRange(
|
|
11055
|
+
qtyCnt,
|
|
11056
|
+
Number(((_k = x2.attrs) == null ? void 0 : _k.qtyMin) || 0),
|
|
11057
|
+
Number(((_l = x2.attrs) == null ? void 0 : _l.qtyMax) || Number.MAX_SAFE_INTEGER) + 1
|
|
11058
|
+
) && (((_m = x2.attrs) == null ? void 0 : _m.vital) !== true || ((_n = x2.attrs) == null ? void 0 : _n.vital) === true && selCnt > 0) && (((_o = x2.attrs) == null ? void 0 : _o.allowMultiple) === true || !((_p = x2.attrs) == null ? void 0 : _p.allowMultiple) && selCnt <= 1)
|
|
11059
|
+
};
|
|
11060
|
+
}
|
|
11061
|
+
if ((x2 == null ? void 0 : x2.items) && ((_q = x2.items) == null ? void 0 : _q.length) > 0) {
|
|
11062
|
+
(_r = x2.items) == null ? void 0 : _r.forEach((item) => {
|
|
11063
|
+
getValidationMap2(item, selected, filter, res, nestedLvl + 1);
|
|
11064
|
+
});
|
|
11065
|
+
}
|
|
11066
|
+
});
|
|
11067
|
+
}
|
|
11068
|
+
return res;
|
|
11069
|
+
};
|
|
11070
|
+
const GroupsValidationContext = React__default.createContext(null);
|
|
11071
|
+
function GroupsValidationProvivider({
|
|
11072
|
+
rootProduct,
|
|
11073
|
+
children
|
|
11074
|
+
}) {
|
|
11075
|
+
return /* @__PURE__ */ jsx(GroupsValidationContext.Provider, {
|
|
11076
|
+
value: {
|
|
11077
|
+
rootProduct
|
|
11078
|
+
},
|
|
11079
|
+
children
|
|
11080
|
+
});
|
|
11081
|
+
}
|
|
11082
|
+
function useGroupsValidation(product) {
|
|
11083
|
+
const context = useContext(GroupsValidationContext);
|
|
11084
|
+
const selected = useWatch({
|
|
11085
|
+
name: "selected"
|
|
11086
|
+
});
|
|
11087
|
+
const filter = useWatch({
|
|
11088
|
+
name: "filter"
|
|
11089
|
+
});
|
|
11090
|
+
const [validationMap2, setValidationMap2] = useState(void 0);
|
|
11091
|
+
if (!context) {
|
|
11092
|
+
throw new Error("Missing ComponentsContext");
|
|
11093
|
+
}
|
|
11094
|
+
useEffect(() => {
|
|
11095
|
+
console.log("useGroupsValidation validationMap2 change");
|
|
11096
|
+
}, [validationMap2]);
|
|
11097
|
+
useEffect(() => {
|
|
11098
|
+
const newMap = getValidationMap2(product, selected, filter);
|
|
11099
|
+
if (!isEqual(newMap, validationMap2)) {
|
|
11100
|
+
setValidationMap2(newMap);
|
|
11101
|
+
}
|
|
11102
|
+
}, [selected, filter]);
|
|
11103
|
+
return {
|
|
11104
|
+
validationMap2
|
|
11105
|
+
};
|
|
11106
|
+
}
|
|
10967
11107
|
const MenuProductRoot = (props) => {
|
|
10968
11108
|
const {
|
|
10969
11109
|
product
|
|
@@ -10971,6 +11111,9 @@ const MenuProductRoot = (props) => {
|
|
|
10971
11111
|
const {
|
|
10972
11112
|
MenuProductRootUI
|
|
10973
11113
|
} = useComponents();
|
|
11114
|
+
const {
|
|
11115
|
+
validationMap2
|
|
11116
|
+
} = useGroupsValidation(product);
|
|
10974
11117
|
const MenuItemsDispatcherWrapper = !isEmpty(product.items) ? /* @__PURE__ */ jsx(MenuItemsDispatcher, {
|
|
10975
11118
|
productItems: product.items,
|
|
10976
11119
|
parentProduct: product,
|
|
@@ -10979,11 +11122,13 @@ const MenuProductRoot = (props) => {
|
|
|
10979
11122
|
if (MenuProductRootUI) {
|
|
10980
11123
|
return /* @__PURE__ */ jsx(MenuProductRootUI, {
|
|
10981
11124
|
...props,
|
|
11125
|
+
validationMap: validationMap2 || {},
|
|
10982
11126
|
children: MenuItemsDispatcherWrapper
|
|
10983
11127
|
});
|
|
10984
11128
|
}
|
|
10985
11129
|
return /* @__PURE__ */ jsx(MenuProductRootDefaultUI, {
|
|
10986
11130
|
...props,
|
|
11131
|
+
validationMap: validationMap2 || {},
|
|
10987
11132
|
children: MenuItemsDispatcherWrapper
|
|
10988
11133
|
});
|
|
10989
11134
|
};
|
|
@@ -11025,28 +11170,19 @@ function ProductConfigurator(props) {
|
|
|
11025
11170
|
encodedProduct,
|
|
11026
11171
|
initSelected,
|
|
11027
11172
|
initFilter,
|
|
11028
|
-
filter,
|
|
11029
11173
|
productQuantity,
|
|
11030
11174
|
setIsOnSubmittedOnTrue,
|
|
11031
11175
|
getInvalidSelCtxArray,
|
|
11032
|
-
getValidationMap,
|
|
11033
11176
|
increaseProductQuantity,
|
|
11034
11177
|
decreaseProductQuantity,
|
|
11035
11178
|
setCurrency
|
|
11036
11179
|
} = useProductConfigurator(product);
|
|
11037
|
-
const [validationMap, setValidationMap] = useState(getValidationMap());
|
|
11038
11180
|
useEffect(() => {
|
|
11039
11181
|
instance.changeLanguage(lang);
|
|
11040
11182
|
}, [lang]);
|
|
11041
11183
|
useEffect(() => {
|
|
11042
11184
|
setCurrency(currency);
|
|
11043
11185
|
}, [currency]);
|
|
11044
|
-
useEffect(() => {
|
|
11045
|
-
const validationMapNew = getValidationMap();
|
|
11046
|
-
if (!isEqual(validationMapNew, validationMap)) {
|
|
11047
|
-
setValidationMap(validationMapNew);
|
|
11048
|
-
}
|
|
11049
|
-
});
|
|
11050
11186
|
const methods = useForm({
|
|
11051
11187
|
defaultValues: {
|
|
11052
11188
|
selected: initSelected,
|
|
@@ -11058,6 +11194,7 @@ function ProductConfigurator(props) {
|
|
|
11058
11194
|
} = methods;
|
|
11059
11195
|
const countedProductPrice = Number((parseFloat(price || "0") + countPrice(getValues("selected"), encodedProduct)).toFixed(2));
|
|
11060
11196
|
const onSubmit = () => {
|
|
11197
|
+
var _a;
|
|
11061
11198
|
console.log("onSubmit");
|
|
11062
11199
|
setIsOnSubmittedOnTrue();
|
|
11063
11200
|
const invalidContextNames = getInvalidSelCtxArray();
|
|
@@ -11069,6 +11206,16 @@ function ProductConfigurator(props) {
|
|
|
11069
11206
|
} else {
|
|
11070
11207
|
console.log("selected", getValues("selected"));
|
|
11071
11208
|
const decodedCleanedSelected = decodeSelected(cleanSelected(getValues("selected")));
|
|
11209
|
+
const filter = getValues("filter");
|
|
11210
|
+
(_a = Object.keys(decodedCleanedSelected || {})) == null ? void 0 : _a.forEach((x2) => {
|
|
11211
|
+
const group = findGroupInProductItemsBySelCtx(x2, product);
|
|
11212
|
+
if (group) {
|
|
11213
|
+
const isFilterValidated = validateProductFilter(group, filter);
|
|
11214
|
+
if (!isFilterValidated) {
|
|
11215
|
+
delete decodedCleanedSelected[x2];
|
|
11216
|
+
}
|
|
11217
|
+
}
|
|
11218
|
+
});
|
|
11072
11219
|
console.log("decodedCleanedSelected: ", decodedCleanedSelected);
|
|
11073
11220
|
handleAddToCart({
|
|
11074
11221
|
price: countedProductPrice,
|
|
@@ -11090,19 +11237,21 @@ function ProductConfigurator(props) {
|
|
|
11090
11237
|
children: [showDebugState && /* @__PURE__ */ jsx("div", {
|
|
11091
11238
|
className: "hidden",
|
|
11092
11239
|
children: /* @__PURE__ */ jsx(DisplayState, {})
|
|
11093
|
-
}), /* @__PURE__ */ jsx(
|
|
11094
|
-
|
|
11095
|
-
|
|
11096
|
-
|
|
11097
|
-
|
|
11098
|
-
|
|
11099
|
-
|
|
11100
|
-
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
|
|
11104
|
-
|
|
11105
|
-
|
|
11240
|
+
}), /* @__PURE__ */ jsx(GroupsValidationProvivider, {
|
|
11241
|
+
rootProduct: encodedProduct,
|
|
11242
|
+
children: /* @__PURE__ */ jsx(MenuProductRoot, {
|
|
11243
|
+
product: encodedProduct,
|
|
11244
|
+
productQuantity,
|
|
11245
|
+
isOpen,
|
|
11246
|
+
handleClose,
|
|
11247
|
+
handleGoBack,
|
|
11248
|
+
handleOnSubmit,
|
|
11249
|
+
countedProductPrice,
|
|
11250
|
+
countedProductTotalPrice: countedProductPrice * productQuantity,
|
|
11251
|
+
increaseProductQuantity,
|
|
11252
|
+
decreaseProductQuantity,
|
|
11253
|
+
currency
|
|
11254
|
+
})
|
|
11106
11255
|
})]
|
|
11107
11256
|
})
|
|
11108
11257
|
})
|
|
@@ -11110,5 +11259,5 @@ function ProductConfigurator(props) {
|
|
|
11110
11259
|
})
|
|
11111
11260
|
});
|
|
11112
11261
|
}
|
|
11113
|
-
export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus, getProductToChangeInForm, index_esm as hookForm, selectProductsInForm, unselectProductsInForm, useProductData, validateProductFilter };
|
|
11262
|
+
export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus, getProductToChangeInForm, index_esm as hookForm, selectProductsInForm, unselectProductsInForm, useMenuOptions, useProductData, useStore, validateProductFilter };
|
|
11114
11263
|
//# sourceMappingURL=index.es.js.map
|