{"version":3,"sources":["utils/enums.js","store/reducers/restaurant/restaurant-actions.js","environments/base.js","environments/production.js","utils/request-util.js","utils/sagaHelper.js","i18n.js","services/restaurant.js","utils/objects-util.js","store/selectors.js","models/controlBreadcrumbModel.js","services/createBreadcrumbModel.js","store/reducers/common-actions.js","modules/main/index.js","modules/restaurateur/index.js","utils/routesHelper.js","api/restaurant-requests.js","services/userModel.js","store/reducers/order/order-actions.js","services/controlModelFactory.js","services/controlModels/addControlModel.js","services/controlModels/backControlModel.js","services/controlModels/iconControl.js","services/controlModels/sortModeControl.js","services/controlModels/comboUrlControlModel.js","services/controlModels/filterControlModel.js","utils/convertTime.js","models/routeEstimationModel.js","models/contentModel.js","models/addonModel.js","models/depotUserModel.js","models/travelDataModel.js","models/categoryModel.js","models/categoryProductModel.js","models/productOptionModel.js","models/extraModel.js","models/extraSuboptionModel.js","models/parentMenuModel.js","models/businessGalleryModel.js","services/initModels.js","models/currentShiftDepotServerModel.js","models/currentShiftServerModel.js","models/shiftServerModel.js","models/categoryServerModel.js","models/restaurantRegionServerModel.js","models/assistanceServerModel.js","models/bulkServerModels.js","models/loyaltyRegisterVoucherModel.js","models/referralSettingsModel.js","models/cardServerModel.js","models/messageGalleryModel.js","models/operationTimingModel.js","models/location.js","models/addressModel.js","models/menuDeliveryZoneModel.js","models/offerModel.js","models/businessInfoModel.js","models/serviceCityServerModel.js","models/depotDeliveryPriceModel.js","models/regionDeliveryPriceModel.js","models/scheduleModel.js","models/refundModel.js","models/serviceFee.js","models/listPromotion.js","models/depotIntegrationModel.js","models/driverInfoModel.js","models/priceInfoModel.js","models/externalCycleModel.js","models/refundServerModel.js","models/extraSuboptionServerModel.js","models/extraServerModel.js","models/productOptionServerModel.js","models/categoryProductServerModel.js","models/contentServerModel.js","models/addonServerModel.js","models/addressServerModel.js","models/adminOrderProductServerModel.js","models/locationServerModel.js","models/userModel.js","models/credentialsServerModel.js","models/depotModel.js","models/depotServerModel.js","models/visualSettingsServerModel.js","models/regionModel.js","models/reshipmentOrder.js","models/namedPlaces.js","models/namedPlacesServerModel.js","models/shiftModel.js","models/currentShiftModel.js","models/controlCenterServerModel.js","models/controlCenterDeactivateServerModel.js","models/controlCenterEditServerModel.js","models/depotPriceServerModel.js","models/courierDeliveryFees.js","models/driverTipModel.js","models/marketplaceSettingsServerModel.js","models/marketplacePagesModel.js","models/menuTemplateModel.js","models/depotsMenuCopyModel.js","models/marketplaceModel.js","models/reviewExtraModel.js","models/billingAddressModel.js","models/providersModel.js","models/cloudPrintersModel.js","models/getCourierControlSettingsModel.js","models/getCourierDisplaySettingsModel.js","models/fleetModel.js","models/getCourierInterfaceSettingsModel.js","models/getCourierConfirmationSettingsModel.js","models/reconciliationModel.js","models/sectionModel.js","store/reducers/userModel/userModel-actions.js","store/reducers/init/init-reducer.js","store/reducers/authentication/authentication-reducer.js","store/reducers/restaurant/restaurant-reducer.js","store/reducers/userModel/userModel-reducer.js","store/reducers/order/order-reducer.js","store/reducers/orderEdit/orderEdit-reducer.js","store/reducers/marker/marker-reducer.js","store/reducers/sectionsWrapperData/sectionsWrapperData-reducer.js","store/reducers/routing/routing-reducer.js","store/reducers/portalMap/portalMap-reducer.js","store/reducers/tooltipPortal/tooltipPortal-reducer.js","store/reducers/notification/notification-reducer.js","store/reducers/menu/menu-reducer.js","store/reducers/globalPopupMessage/globalPopupMessage-reducer.js","store/reducers/marketplace/marketplace-actions.js","store/reducers/marketplace/marketplace-reducer.js","store/reducers/emptyInfo/emptyInfo-reducer.js","store/reducers/globalPortalData/globalPortalData-reducer.js","store/reducers/externalCycles/externalCycles-reducer.js","store/reducers/menuTemplate/menuTemplate-actions.js","store/reducers/menuTemplate/menuTemplate-reducer.js","store/reducers/loaders/loaders-actions.js","store/reducers/loaders/loaders-reducer.js","store/reducers/supportChat/supportChat-reducer.js","store/reducers/billing/billing-reducer.js","store/reducers/customer/customer-reducer.js","store/reducers/editCustomerOrder/editCustomerOrder-reducer.js","store/reducers/cycles/cycles-actions.js","store/reducers/cycles/cycles-reducer.js","store/reducers/reconciliationModel/reconciliationModel-reducer.js","store/root-reducer.js","store/sagas/routing-saga.js","api/auth-requests.js","store/sagas/marker-saga.js","store/sagas/userModel-saga.js","store/sagas/order-saga.js","models/createOrderServerModel.js","models/settingsTranslationsModel.js","api/statistics-request.js","api/reconciliation-requests.js","store/sagas/restaurant-saga.js","store/sagas/init-saga.js","store/sagas/authentication-saga.js","models/orderPriceServerModel.js","store/sagas/orderEdit-saga.js","store/sagas/checkUserAuthentication-saga.js","store/sagas/supportChat-saga.js","store/sagas/billing-saga.js","store/sagas/customer-saga.js","store/sagas/editCustomerOrder-saga.js","utils/getCountDecimal.js","store/sagas/reconciliationModel-saga.js","store/root-saga.js","store/store.js","services/filter.js","services/order.js","utils/constants.js","store/reducers/editCustomerOrder/editCustomerOrder-action.js","app/components/IconButton/index.js","api/order-requests.js","store/reducers/sectionsWrapperData/sectionsWrapperData-actions.js","models/filterOptionsModel.js","services/user.js","store/reducers/reconciliationModel/reconciliationModel-actions.js","utils/image-util.js","api/user-requests.js","store/reducers/marker/marker-actions.js","utils/auth-util.js","app/components/Waiter/Span.jsx","app/components/Waiter/ButtonSpan.jsx","app/components/Waiter/ButtonDiv.jsx","app/components/Waiter/Waiter.jsx","store/reducers/externalCycles/externalCycles-actions.js","store/reducers/notification/notification-actions.js","store/reducers/billing/billing-actions.js","app/components/IconButton/IconButton.jsx","app/components/SectionItemAudienceFilter/audienceFilterHelpers.js","store/reducers/customer/customer-actions.js","utils/math-util.js","store/reducers/supportChat/supprtChat-actions.js","app/components/Avatar/Avatar.jsx","services/color.js","services/dataStorage.js","app/components/FormInfoDataItem/FormInfoDataItem.jsx","store/reducers/orderEdit/orderEdit-actions.js","services/markers.js","store/reducers/authentication/authentication-actions.js","store/reducers/routing/routing-actions.js","services/roleManage.js","services/markericons.js","services/pusher.js","store/reducers/tooltipPortal/tooltipPortal-actions.js","models/controlModel.js","app/components/TimeBox/TimeBox.jsx","assets/images/preloader.GIF","app/components/ModalPopup/ModalPopup.jsx","app/components/Dropdown/Dropdown.jsx","app/components/UserRoleAvatar/UserRoleAvatar.jsx","utils/sectionModelHelper.js","services/settingsSectionModels/users.js","app/components/GrCodeDepot/GrCodeDepot.jsx","app/components/RegionDeliveryPrice/RegionDeliveryPrice.jsx","app/components/SquareUpControl/SquareUpControl.jsx","app/components/TextWithTooltip/TextWithTooltip.jsx","services/settingsSectionModels/depots.js","services/settingsSectionModels/regions.js","services/settingsSectionModels/serviceCities.js","services/settingsSectionModels/namedPlaces.js","app/components/StatusOrder/StatusOrder.jsx","app/components/CourierShiftControl/CourierShiftControl.jsx","app/components/CurrentShiftCourierEditPopup/CurrentShiftCourierEditPopup.jsx","app/components/CurrentShiftCourierEdit/CurrentShiftCourierEdit.jsx","app/components/CurrentShiftDepotAssignSelect/CurrentShiftDepotAssignSelect.jsx","app/components/CurrentShiftDepotAssignPopup/CurrentShiftDepotAssignPopup.jsx","app/components/CurrentShiftDepotAssign/CurrentShiftDepotAssign.jsx","app/components/ServiceProviderHistoryOrders/ServiceProviderHistoryOrders.jsx","services/settingsSectionModels/shifts.js","app/components/StatusControl/StatusControl.jsx","app/components/UserInfoControl/UserInfoControl.jsx","services/settingsSectionModels/controlCenters.js","app/components/OperationTimingSwitch/OperationTimingSwitch.jsx","services/settingsSectionModels/operationTimingSettings.js","app/components/SwitchEnableDeliveryZone/SwitchEnableDeliveryZone.jsx","app/components/ResetDepotGlobalPriceValue/ResetDepotGlobalPriceValue.jsx","services/orderingMenuSectionModels/deliveryZonesSection.js","services/orderingMenuMenuTemplateSectionModels/translations.js","app/components/ItemLogo/ItemLogo.jsx","services/orderingMenuSectionModels/categoriesSection.js","services/orderingMenuSectionModels/businesDiscounts.js","app/components/MarketplaceDiscountProductsItem/MarketplaceDiscountProductsItem.jsx","services/settingsSectionModels/offers.js","services/settingsSectionModels/searchShortcut.js","services/settingsSectionModels/marketplace.js","services/settingsSectionModels/giftCard.js","services/settingsSectionModels/courierDeliveryFees.js","services/settingsSectionModels/listPromotion.js","services/settingsSectionModels/deliveryZones.js","services/settingsSectionModels/pages.js","services/settingsSectionModels/menuTemplate.js","services/orderingMenuSectionModels/createParentMenuSection.js","services/orderingMenuMenuTemplateSectionModels/categoriesSection.js","services/orderingMenuMenuTemplateSectionModels/businesInfo.js","services/orderingMenuMenuTemplateSectionModels/businesDiscounts.js","services/orderingMenuMenuTemplateSectionModels/deliveryZonesSection.js","services/orderingMenuMenuTemplateSectionModels/createParentMenuSection.js","services/orderingMenuSectionModels/depotOperationTimingSettings.js","services/settingsSectionModels/messageSettings.js","services/orderingMenuSectionModels/translations.js","app/components/Stage/StagePeriods.js","app/components/PeriodDatesAndStage/PeriodDatesAndStage.js","services/settingsSectionModels/reconciliations.js","services/settingsSectionModels/providers.js","services/settingsSectionModels/cloudPrinters.js","services/settingsSectionModels/fleet.js","app/components/FleetProducerType/FleetProducerType.js","app/components/FleetVehicleType/FleetVehicleType.js","app/components/AdminOrderDateSearchFilter/AdminOrderDateSearchFilter.jsx","app/components/AdminOrderSearchFilterControl/AdminOrderSearchFilterControl.jsx","app/components/AdminOrderItem/AdminOrderItem.jsx","app/components/RefundsDetails/RefundDetails.jsx","app/components/CreateOrderMenu/ProductCard.jsx","app/components/CounterButton/CounterButton.jsx","app/components/CreateOrderMenu/CounterButton/CounterButton.jsx","app/components/CreateOrderMenu/Warning/Warning.jsx","app/components/CreateOrderMenu/ProductAddDish/ProductAddDish.jsx","app/components/CreateOrderMenu/RestaurantAddDish/RestaurantAddDish.jsx","app/components/CreateOrderMenu/CreateOrderMenu.jsx","app/components/CreateOrderMenu/CreateProduct/CreateProduct.jsx","app/components/CreateOrderMenu/ListSelectedProducts.jsx","app/components/AddDish/AddDish.jsx","app/components/CustomerServiceOrders/CustromerServiceOrders.jsx","app/components/CustomerReviewSearchPeriod/CustomerReviewSearchPeriod.jsx","app/components/CustomerReviewsHeader/CustomerReviewsHeader.jsx","app/components/RateSelect/RateSelect.jsx","app/components/RateControl/RateControl.jsx","app/components/CustomerReviewsFilter/CustomerReviewsFilter.jsx","app/components/ReviewItem/ReviewItem.jsx","app/components/CustomerReviewsData/CustomerReviewsData.jsx","app/components/CustomerReviews/CustomerReviews.jsx","app/components/CustomersListItems/CustomersListItems.jsx","app/components/CustomersList/CustomersList.jsx","app/components/CustomerDataHeader/CustomerDataHeader.jsx","app/components/CustomerDataItems/CustomerDataItems.jsx","app/components/CustomerBonusesRefund/CustomerBonusesRefund.jsx","app/components/CustomersBonusCard/CustomersBonusCard.jsx","app/components/CustomerBonusCardsList/CustomerBonusCardsList.jsx","app/components/CustomerBlockUser/CustomerBlockUser.jsx","app/components/CustomersData/CustomersData.jsx","app/components/AddNewCustomerFofm/AddNewCustomerFofm.jsx","app/components/Customers/Customers.jsx","app/components/CustomerSalesTopTenHeader/CustomerSalesTopTenHeader.jsx","app/components/CustomerSalesTopTenList/CustomerSalesTopTenList.jsx","app/components/CustomerSalesTopTen/CustomerSalesTopTen.jsx","app/components/CustomerSalesMenuList/CustomerSalesMenuList.jsx","app/components/CustomerSalesMenu/CustomerSalesMenu.jsx","app/components/CustomerSalesChartHeader/CustomerSalesChartHeader.jsx","app/components/CustomerSalesEvents/CustomerSalesEvents.jsx","app/components/ApexChart/ApexChart.jsx","app/components/CustomerSalesChart/CustomerSalesChart.jsx","app/components/CustomerSales/CustomerSales.jsx","app/components/SupportChatDialog/SupportChatDialogItem.jsx","app/components/SupportChatDialog/SupportChatDialog.jsx","app/components/SelectorUsersForChat/UserItem.jsx","app/components/SelectorUsersForChat/SelectorUsersForChat.jsx","app/components/CreateNewDialog/CreateNewDialog.jsx","app/components/CustomerServiceChat/CustomerServiceChat.jsx","services/orderingMenuSectionModels/skuOverride.js","services/sectionModelFactory.js","services/settingsSectionModels/paymentsSettings.js","services/settingsSectionModels/generalsettings.js","services/settingsSectionModels/courierAppSettingsModel.js","services/settingsSectionModels/businessAppSettings.js","services/settingsSectionModels/personalSettings.js","services/settingsSectionModels/telegramSettings.js","services/orderingMenuSectionModels/deepLink.js","services/settingsSectionModels/referral.js","services/settingsSectionModels/loyaltySettings.js","services/settingsSectionModels/driverTip.js","services/settingsSectionModels/serviceFee.js","services/settingsSectionModels/customerService.js","services/orderingMenuSectionModels/businesSchedule.js","services/orderingMenuSectionModels/businesInfo.js","services/orderingMenuMenuTemplateSectionModels/businesSchedule.js","services/audio.js","api/customer-requests.js","api/billing-request.js","services/notification.js","app/components/SwitchControl/index.js","api/supportChat-request.js","services/hooks.js","app/components/LayoutHeaderControls/index.js","models/marketplaceCampaignModel.js","utils/order.js","services/interval.js","app/components/RateItem/RateItem.jsx","app/components/SearchBox/index.js","models/chartModel.js","services/chartModels/controlCentersChartModel.js","services/chartModels/inProcessOrdersChart.js","services/chartModelFactory.js","store/reducers/init/init-actions.js","store/reducers/globalPortalData/globalPortalData-actions.js","app/components/LinkDownload/LinkDownload.jsx","app/components/ColumnTitleWithIcon/ColumnTitleWithIcon.jsx","app/components/CheckBox/CheckBox.jsx","app/components/SectionItemSelect/SectionItemSelect.jsx","services/globalFilterDataService.js","app/components/DatePicker/DatePicker.jsx","services/infoMessage.js","assets/images/avatar.png","store/reducers/globalPopupMessage/globalPopupMessage-actions.js","services/chatService.js","app/components/NumberInput/NumberInput.jsx","store/reducers/menu/menu-actions.js","services/databaseStorage.js","models/reconciliationsSettingsTemplateModel.js","app/components/Waiter/Button.jsx","app/components/LayoutHeaderControls/LayoutHeaderControls.jsx","app/components/SectionInfoTitle/index.js","app/components/VehicleIcon/index.js","models/editCustomerOrderModel.js","store/reducers/emptyInfo/emptyInfo-actions.js","app/components/ConfirmDialog/ConfirmDialog.jsx","services/userPilotService.js","services/baseNotification.js","models/providerModel.js","services/storeData.js","app/components/OrderDatetimeControl/OrderDatetimeControl.jsx","app/components/SectionItemAudienceFilter/TimeSpanItem.jsx","app/components/SectionItemAudienceFilter/AudienceFilterItem.jsx","app/components/SectionItemAudienceFilter/SectionItemAudienceFilter.jsx","app/components/OrderTitleInfo/OrderTitleInfo.jsx","app/components/RefreshDataIcon/RefreshDataIcon.jsx","app/components/LinkActionIcon/LinkActionIcon.jsx","services/settingsSectionModels/campaigns.js","services/googleMapsService.js","models/orderModel.js","models/paymentsModel.js","services/sentryService.js","app/components/FilterTriggerControl/FilterTriggerControl.jsx","app/components/Slider/Slider.jsx","app/components/GroupCheckbox/GroupCheckbox.jsx","app/components/OrdersFilterDropDownControl/OrdersFilterDropDownControl.jsx","app/components/DateLinks/DateLinks.jsx","app/components/OrdersFilter/OrdersFilter.jsx","app/components/DropdownMultiSelect/DropdownMultiSelect.jsx","app/components/SwitchControl/SwitchControl.jsx","services/controlModels/actionButton.js","app/components/ConfirmDialog/index.js","app/components/LinkDownload/index.js","app/hooks/useDebounce.js","services/billing.js","app/components/VehicleIcon/VehicleIcon.jsx","app/components/ControlCenterSearchSelect/ControlCenterSearchSelect.jsx","app/components/SearchBox/SearchBox.jsx","app/components/InvitationPopup/index.js","app/components/InvitationPopup/InvitationPopup.jsx","assets/images/icons/search_blue_small.png","app/components/GrCode/GrCode.jsx","app/components/OrderMenuOption/OrderMenuOption.jsx","app/components/ShiftCourierControlTimeSelect/ShiftCourierControlTimeSelect.jsx","app/components/ShiftCourierControlDepotsSelect/ShiftCourierControlDepotsSelect.jsx","app/components/ShiftCourierControlDepot/ShiftCourierControlDepot.jsx","app/components/RoleAvatar/RoleAvatar.jsx","app/components/Waiter/Svg.jsx","app/containers/ConfirmDialogContainer/index.js","models/menuModel.js","app/components/CountUnreadMessages/CountUnreadMessages.jsx","app/components/MenuItemIconDepots/MenuItemIconDepots.jsx","models/settingsMenu.js","models/orderingMenu.js","models/depotMenu.js","models/marketplaceSettingsMenu.js","models/orderingMenuMenuTemplate.js","models/shiftsMenu.js","models/menuMessageSettings.js","models/createLoyaltyMenu.js","models/createDeliveryMenu.js","models/createAppBuilderMenu.js","models/reconciliationMenu.js","models/menuCustomerService.js","models/menuGeoSettings.js","models/menuCourierManagement.js","models/menuItegrationsSettings.js","models/menuOperationsManagement.js","services/menuModelFactory.js","models/headerMenu.js","models/menuTemplateMenu.js","services/menu.js","app/components/SectionItemSwitch/SectionItemSwitch.jsx","app/components/AssociatePopup/AssociatePopupGroup.jsx","app/components/AssociatePopupControlCenter/AssociatePopupControlCenter.jsx","app/components/AssociatePopup/associatePopupControlCenters.jsx","app/components/AssociatePopupExternalProviders/AssociatePopupExternalProviders.jsx","app/components/AssociatePopupExternalAssignment/AssociatePopupExternalAssignment.jsx","app/components/AssociatePopup/AssociatePopup.jsx","app/containers/AssociatePopupContainer/index.js","app/components/Tooltip/Tooltip.jsx","app/components/ShiftCourierControlPopup/ShiftCourierControlPopup.jsx","app/components/ShiftCourierControl/ShiftCourierControl.jsx","app/components/CouriersShiftPopup/CourierShiftItem.jsx","app/hooks/usePagination.js","app/components/CouriersShiftPopup/CourierManagerItem.jsx","app/components/CouriersShiftPopup/CourierShiftsFilterItem.jsx","app/components/CouriersShiftPopup/CouriersShiftPopup.jsx","services/controlModels/importFileControl.js","services/controlModels/dropdownModel/DropdownModel.js","services/controlModels/listItemsModel/listItemsModel.js","app/components/FullScreenConfirmDialog/FullScreenConfirmDialog.jsx","app/components/SectionItemNumber/SectionItemNumber.jsx","app/components/CustomersListItem/CustomersListItem.jsx","app/containers/CouriersShiftPopupContainer/index.js","app/components/ControlCentersManagersList/UsersPopup.jsx","app/components/SectionInfoTitle/SectionInfoTitle.jsx","app/components/AmountControl/AmountControl.jsx","app/components/CustomersListHeader/CustomersListHeader.jsx","app/components/SectionItemMultiselect/SectionItemMultiselect.jsx","app/components/OrderStateControl/OrderStateControl.jsx","app/components/CourierInfoControl/CourierInfoControl.jsx","app/components/TimeAsap/TimeAsap.jsx","app/components/ReadinessTimeInfo/ReadinessTimeInfo.jsx","store/reducers/portalMap/portalMap-actions.js","app/components/NumberInput/index.js","app/components/TimeInfoETA/TimeInfoETA.jsx","app/components/ExternalCycleDriverInfo/index.js","app/components/AdminOrderInfoPayments/AdminOrderInfoPayments.jsx","app/components/PendingOrdersInfoData/index.js","app/components/RefundOrder/RefundOrder.jsx","app/components/CancelAdminOrder/CancelAdminOrder.jsx","context/portalMap-context.js","app/components/GlobalPopupMessagePortal/GlobalPopupMessagePortal.jsx","utils/helpers.js","app/components/AdminOrderInfoFooter/AdminOrderInfoFooter.jsx","app/components/AdminOrderInfo/AdminOrderInfo.jsx","app/components/TimeValidControl/TimeValidControl.jsx","app/components/ExternalCycleDriverInfo/ExternalCycleDriverInfo.jsx","app/components/OrderMenuOption/OrderOptionMenuComments.jsx","app/components/PendingOrdersInfoData/PendingOrdersInfoData.jsx","app/components/OrderInfoStatus/OrderInfoStatus.jsx","app/components/OrderTypeInfo/OrderTypeInfo.jsx","services/settingsSectionModels/ordersSectionModel.js","services/initService.js","app/components/CustomerOrderStatus/CustomerOrderStatus.jsx","app/components/CustomerDataItem/CustomerDataItem.jsx","app/components/CapturePaymentOrder/CapturePaymentOrder.jsx","app/components/AdminOrderInfoStatus/AdminOrderInfoStatus.jsx","app/components/AdminOrderInfoRestaurant/AdminOrderInfoRestaurant.jsx","app/components/AdminOrderInfoClientAndDelivery/AdminOrderInfoClientAndDelivery.jsx","app/components/AdminOrderInfoGift/AdminOrderInfoGift.jsx","app/components/OnOffSwitch/OnOffSwitch.jsx","app/components/PaginationControl/PaginationControl.jsx","app/components/InlineTooltipText/InlineTooltipText.jsx","assets/images/icons/place_marker.png","assets/images/images/Phone.png","assets/images/images/Address-grey.png","utils/extend.js","app/components/UserControlsMenu/UserControlsMenu.jsx","app/components/FreshChatControl/FreshChatControl.jsx","app/components/HeaderUserControls/HeaderUserControls.jsx","app/components/Menu/Menu.jsx","app/components/AccountTopNotification/AccountTopNotification.jsx","app/components/CurrentTime/CurrentTime.jsx","app/components/Header/Header.jsx","app/components/AlarmsBar/AlarmsBar.jsx","app/components/AppContent/AppContent.jsx","app/components/DraggableWrapper/DraggableWrapper.jsx","app/components/MapMarkerDepotIcon/MapMarkerDepotIcon.jsx","app/components/MapMarkerOrderNumberIcon/MapMarkerOrderNumberIcon.jsx","app/components/MapMarkerOrderIcon/MapMarkerOrderIcon.jsx","app/components/MapMarker/MapMarker.jsx","app/components/MapInfoBox/MapInfoBox.jsx","app/components/Map/Map.jsx","app/containers/MapContainer/index.js","app/components/PortalMap/PortalMap.jsx","app/components/TooltipPortal/TooltipPortal.jsx","app/components/IFrameControlPortal/IFrameControlPortal.jsx","app/components/GroupbarOrderItem/GroupbarOrderItemPreview.jsx","app/components/DndPreviewControl/DndPreviewControl.jsx","app/app.js","utils/translationLib.js","index.js"],"names":["TYPE_STORE_DATA","orders","noAssistanceOrders","couriers","billingInfo","STATUSES","notInitialized","inProcess","success","failed","COURIER_LOCATION_COLORS","yellow","red","green","COURIER_LOCATION_STATE","lost","standing","moving","CYCLE_STATE","started","approved","deliveryStart","comingBack","closed","away","GROUPING_STRATEGY","courierBased","immediateCooking","onDemand","ICONS_MARKER_TYPE","empty","point","checked","canseled","ICONS_COURIER_MARKER","courier","courierletter","courierlight","TYPE_MARKER","restaurant","depot","order","place","serviceCity","depotFromBusiness","DELIVERY_STRATEGY","asap","concreteTime","DEFAULT_ORDERS_GROUPS","groups","courierGroup","assistance","takeawayOrders","preOrders","Unsorted","ORDER_STATE","new","kitchen","ready","onroute","delivered","canceled","ORDER_TYPE","delivery","takeAway","pickUp","DELIVERY_TYPE","dinein","PICKUP_STATE","pending","arrived","PENDING_ORDER_TYPE","any","virtual","ACCOUNT_ORDER_STATUS","accepted","delivering","finished","ORDER_PROCESS_STEP","waitingForApproval","waitingForCourierAssignment","waitingForPickup","processingFinished","PENDING_ORDERS_FILTER_TYPE","cooking","preorders","history","active","getAccountOrderStatusList","key","value","getAccountOrderStatusTitle","status","i18n","t","getAccountOrderStatusInfo","title","icon","getAccountOrderDeliveryStrategyList","SHIFT_TYPE","Normal","Backup","ControlCenter","SHIFT_TYPE_VALUES","_SHIFT_TYPE_VALUES","_defineProperty","ORDER_STATE_COLOR","blue","white","TYPE_NOTIFICATION","notificationType","warningType","errorType","importantWarningType","SEVERITY_NOTIFICATION","lostCommunication","orderNotDeliveredInTime","courierLost","boxLost","courierStopped","orderCanLate","assistanceExists","courierCommingBack","courierReadyToDispatch","courierWrongRoute","consumerOrderCreated","orderIsNotAssignedTimeout","NOTIFICATION_COLOR_TYPE","SOUND_NOTIFICATION","_SOUND_NOTIFICATION","SOUND_ERRORS","notAllowedError","MODEL_TYPE","orderEdit","referralSettings","categoryProductModelOverride","address","location","payments","content","controlCenterInfo","externalCycleModel","driverInfoModel","routeEstimation","addon","user","cloudPrinters","region","providers","reshipmentOrder","userServerModel","restaurantRegionServerModel","depotUserModel","depotDeliveryPriceModel","depotDeliveryPriceServerModel","regionDeliveryPriceModel","travelDataModel","namedPlaces","serviceCities","shifts","currentShift","deliveryZoneModel","offerModel","businessInfoModel","categoryModelOverride","categoryModelForOverride","categoryModel","categoryProductModel","categoryProductModelForOverride","productOptionModel","extraModel","extraModelOverride","optionModelOverride","suboptionsOverride","extraSuboptionModel","scheduleModel","refundModel","serviceFeeModel","cancelOrderModel","courierDeliveryFees","courierDeliveryFeesServer","listPromotionModel","depotIntegrationModel","depotIntegrationServerModel","serviceFeeServerModel","listPromotionServerModel","refundServerModel","extraSuboptionServerModel","extraServerModel","productOptionServerModel","categoryProductServerModel","categoryServerModel","businessInfoServerModel","namedPlacesServerModel","contentServerModel","assistanceServerModel","addonServerModel","addressServerModel","locationServerModel","credentialsServerModel","depotServerModel","visualSettingsServerModel","shiftServerModel","currentShiftDepotServerModel","currentShiftServerModel","controlCenterActivateServerModel","controlCenterDeactivateServerModel","controlCenterEdit","adminOrderProductServerModel","driverTip","marketplacePages","menuTemplate","depotsMenuCopy","marketplace","marketplaceSettings","parentMenu","reviewExtra","billingAddressModel","gallery","provider","operationTiming","extraModelWithOverrides","optionModelWithOverrides","suboptionsModelWithOverrides","courierAppSettings","courierDisplaySettings","courierInterfaceSettings","courierConfirmationSettings","courierConfirmationSettingsServerModel","messageGallery","messageGalleryServerModel","editCustomerOrder","consumerServerModel","fleet","fleetTelemetry","marketplaceCampaignModel","reconciliations","reconciliationsSettingsTemplateModel","reconciliationsPeriodsTemplateModel","reconciliationsPeriodTemplateModel","creditCard","loyaltyRegisterVoucher","loyaltyRegisterVoucherServerModel","CAMPAIGN_TYPES","push","CAMPAIGN_RECURRING_TYPES","CAMPAIGN_AUDIENCE_FILTER_TYPES","equal","notEqual","less","more","lessOrEqual","moreOrEqual","CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES","creationDateTime","birthdate","consumerProfile_FirstOrderDate","consumerProfile_LastOrderDate","consumerProfile_LastRatingDate","CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES","language","gender","currentTerritory","consumerProfile_LastDepot","consumerProfile_LastTerritory","CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES","consumerProfile_TotalOrders","consumerProfile_TotalTakeAwayOrders","consumerProfile_TotalDeliveryOrders","consumerProfile_AverageOrderAmount","consumerProfile_AmountOfPositiveReviews","consumerProfile_AmountOfNegativeReviews","consumerProfile_AmountOfPositiveDeliveryReviews","consumerProfile_AmountOfNegativeDeliveryReviews","consumerProfile_LastRating","consumerProfile_LastDeliveryRating","loyaltyLevel","CAMPAIGN_PERIOD_TYPES","hours","days","weeks","months","getCampaignTypes","AUDIENCE_FILTER_SELECT_GROUP_TYPES","lookup","timeSpan","numeric","AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES","yesterday","today","tomorrow","after","before","CAMPAIGN_EXECUTION_STATE_TYPES","CAMPAIGN_GANDER","CAMPAIGN_AUDIENCE_FILTER_TYPE","ByChannel","ByCriteria","CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPES","getAudienceFilterType","getAudienceFilterChannel","getAudienceFilterSelectTypes","isRemoveTerritories","arguments","length","undefined","defaultSelect","isGroupTitle","filter","item","includes","audienceFilterTimeStampTypes","Object","values","getCampaignRecurringTypes","getAudienceFilterTypes","isLookupOnly","timestamp","lookupTypes","concat","getCampaignPeriodTypes","getCampaignDaysOffsetTypes","getCampaignGenders","WAITER_TYPES","button","buttonSvg","buttonSpan","buttonDiv","svg","span","RESTAURANT_STATES","autoMode","manualMode","COURIER_ASSOCIATION_MODE","pull","manualPull","autoPuch","COURIER_GROUP_MODEL_TYPE","onRouteGroup","approvedGroup","comingBackGroup","awayGroup","waitingGroup","backupGroup","externalCycle","CONFIRM_DIALOG_TYPE","goAwayShift","cancelShift","finishShift","deleteItem","reload","default","COURIER_STATE","startBackup","startShift","endShift","endBackup","PUBLIC_DATA_KEYS","accessToken","refreshToken","tokenType","rememberMe","currentUserName","COUNTRY_CURRENCY_CODES","IL","ME","RS","RU","UA","US","RO","MX","KZ","DATECONTROL_TYPE","time","date","datetime","SHOW_DROPDOWN_NAME","suggest","courierAssociationModes","languages","sellerBankCodes","sellerPersonBusinessTypes","sellerIncList","CONTROL_TYPE","arrayItems","checkbox","controlCentersList","usersPopup","groupCheckbox","columnGroupCheckbox","cityAddress","inlineLabel","squareAssociatedLocations","editTable","frame","group","image","imageEdit","languageEditor","lapse","schedule","label","link","dateLink","linkAction","linkIconComponent","linkControl","linkDownload","linkSvg","listItem","mapAddress","mapRegion","mapByLocation","number","password","iconsSelector","allowedDepotsList","paymeConfiguration","paymeRadioButtons","depotPaymentSelector","presetTiming","roleSelector","sectionGroup","sectionName","sectionTab","select","multiselect","selectInterval","selectWithAdd","slider","keywords","switch","switchGroups","text","inputNumber","inputText","inputPercent","textArea","vehicleSelector","radioButton","richText","nestedItem","iconWithQuantity","copyToClipboard","mobileMenu","deepLinkStat","audienceFilter","bonusVoucher","modalSelect","translationTable","reconciliationFeesTable","reconciliationPeriodsTable","reconciliationMultiSelect","defaultMultiSelect","MODAL_COMPONENT_TYPE","customersList","CONTROL_STYLE_TYPE","inline","FILTER_TYPE","and","or","from","to","VEHICLE_TYPE","kickScooter","car","VEHICLE_CYCLE_TYPE","MODE_SWITCHER_TYPE","extraSize","getModeSwitcherValues","withExtraSize","items","tooltip","getVehicleTypeTooltip","vehicleType","SECTION_MODEL_FACTORY_TYPE","settings","orderingMenu","marketplaceOrderingMenu","TYPE_SECTION_DEPOT_MODEL","depotMenu","depotsEditPrice","depotusers","depotusersEdit","depotusersNew","depotusersConfirmPassword","depotIntegrations","depotIntegrationsNew","depotIntegrationsEdit","depotDefaultRegionControlCenters","depotDefaultRegionControlCentersNew","depotDefaultRegionControlCentersEdit","providerNew","providerEdit","depotPaymeCreditInfo","depotPaymeCreditInfoEdit","depotsEdit","telegram","reconciliation","operationMode","operationModeEdit","operationModeNew","operationModeActive","TYPE_SECTION_MODEL","geoSettings","integrations","operationsManagement","users","usersEdit","usersNew","cloudPrintersEdit","cloudPrintersNew","userConfirmPassword","depots","depotsNew","depotsPriceApplyTo","depotsMenu","depotpaymewallet","depotpaymewalletNew","depotsCategories","depotsCategoriesEdit","depotSquareAssociatedLocation","generalSettings","courierManagement","personalSettings","personalSettingsConfirmPassword","telegramSettings","restaurantPaymeWallet","restaurantPaymeWalletNew","regions","regionsEdit","regionsNew","serviceCitiesNew","serviceCitiesEdit","searchShortcuts","searchShortcutsNew","searchShortcutsEdit","marketplaceNew","marketplaceEdit","namedPlacesNew","namedPlacesEdit","controlCenters","controlCentersEdit","controlCentersActivate","controlCentersDeactivate","controlCentersChangeuser","operationTimingEdit","operationTimingNew","courierDeliveryFeesTemplate","courierDeliveryFeesTemplateEdit","courierDeliveryFeesTemplateNew","businessAppSettings","fleetEdit","fleetNew","providersEdit","providersNew","deliveryProviders","deliveryProvidersEdit","deliveryProvidersNew","SHIFTS_MODEL","historyEdit","shiftHistory","currentShiftUsers","currentShiftDepots","currentShiftDepotEdit","currentShiftHistory","currentShiftProviderHistory","currentShiftProviderHistoryOrder","TYPE_SECTION_MENUTEMPLATE_MODEL","menuTemplateMenu","menuTemplateMenuCopy","menuTemplateEdit","TYPE_SECTION_MESSAGE_MODEL","messageInfo","messageGalleryEdit","messageGalleryNew","MARKETPLACE_SETTINGS_MODEL","paymentsConfiguration","serviceFee","offers","offersEdit","offersNew","loyalty","giftCard","giftCardCategoryProducts","giftCardCategoryProductsNew","giftCardCategoryProductsEdit","referral","campaigns","campaignsNew","campaignsEdit","campaignsExecutions","loyaltySettingsRegistrationBonus","loyaltySettingsCashback","deliveryZones","deliveryZonesEdit","deliveryZonesNew","customerDeliveryPrice","listPromotion","appBuilder","listPromotionNew","listPromotionEdit","businessCategories","businessCategoriesNew","businessCategoriesEdit","menuTemplateNew","cancelReason","cancelReasonNew","cancelReasonEdit","pages","pagesNew","pagesEdit","deepLink","CUSTOMER_SERVICE_MODEL","supportChat","reviews","customers","sales","RECONCILIATIONS_MODEL","settingsTemplateNew","settingsTemplateEdit","periods","periodsView","periodsEdit","configuration","ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL","orderingBusinessParentMenu","orderingBusinessParentMenuEdit","orderingMenuEdit","orderingMenuBusinesInfo","orderingMenuSchedule","orderingMenuDeliveryZones","orderingMenuDeliveryZonesEdit","orderingMenuDeliveryZonesNew","orderingMenuDiscounts","orderingMenuDiscountsNew","orderingMenuDiscountsEdit","orderingBusinessMenu","orderingBusinessMenuEdit","orderingBusinessMenuNew","orderingBusinessMenuExtras","orderingBusinessMenuExtrasNew","orderingBusinessMenuExtrasEdit","orderingBusinessMenuExtrasOption","orderingBusinessMenuExtrasOptionEdit","orderingBusinessMenuExtrasOptionNew","orderingBusinessMenuExtrasSuboption","orderingBusinessMenuExtrasSubsuboptionEdit","orderingBusinessMenuExtrasSubsuboptionNew","orderingBusinessMenuCategoryProducts","orderingBusinessMenuCategoryProductsNew","orderingBusinessMenuCategoryProductsEdit","orderingBusinessMenuCategoryProductIngredient","orderingBusinessMenuCategoryProductIngredientNew","orderingBusinessMenuCategoryProductIngredientEdit","orderingBusinessMenuCategoryExtras","orderingBusinessMenuCategoryExtrasNew","orderingBusinessMenuCategoryExtrasEdit","orderingBusinessMenuCategoryExtrasOption","orderingBusinessMenuCategoryExtrasOptionEdit","orderingBusinessMenuCategoryExtrasOptionNew","orderingBusinessMenuCategoryExtrasSuboption","orderingBusinessMenuCategoryExtrasSuboptionEdit","orderingBusinessMenuCategoryExtrasSuboptionNew","orderingMenuCategories","orderingMenuTranslations","orderingMenuSku","orderingMenuCategoriesNew","reviewProductExtra","overrideExtra","overrideOption","overrideSuboption","galleryEdit","galleryNew","ORDERING_MENU_TYPE_SECTION_MODEL","parentMenuProductOverride","parentMenuSuboptionsOverride","parentMenuCategoryOverride","parentMenuOptionsOverride","parentMenuExtraOverride","orderingMenuDeliveryZonesGlobalEdit","orderingBusinessMenuCategoryProductsDeepLinkEdit","orderingMenuLink","translations","sku","BILLING_PATHS","billing","payment","plan","usages","CHART_MODEL","controlCentersTable","depotTableData","inProcessOrders","ordersAverage","ordersAveragePerHours","reportDeliveryTimeItems","reportAverageDeliveryTimeItems","reportAverageDeliveryTime","reportControlCenterAverageDeliveryTime","reportDayAverageDeliveryTime","controlCentersAverageDeliveryTime","deepLinkStats","TYPE_CHART","comboChart","pieChart","columnChart","table","gauge","barChartStacked","areaChart","line","POPUP_ITEM_TYPE","managerItem","courierShiftItem","shiftsFilterItem","dateRange","MODEL_CONTROL_TYPE","add","back","iconControl","comboUrl","sortMode","importFile","actionButton","listItems","dropdown","TYPE_ACTION","view","edit","TYPE_EDIT_ACTION","delete","reorder","USER_FILTER_ROLES","supervisor","deliveryManager","supportOperator","controlCenterManager","USER_ROLES","all","ROLES_MANAGER_TYPE","_ROLES_MANAGER_TYPE","menu","TYPE_STORAGE","local","session","db","FIND_ADDRESS_TYPE_ACTION","find","findByAddress","restore","search","TYPE_STATUS","textActive","textDisabled","TYPE_MENU","header","depotSettings","loyaltyMenu","deliveryMenu","appBuilderMenu","orderingMenuMenuTemplate","messageSettings","customerService","FORMAT_RELATIVE_TIME_ONLY_TYPE","d","h","m","TITLE_RELATIVE_TIME","type","COUNTRY_CURRENCY_CODES_VALUE","PL","TYPE_PATTERN","email","userName","userNameWithSpaces","userPassword","onlyNumbers","slug","DIALOG_TYPE_CONFIRM","accept","acknowledge","reject","delay","CREDIT_ACCEPT","off","infoOnly","selling","INTEGRATION_TYPE","none","box","presto","beeComm","paidIt","netlunch","sms","clickeat","wix","ordering","foodNinjas","bamps","nikosha","caspit","aviv","uber","mcDonalds","wooCommerce","tabit","livraro","shopify","beeCommCloud","deliverect","gloriaFood","kitchenHub","valueCard","squareUp","noga","mishloha","halalDeliveryUk","wolt","wixMarketPlace","forgastro","merkus","portel","restimo","cibeez","appyRo","kiosk","internalOutsourcing","HALF_OPTION","0","1","2","DELIVERY_ZONE_TYPE","circle","polygon","reference","deliveryZoneReference","getDeliveryZoneTypes","withDeliveryZoneReference","types","getWeekDays","RATE_TYPE","percent","price","DISCOUNT_TYPE","promotion","coupon","DISCOUNT_ORDER_TYPE","SPICY_TYPE","rateTypes","discountTypes","discountOrderTypes","spicyTypes","CROP_MODE","fill","pad","fit","mfit","scale","limit","lpad","mpad","crop","fill_pad","thumb","GRAVITY_MODE","center","north_east","north","north_west","west","south_west","south","south_east","east","liquid","auto","getCropModes","keys","map","getGravityModes","QUALITY_MODE","best","good","eco","low","custom","getQualityModes","RESHIPMENT_TYPE","marketplaceResponsibility","restaurantResponsibility","getReshipmentTypes","reshipments","RESHIPMENT_TYPE_VALUE","REFOUND_CHANNEL_TYPE","getRefoundChannelType","getRefoundBonusChannelType","PAY_METHOD","cash","bonus","discount","voucher","terminal","getPaymethodNames","_getPaymethodNames","ORDER_INTEGRATION_TYPE_FILTER","application","external","allOrders","allMarketplaceOrders","getOrderIntegrationTypeFilterItems","ADMIN_ORDER_FILTER_TYPE","business","dateStart","dateEnd","deliveryStrategy","territory","deviceType","paymentMethod","orderSource","LAYOUT_TYPE","adminOrderInfo","PRICE_CALCULATION_MODE","fixedRegionBased","distanceBased","mixed","PERIOD_TYPE","week","month","prevMonth","year","selectDate","getPeriodTypeTranslate","getPendingOrdersHistoryPeriods","excludedItems","isShowSelect","getBasePeriods","period","getMerchantDeliveryCostCalculationModeItems","newOrderNotificationMode","salaryCalculationMode","POSITIONING_TYPES","getPositioningTypes","FORM_FACTOR","getFormatTypes","MARKETPLACE_SEARCH_TYPES","favorites","mostPopular","fastestDelivery","distance","deliveryPrice","freeDelivery","instagram","categories","messages","getMarketplaceSearchTypesFilter","getMarketplaceSearchTypes","MARKETPLACE_MESSAGE_TYPE","generalWarning","banner","article","bussinesPromotion","customList","serviceShutdown","getMarketplaceMessageTypes","MARKETPLACE_LANGUAGE","getMarketplaceLanguages","TYPE_SWITCH_CONTROL_COLOR","blueSubmit","crown","getCurrencyIcons","currency","icons","RUB","USD","EUR","GBP","UAH","AED","ILS","JPY","KZT","PLN","toUpperCase","getUserError","error","STREET_CONTROL_TYPE_BUTTON","notes","TYPE_INFO_MESSAGE","emptyControlcenter","PUSHER_CONNECTION_STATE","connected","connecting","getDepotIntegrationTypes","getDepotIntegrationAddTypes","EXTERNAL_COURIER_PROVIDER","delivApp","yango","doorDash","haat","gett","EXTERNAL_CYCLE_STATE","estimationFailed","estimated","driverAssigned","driverNotFound","getExternalCourierProviderNameByProvider","isReturnArray","f","getExternalCourierProviderName","providerName","name","getExternalCourierState","state","NEW_BUSINESS_MENU_TYPE","template","fromtemplate","getNewBusinessMenuTypes","EXTRA_TYPES","extra","option","suboption","PARENT_MENU_UNIT_TYPES","category","product","INFO_ITEM_TYPE","phone","serviceNotes","SUBSCRIPTION_STATE","expired","future","paused","INTERVAL_UNIT","PAYMENT_PROVIDER","PayMe","Stripe","Tranzila","SOURCE_TYPE","logistic","app","admin","tenBis","cibus","delivapp","isMarketplaceOrder","sourceType","isLogisticOrder","isValidForRepeat","order_source","orderSourceType","_ref","chatSource","support","consumer","chatSourceTypes","_chatSourceTypes","filterStateChat","pendingOperator","getFilterStateChat","OFFER_DISCOUNT_TARGET","products","ORDER_DISCOUNT_TYPE","common","getOfferDiscountTarget","getOfferCalculationBase","BASIC_PATH","adminOrders","GLOBAL_FILTER_TYPE","APPLICATION_TYPE","SALES_TYPES","quantity","income","source","DEEP_LINK_EVENT_TYPE","DEEP_LINK_EVENT","_DEEP_LINK_EVENT","EVENT_OBJECT_TYPE","EVENT_OBJECT","_EVENT_OBJECT","imageFormats","videoFormats","GENDER","getGenders","getGender","g","PROVIDERS_TYPE_MODEL","Yango","Wolt","DoorDash","Sendiman","Haat","Gett","BATCH_STATUS","draft","pay","getBatchStatus","batchStatus","LOYALTY_LEVEL","loyaltyLevels","getLoyaltyLevel","ORDER_CHANNEL","orderChannelNames","_ref2","getOrderChannelNames","orderChannel","getDepotPaymentValue","COURIER_CONFIRMATION_OPTION","onManualCycleExtension","onManualCycleApprove","onAutoCycleExtension","onAutoCycleApprove","onManualCycleExtensionForSalaryCourier","onManualCycleApproveForSalaryCourier","onAutoCycleExtensionForSalaryCourier","onAutoCycleApproveForSalaryCourier","getCourierShiftTypes","GET_SALES_STATISTICS","LOAD_RESTAURANT","LOAD_RESTAURANT_SUCCESS","LOAD_RESTAURANT_FAIL","LOAD_DEPOT_AVATARS","SAVE_DEPOT_AVATAR","SAVE_DEPOTS_AVATARS","PUSHER_RESTAURANT_STATE_UPDATE","RESTAURANT_UPDATE_CONTROL_CENTERS","RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS","RESTAURANT_CONTROL_CENTER_STATUS_GET","RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE","SET_MENU_CREATE_ORDER","RESTAURANT_SET_MODE","RESTAURANT_UPDATE","SET_BUSINESS_MENU","REMOVE_BUSINESS_MENU","SET_BUSINESS_PARENT_MENU","SET_DEPOT_PROVIDERS","SET_ORDERS_PROVIDER","SET_SHIFT_PROVIDERS","DEPOT_NEW","DEPOT_EDIT","DEPOT_DELETE","SET_DEPOT_AVATAR","DEPOT_OPERATION_MODE_SETTING_GET_ALL","DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE","DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_EDIT","EDIT","DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET","DEPOT_INIT_DATA_GET","GET","DEPOT_OPERATION_MODE_SETTING","DEPOT_OPERATION_MODE_SETTING_GET","DEPOT_OPERATION_MODE_SETTING_EDIT","DEPOT_OPERATION_MODE_SETTING_ADD","ADD","DEPOT_OPERATION_MODE_SETTING_DELETE","DELETE","DEPOT_SETTING","DEPOT_SETTING_ADD","DEPOT_SETTING_EDIT","DEPOT_SETTING_DELETE","DEPOTPAYMEWALLET_SETTING","DEPOTPAYMEWALLET_SETTING_ADD","DEPOTPAYMECREDIT_SETTING","DEPOTPAYMECREDIT_SETTING_EDIT","DEPOT_BUSINESS_PRODUCT_DEEP_LINK","MARKETPLACE_DEEP_LINK_CREATE","MARKETPLACE_DEEP_LINK","DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE","DEPOT_BUSINESS_DEEP_LINK","DEPOT_BUSINESS_DEEP_LINK_CREATE","DEPOT_BUSINESS_SKU","DEPOT_BUSINESS_SKU_GET","DEPOT_BUSINESS_SKU_EDIT","DEPOT_BUSINESS_SKU_EXPORT","DEPOT_BUSINESS_SKU_IMPORT","DEPOT_BUSINESS_TRANSLATION","DEPOT_BUSINESS_TRANSLATION_GET","DEPOT_BUSINESS_TRANSLATION_EDIT","DEPOT_BUSINESS_TRANSLATION_EXPORT","DEPOT_BUSINESS_TRANSLATION_IMPORT","BUSINESS_CATEGORY","BUSINESS_CATEGORY_GET","BUSINESS_CATEGORY_ADD","BUSINESS_CATEGORY_EDIT","BUSINESS_CATEGORY_DELETE","BUSINESS_CATEGORY_UPDATE","UPDATE","CANCEL_REASON","CANCEL_REASON_EDIT","CANCEL_REASON_ADD","CANCEL_REASON_DELETE","CANCEL_REASON_GET","LOAD_DEPOT_USER_BY_ID","DEPOTPAYMENT_STATE","DEPOTUSERS_SETTING","DEPOTUSERS_SETTING_EDIT","DEPOTUSERS_SETTING_ADD","DEPOTUSERS_SETTING_DELETE","DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING","DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_EDIT","DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_ADD","DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_DELETE","DEPOTPRICE_SETTING","DEPOTPRICE_SETTING_EDIT","DEPOTPRICE_SETTING_APPLY_TO","DEPOTPRICE_SETTING_APPLY_TO_ADD","DEPOTMENU_SETTING","DEPOTMENU_SETTING_EDIT","DEPOTMENU_SETTING_CHECK","DEPOTMENU_GET","DEPOT_MENU_COPY","DEPOT_MENU_COPY_EDIT","ORDERING_MENU","ORDERING_MENU_GET","BUSINESS_MENU_GET","BUSINESS_MENU","SETTINGS_OFFERS","SETTINGS_OFFERS_ADD","SETTINGS_OFFERS_EDIT","SETTINGS_OFFERS_DELETE","SETTINGS_OFFERS_GET","SETTINGS_DELIVERY_ZONES","SETTINGS_DELIVERY_ZONES_ADD","SETTINGS_DELIVERY_ZONES_EDIT","SETTINGS_DELIVERY_ZONES_DELETE","SETTINGS_DELIVERY_ZONES_GET","SETTINGS_DELIVERY_ZONES_LIST_UPDATE","ORDERING_MENU_DELIVERY_ZONES","ORDERING_MENU_DELIVERY_ZONES_GLOBAL","ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT","ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET","ORDERING_MENU_DELIVERY_ZONES_ADD","ORDERING_MENU_DELIVERY_ZONES_EDIT","ORDERING_MENU_DELIVERY_ZONES_DELETE","ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE","ORDERING_MENU_DELIVERY_ZONES_UPDATE","ORDERING_MENU_BUSINESS_SCHEDULE","ORDERING_MENU_BUSINESS_SCHEDULE_EDIT","ORDERING_MENU_BUSINESS_DISCOUNTS","ORDERING_MENU_BUSINESS_DISCOUNTS_ADD","ORDERING_MENU_BUSINESS_DISCOUNTS_EDIT","ORDERING_MENU_BUSINESS_DISCOUNTS_DELETE","ORDERING_MENU_BUSINESS_INFO","ORDERING_MENU_BUSINESS_INFO_EDIT","ORDERING_MENU_BUSINESS_CATEGORIES","ORDERING_MENU_BUSINESS_CATEGORIES_EDIT","ORDERING_MENU_BUSINESS_CATEGORIES_ADD","ORDERING_MENU_BUSINESS_CATEGORIES_DELETE","ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE","ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_ADD","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DELETE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_AVATAR","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_DELETE","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_REORDER","REORDER","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_UPDATE","GET_ORDERING_MENU_BUSINESS_EXTRA","ORDERING_MENU_BUSINESS_EXTRA","ORDERING_MENU_BUSINESS_EXTRA_EDIT","ORDERING_MENU_BUSINESS_EXTRA_ADD","ORDERING_MENU_BUSINESS_EXTRA_DELETE","ORDERING_MENU_BUSINESS_EXTRA_UPDATE","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_EDIT","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_ADD","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_DELETE","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_UPDATE","ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_REORDER","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION","ORDERING_MENU_BUSINESS_EXSTRAS_SUBOPTION_UPDATE_IMAGE","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_EDIT","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_ADD","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_DELETE","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_REORDER","ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_ADD","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_DEPOT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ADD","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DELETE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_REORDER","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_UPDATE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_EDIT","ORDERING_MENU_BUSINESS_CATEGORY_EXSTRAS_SUBOPTION_UPDATE_IMAGE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ADD","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DELETE","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_REORDER","ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_UPDATE","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE","TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT","ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT","ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT","ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT","PARENT_MENU_OVERRIDE_DELETE","PARENT_MENU_OVERRIDE_SUBOPTION","PARENT_MENU_OVERRIDE_SUBOPTION_EDIT","PARENT_MENU_OVERRIDE_OPTION","PARENT_MENU_OVERRIDE_OPTION_EDIT","PARENT_MENU_OVERRIDE_EXTRA","PARENT_MENU_OVERRIDE_EXTRA_EDIT","PARENT_MENU_OVERRIDE_PRODUCT","PARENT_MENU_OVERRIDE_PRODUCT_EDIT","PARENT_MENU_OVERRIDE_CATEGORY","PARENT_MENU_OVERRIDE_CATEGORY_EDIT","ORDERING_MENU_BUSINESS_PRODUCT_DELETE_OVERRIDE","ORDERING_MENU_BUSINESS_GALLERY","ORDERING_MENU_BUSINESS_GALLERY_EDIT","ORDERING_MENU_BUSINESS_GALLERY_DELETE","ORDERING_MENU_BUSINESS_GALLERY_ADD","ORDERING_MENU_BUSINESS_GALLERY_REORDER","SET_ORDERING_MENU_BUSINESS_INFO_AVATAR","SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI","GET_DEPOT_USERS","GET_DEPOT_PRICE","SHIFTS_GET","SHIFTS_SAVE","UPDATE_SHIFTS","SAVE_DEPOT_USERS","UPDATE_DEPOT_USER","ADD_DEPOT_USER","DEPOTUSERS_SETTING_PASSWORD","DEPOTUSERS_SETTING_PASSWORD_EDIT","SHIPMENT_PRICE_CONFIGURATION","SHIPMENT_PRICE_CONFIGURATION_EDIT","SHIPMENT_PRICE_CONFIGURATION_GET","GENERAL_SETTING","GENERAL_SETTING_EDIT","GENERAL_SETTING_GET","MESSAGE_GALLERY","MESSAGE_GALLERY_DELETE","MARKETPLACE_MENU_CLEAR_OVERRIDE","MARKETPLACE_MESSAGE","MARKETPLACE_PAGES","MARKETPLACE_PAGES_ADD","MARKETPLACE_PAGES_EDIT","MARKETPLACE_PAGES_DELETE","MARKETPLACE_MESSAGE_ADD","MARKETPLACE_MESSAGE_EDIT","MARKETPLACE_MESSAGE_TOGGLE_ENABLED","MARKETPLACE_PAGES_TOGGLE_ENABLED","MARKETPLACE_MESSAGE_DELETE","ADD_MARKETPLACE_MESSAGE","ADD_MARKETPLACE_PAGES","UPDATE_MARKETPLACE_MESSAGE_GALLERY","UPDATE_MARKETPLACE_MESSAGE_GALLERY_ADD","UPDATE_MARKETPLACE_MESSAGE","DELETE_MARKETPlACE_MESSAGE","UPDATE_MARKETPLACE_PAGE","DELETE_MARKETPLACE_PAGE","MARKETPLACE_MESSAGE_UPDATE","MARKETPLACE_PAGES_UPDATE","MARKETPLACE_SETTINGS","MARKETPLACE_SETTINGS_EDIT","TELEGRAM_SETTING","TELEGRAM_SETTING_EDIT","OPERATION_TIMING_SETTING","OPERATION_TIMING_SETTING_EDIT","OPERATION_TIMING_SETTING_ADD","OPERATION_TIMING_SETTING_DELETE","OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY","OPERATION_TIMING_SETTINGS_GET","PAYMENTS_CONFIGURATION_SETTING","PAYMENTS_CONFIGURATION_SETTING_EDIT","RESTAURANT_PAYME_WALLET_SETTING","RESTAURANT_PAYME_WALLET_SETTING_ADD","RESTAURANT_PAYMENT_STATE","REGION_SETTING","REGION_SETTING_EDIT","REGION_SETTING_ADD","REGION_SETTING_DELETE","FLEET_SETTINGS","FLEET_SETTINGS_UNMOUNT","FLEET_SETTINGS_LOAD","FLEET_SETTINGS_TELEMETRY_LOAD","FLEET_SETTINGS_FLEET_VEHICLE_LOAD","FLEET_SETTINGS_GET","FLEET_SETTINGS_TELEMETRY_GET","FLEET_SETTINGS_TELEMETRY_BLINK","FLEET_SETTINGS_EDIT","FLEET_SETTINGS_ADD","FLEET_SETTINGS_DELETE","PROVIDERS_SETTING","PROVIDERS_SETTING_DETAILS_UNMOUNT","PROVIDERS_SETTING_GET","PROVIDERS_SETTING_DETAILS_GET","PROVIDERS_SETTING_EDIT","PROVIDERS_SETTING_ADD","PROVIDERS_SETTING_DELETE","PROVIDERS_SETTING_LOAD","PROVIDERS_SETTING_LOAD_DETAILS","PROVIDERS_SETTING_UPDATE","CLOUD_PRINTERS_SETTING","CLOUD_PRINTERS_SETTING_UPDATE","CLOUD_PRINTERS_SETTING_LOAD","CLOUD_PRINTERS_SETTING_ADD","CLOUD_PRINTERS_SETTING_LOAD_DETAILS","CLOUD_PRINTERS_SETTING_EDIT","CLOUD_PRINTERS_SETTING_GET","CLOUD_PRINTERS_SETTING_DELETE","CLOUD_PRINTERS_SETTING_DETAILS_GET","SERVICE_CITIES_SETTING","SERVICE_CITIES_SETTING_TOGGLE","SERVICE_CITIES_SETTING_ADD","SERVICE_CITIES_SETTING_EDIT","SERVICE_CITIES_SETTING_GET","SERVICE_CITIES_SETTING_DELETE","SEARCH_SHORTCUT_SETTING","SEARCH_SHORTCUT_SETTING_ADD","SEARCH_SHORTCUT_SETTING_DELETE","NAMED_PLACES","NAMED_PLACES_GET","NAMED_PLACES_ADD","NAMED_PLACES_EDIT","NAMED_PLACES_DELETE","GET_USER_SHIFT_HISTORY","GET_PROVIDER_SHIFT_HISTORY","CURRENT_SHIFT_USERS","SHIFT_PROVIDERS","SHIFT_PROVIDERS_GET","SHIFTS_HISTORY_SAVE","SHIFTS_TRIP_HISTORY_ADD","SETTINGS_CONTROL_CENTER","SETTINGS_CONTROL_CENTER_EDIT","SETTINGS_CONTROL_CENTER_GET","SETTINGS_CONTROL_CENTER_ACTIVATE","SETTINGS_CONTROL_CENTER_ACTIVATE_EDIT","SETTINGS_CONTROL_CENTER_DEACTIVATE","SETTINGS_CONTROL_CENTER_DEACTIVATE_EDIT","SETTINGS_CONTROL_CENTER_CHANGEUSER","SETTINGS_CONTROL_CENTER_CHANGEUSER_EDIT","COPY_TELEGRAM_COMMAND","GET_ORDER_STAT","SET_ACTIVATE_MODEL","PUSHER_DEPOT_SERVICES_REFRESH","GIFT_CARD","GIFT_CARD_GET","GIFT_CARD_EDIT","GIFT_CARD_PRODUCT","GIFT_CARD_PRODUCT_EDIT","GIFT_CARD_PRODUCT_ADD","GIFT_CARD_PRODUCT_DELETE","GIFT_CARD_PRODUCT_UPDATE","GIFT_CARD_PRODUCT_REORDER","GIFT_CARD_PRODUCT_UPDATE_AVATAR","GIFT_CARD_BUSINESS_UPDATE_AVATAR","COURIER_DELIVERY_FEES_TEMPLATE_SETTING","COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET","COURIER_DELIVERY_FEES_TEMPLATE_SETTING_EDIT","COURIER_DELIVERY_FEES_TEMPLATE_SETTING_ADD","COURIER_DELIVERY_FEES_TEMPLATE_SETTING_DELETE","COURIER_DELIVERY_FEES_SETTING","COURIER_DELIVERY_FEES_SETTING_GET","COURIER_DELIVERY_FEES_SETTING_EDIT","REFERRAL_SETTINGS","LOYALTY_SETTINGS_GET","LOYALTY_SETTINGS_REGISTER_VOUCHER","LOYALTY_SETTINGS_REGISTER_VOUCHER_EDIT","LOYALTY_SETTINGS_CASHBACK","LOYALTY_SETTINGS_CASHBACK_EDIT","REFERRAL_SETTINGS_EDIT","REFERRAL_SETTINGS_GET","CURRENT_CONTROL_CENTER_UPDATE","CONTROL_CENTER_REFRESH","DRIVER_TIP","DRIVER_TIP_EDIT","DRIVER_TIP_GET","LIST_PROMOTION_SETTING","LIST_PROMOTION_SETTING_ADD","LIST_PROMOTION_SETTING_EDIT","LIST_PROMOTION_SETTING_DELETE","LIST_PROMOTION_SETTING_GET","LIST_PROMOTION_SETTING_DRAG","LOYALTY_CAMPAIGNS","LOYALTY_CAMPAIGNS_ADD","LOYALTY_CAMPAIGNS_DELETE","LOYALTY_CAMPAIGNS_EDIT","LOYALTY_CAMPAIGNS_GET","LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET","LOYALTY_CAMPAIGNS_TOGGLE_ENABLED","EXECUTE_COMPAIGN","LOYALTY_CAMPAIGNS_EXECUTIONS_GET","LOYALTY_CAMPAIGNS_EXECUTIONS_ADD","LOYALTY_CAMPAIGNS_EXECUTIONS_UPDATE_BY_ID","SERVICE_FEE","SERVICE_FEE_EDIT","SERVICE_FEE_GET","MENU_TEMPLATE","MENU_TEMPLATE_GET","MENU_TEMPLATE_DELETE","MENU_TEMPLATE_EDIT","MENU_TEMPLATE_ADD","MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT","BUSINESS_PARENT_MENU","BUSINESS_PARENT_MENU_GET","BUSINESS_PARENT_MENU_UPDATE","CHECK_SQUAREUP_AUTHORIZED_REQUIRED","GET_BUSINESS_BY_QUERY","RESTAURANT_DELIVERY_ZONE_UPDATE","COURIER_SETTINGS","COURIER_SETTINGS_GET","COURIER_SETTINGS_EDIT","BUSINESS_APP_CONFIGURATION","BUSINESS_APP_CONFIGURATION_GET","BUSINESS_APP_CONFIGURATION_EDIT","actionLoadRestaurantSuccess","data","additionalParams","batched","actionLoadFleet","actionLoadFleetTelemetry","actionLoadFleetUpdate","actionLoadRestaurantFail","actionLoadProvidersSetting","actionLoadProvidersSettingDetails","actionUpdateProvidersSetting","actionLoadCloudPrintersSetting","actionLoadCloudPrintersSettingDetails","actionUpdateCloudPrintersSetting","actionSaveDepotAvatar","actionSaveDepotsAvatars","actionUpdateRestaurantControlCenters","actionUpdateRestaurantAvailableControlCenters","actionRestaurantStateUpdate","actionRestaurantUpdate","actionDepotNew","actionDepotEdit","actionDepotDelete","actionSetDepotAvatar","actionSetBusinessMenuAvatar","actionSetBusinessMenuHeaderMini","actionSaveDepotUsers","actionAddDepotUser","actionSaveShifts","actionUpdateShifts","actionSaveShiftsHistory","actionAddShiftsTripHistory","actionSetDepotPaymentState","actionSetRestaurantPaymentState","actionSetCategoryProductAvatar","actionBusinessMenuCategoryExtrasSuboptionUpdateImage","actionBusinessMenuExtrasSuboptionUpdateImage","actionSetGiftCardProductAvatar","actionSetGiftCardBusinessMenuAvatar","actionAddNewMarketplaceMessage","actionAddNewMarketplacePage","actionUpdateMarketplaceMessage","actionUpdateMarketplaceMessageGalley","actionUpdateMarketplaceMessageGalleyAdd","actionUpdateMarketplacePage","actionDeleteMarketplaceMessage","id","actionDeleteMarketplacePage","actionGetGiftCard","actionCurrentControlCenterUpdate","actionGetListPromotion","actionGetMessagesData","MARKETPLACE_MESSAGE_DATA_GET","actionGetSettingsDeliveryZones","actionControlCenterRefresh","setBusinessMenu","setParentBusinessMenu","actionGetBusinessCategories","actionGetOperationTiming","actionRestaurantControlCentersStateUpdate","setDepotProviders","setOrdersProvider","setShiftProviders","actionUpdateRestaurantDeliveryZone","getDriverTipData","args","env","authOauth","authAPI","backendAPI","pusherAuthEndpoint","qrserverAPI","_objectSpread","pusherAppKey","pusherCluster","googleApiKey","freshChatToken","recurlyKey","sentryDsn","userPilotToken","targetTime","minutes","unauthorizedRetryCount","checkConnectionTime","requestLocationTime","requestPendingCount","requestPendingOrdersTime","requestAudioTime","courierComingNotificationTime","dataExpiresTime","dataExpiresTimeShort","dataExpiresTimePicture","dataExpiresTimePictureShort","intervalNotification","debounceNotifyWait","debounceNotifyMaxWait","defaultLanguage","token","lifecookies","defaultHistoryTime","minHistoryTime","maxHistoryTime","imageUrl","imageExtension","notAssociated","maxOrdersPerPage","maxSymbolsInOrderName","maxOrdersInTitle","readinessTimeIntervals","AUTH_EVENTS","loginSuccess","loginFailed","logoutSuccess","sessionTimeout","notAuthenticated","notAuthorized","defaultUserUrl","inactive","colors","requestCustomerServiceOrders","_regeneratorRuntime","e","r","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","defaultRequest","_x","_x2","_defaultRequest","apply","_asyncToGenerator","_callee","axiosInstance","requestConfig","request","_context","axios","callServer","_x3","_x4","_callServer","_callee2","noAuth","headers","_context2","isAuthorized","roles","getHeaders","isVideoType","Authorization","retryCount","environment","props","getAuthorization","getErrorMessage","requestResult","customError","response","Message","requestResultIsOk","checkData","checkRequestResultStatus","interceptors","use","config","skipRetry","Store","store","dispatch","createAction","CHECK_USER_AUTHENTICATION","isRemoveAcccessToken","res","EXCLUDED_CHECK_ERROR_APIS","url","REQUEST_METHOD","post","put","toast","_marked","createSaga","_marked2","createSagaInner","actionSaga","actionName","t0","console","log","ErrorData","actionCreateError","actionCreateSuccess","isTransformToUpperLowerCase","WAIT_FOR_ACTION","ERROR_ACTION","objectKeysToUpperLowerCase","getError","message","getCurrentInitConfig","defaultConfig","currentUserIsDepotRole","restaurateurModuleInitConfig","mainModuleInitConfig","pendingOrderCount","currentUserIsSupportOperatorRole","_createClass","_this","_classCallCheck","this","ErrorDataTable","_this2","isShow","batchedSubscribe","batch","currentListeners","nextListeners","ensureCanMutateNextListeners","subscribe","listener","isSubscribed","index","indexOf","splice","notifyListeners","listeners","notifyListenersBatched","_len","dispatchArgs","Array","_key","subscribeImmediate","Backend","LanguageDetector","initReactI18next","init","fallbackLng","debug","interpolation","escapeValue","defaultNS","react","useSuspense","lng","resources","de","translation","assign","sound_de","en","sound_en","he","sound_he","ru","sound_ru","es","sound_es","el","pl","sound_pl","ar","getConsumerRestaurantId","getState","consumerOrderMenu","getRestaurantPaymentEnabled","enabled","isEndlessCycleMode","endlessCycleMode","getRestaurantLoyaltyEnabled","loyaltyEnabled","hasDepotBusinessMenu","_getHistoryLocationPa","getHistoryLocationParams","window","parentId","businessMenu","businessId","getCurrentDepotByBusiness","_getHistoryLocationPa3","depotId","getDepots","withGiftCard","sortItemsByProp","getDepotsKeyValue","getReconciliationsDepots","_state$reconciliation","_state$reconciliation2","_toConsumableArray","getMessages","getNameForCategory","nameTranslations","getCategories","businessCategory","getTerritoriesEntity","territories","getSelectedControlCenterMulti","_state$restaurant","_state$restaurant$dat","selectedControlCenterMulti","isShowParentBusinessMenu","template_business_id","getCampaignNameById","campaignId","_state$restaurant2","_state$restaurant2$da","_state$restaurant2$da2","campaign","getDepotNameById","getListPromotionNameById","promoId","_listPromotion$name_t","promo","languageCode","name_translations","getDeliveryZonesNameById","deliveryZonesId","zone","getBusinessMenuGalleryNameById","galleryId","getBusinessMenuOfferNameById","getOrderingMenuDeliveryZonesNameById","delivery_zones","getPageNameById","pageId","page","getLoyaltyGiftCardProductNameById","productId","_state$restaurant$dat2","_state$restaurant$dat3","getCloudPrinterById","_state$restaurant$dat4","_state$restaurant$dat5","getDepotUserNameById","userId","_state$restaurant3","_state$restaurant3$da","_depot$depotUsers","depotUser","depotUsers","getFullName","getUserNameById","_state$userModel","userModel","getShiftNameById","shiftId","_state$restaurant4","_state$restaurant4$da","shift","courierName","getReconciliationsConfigurationsNameById","configurationId","_state$reconciliation3","configurations","templateName","getMessageNameById","messageId","getMessageGalleryNameById","isDepotByPathname","pathname","getOperationsModeForDepot","operations","profiles","operationConfiguration","getCourierNameByShiftId","_state$userModel2","_state$userModel2$dat","_users$find","cycle","_user$cycle","firstName","getProviderNameById","_state$restaurant5","_state$restaurant5$da","_ordersProvider$find","ordersProvider","getHistoryCourierNameByShiftHistory","_state$userModel3","_state$userModel3$dat","_state$userModel3$dat2","shiftsHistory","getMenuTemplateNameById","menuTemplateId","getMenuTemplateBusinessCategoryNameById","menuTemplateBusinessCategoryId","businessCategoriesNames","getControlCenterNameById","controlCenterId","getBusinessName","getExtraNameFromBusinessCategory","categoryId","extraId","extras","getExtraOptionNameFromBusinessCategory","optionId","options","getNameByIdsBusinessMenu","businessMenuFinded","_state$restaurant$dat6","getNameForProductsByIds","getDepotNameByBusinessId","getDepotByBusinessId","getControlCenters","isActive","controlCenter","getStartedControlCenter","getInitialControlCenters","initialControlCenters","getRegionById","regionId","locations","getRegions","getAllDepotRegions","isDepotMode","User","instance","getBaseConstant","isSingleDepotMode","getDepotById","isArray","getFirstDepotId","getTemplateMenuById","_state$menuTemplate","_state$menuTemplate$d","templates","getDepotName","depot_id","getDepotPhone","getDepotAvatar","getConvertedCloudUrl","logoUrl","isAutoMode","getRestaurantBounds","isWithRegion","isGoogleMapEmpty","bounds","google","maps","LatLngBounds","depotBounds","getDepotsBounds","regionBounds","getRegionBounds","union","getDefaultGoogleLatLngBounds","isSetMapZoomBasedOnControlCenter","selectedControlCenter","setMapZoomBasedOnControlCenter","locationIsEmpty","defaultControlCenterId","depotLatLng","getGoogleLatLngRegion","extend","getOrdersBounds","orderLocations","orderLocation","latLngRegion","LatLng","parseFloat","latitude","lat","longitude","getRegionCenter","getCenter","isAllowOrderDeleteWithoutPassword","allowOrderDeleteWithoutPassword","isLowBattery","travelData","batteryPercentage","isUniqueRegionNames","result","some","isDisableCitySave","city","getMapCenter","newCenter","getCurrencyValue","countryCode","getReportDeliveryTimeStatistics","controlCenterStatistics","isExistCOntrolCenters","existedControlCenters","reduce","acc","dateTime","moment","isValid","format","countOrders","averageDeliveryTime","ordersInAvrgCalcualtation","indexValue","deliveryDurationInMsec","diffDeliveryTime","split","Date","getHours","getReportAverageDeliveryTimeStatistics","averageMinDeliveryTime","minDeliveryTime","averageMaxDeliveryTime","maxDeliveryTime","getOrderMenuProducts","deliveryDate","delivery_datetime","creation_datetime","sequenceId","sequence_id","delivery_type","customerName","customer_name","delivery_price","offerName","offer_name","getOrderMenuProductItems","businessInfo","business_id","depotConsumerMenu","businessMenus","menuProducts","menuOptions","newOptions","extraOption","category_id","suboptions","menuProduct","max","unit_weight","weight_range","weighed","description","images","addons","subOptions","sub","menuOption","optionName","halfOption","half_option","ingredientsNames","ingredients","ingredient","total","full_price","getReshipmentOrderData","getInitModel","reshipment_type","getMenuCredentials","login","orderingUser","orderingPassword","getDeliveryZoneData","newData","minimum","operation_profile","price_calculation_mode","price_calculation_mode_bool","resData","delivery_zone_reference","radio","radius","region_id","parseInt","zone_id","getNewCategoryOrder","sortedCategories","sort","b","getCurrentBusinessMenu","getBusinessMenuCategories","getDepotCategoryExtras","getBusinessProduct","getBusinessExtra","getAllBusinessSuboption","suboptionId","flatMap","prepareOverrideObject","object","initItem","overrides","newOverride","overridesProperty","getAllEnabledOverrideDataFromMenu","categoryExtras","cat","categoryOptions","categorySuboptions","globalExtras","globalOptions","globalSuboptions","getAllExtra","globalExtra","getAllOption","getAllSuboption","opt","getOveridesArray","currentObject","oldObject","override","propName","getCurrentOrderingMenuDepotId","getOrderingMenuExtraOptions","getOrderingMenuOptions","getFleetProducerType","getFleetVehicleType","getNameForExtraById","getNameForOptionExtraById","getCurrentContryCode","getCurrentCurrency","getCampaignsExecutionStatusLabel","getDiscountTypeLabel","getPeriodsByDate","startDate","endDate","startDateMoment","endDateMoment","formattedStartDate","formattedEndDate","getStageByNumber","stage","stageResult","getDiscountOrderTypeLabel","getDiscountTargetType","getDiscountCalculationBaseType","getCampaignType","getDepotDefaultRegionControlCenterName","toString","deliveryRegionId","getControlCenterById","getPendingOrdersItems","isShowPreorders","orderData","externalCycles","activeOrders","pendingPreOrders","historyOrders","pendingOrdersFilter","process_step","isAssistOrder","pendingOrdersSort","pendingOrdersCookingSort","pendingOrdersCouriersOlderSort","pendingHistoryOrdersFilter","getPendingOrdersContainerConfig","filterType","isDesktop","getPendingOrdersIsDesktop","isIpad","getPendingOrdersIsIpad","filterTypesExcept","isShowThreeColumn","showPendingLabel","firstContainerItems","secondContainerItems","thirdContainerItems","getPendingOrdersTypes","desktopPending","getPendingActiveTypes","getFirstPendingActiveTypeOrder","indexActiveType","findIndex","getOrderAndTypeById","orderId","isFullPreview","getAllOrders","isActiveTabs","getCityList","skipForExistCheck","getDefaultCity","depotCity","firstCity","getStringValue","getRestaurantConfigPropValue","prop","getLabelWithMetric","getRestaurantLocation","getAddressSearchRadius","SEARCH_RADIUS","getLatLngFromLocation","getPusherChannelName","connData","getUserConnectionData","rest","toLowerCase","getDepotModeId","getCouriersBarGroupItemData","disableBackupCouriers","itemsLength","createCourierGroupModel","showCountOrders","hide","getCouriersBarGroupItems","_ref3","selectedControlCenters","searchString","getCourierGroupDataSort","couriersBarFilter","onRouteFilter","approvedFilter","comingBackFilter","awayFilter","includeCycleStates","waitingItems","waitingFilter","backupItems","backUpCouriersFilter","externalCycleCouriersBarFilter","getShowDescription","gpsDisabled","stoppedAtAllowedLocation","getDescriptionLocationState","getExternalCycleDriverInfo","info","driverInfo","carModel","carNumber","getExternalCycleLogo","avatarUrl","getExternalCycleLogoByProvider","defaultIcons","getExternalCycleDistance","getDistance","getExternalCyclePriceInfo","priceInfo","onRouteCourierGroupSort","courierQueueSort","highlightGroup","openGroup","open","getDepot","isFirstDepot","getDefaultLocation","getDefaultRegion","locationIsFromCenter","isReturnDefaultIfEmpty","firstDepotLocation","locationLat","locationLng","MAP_POLYGON_DIFF","generateRandomString","symbols","Math","floor","random","join","isMobileWidth","innerWidth","getItemsColors","propColor","getRestaurantCardConfig","initPaymentIntent","GET_ORDER_SETUP_INTENT","stripeVerifyCard","STRIPE_VERIFY_CARD_ORDER","sellerId","paymeSellerId","productionMode","stripeKey","publicStripeKey","tranzilaKey","tranzilaTokenTerminal","countPendingOrder","_state$order","_state$order$data","_state$order$data$adm","pendingCount","menuItemIconOrdersCount","_state$order2","_state$order2$data","formatRegExp","parseServerModel","obj","modelTypesDictionary","objectKey","newobj","modelType","toFirstCharLowerCase","getParsedServerModel","parseServerModelDictionary","_parseServerModelDict","getOrderServerModel","getAddressServerModel","getLocationServerModel","getPaymentsServerModel","upperCase","toFirstCharUpperCase","formatString","string","replace","match","argNum","deleteKeysIfNull","fromEntries","entries","_slicedToArray","mergeArrays","newArray","accessorSource","accessorNewArray","newArrayFiltered","accumulator","currentValue","excludePropsFromObject","isSameObjects","obj1","obj2","excludedProps","JSON","stringify","mapObject","func","someObject","isValidStringNoSpaces","dataURItoBlob","dataURI","byteString","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","getRegionFromGoogle","googleRegions","getArray","createLocationModel","isEmpty","isEmptyMode","isEmptyObject","isNullOrWhitespace","isValidKey","keycode","getSeparatedValue","separator","indexTo","arr","fileFromRequestResult","fileName","trim","RegExp","contentType","file","getPattern","typePattern","getKeyByValue","defaultPromiseResolve","moveArrayItem","fromItem","toItem","sortPropName","uniqueKey","indexFrom","isValidDate","valueOf","getLastCharacters","str","substr","isContainsHeb","test","formatNumber","digits","isFinite","toFixed","getTranslateTitle","exists","convertToBoolean","isString","Boolean","arrayToMap","Map","set","getUserModel","getOrder","getActiveStateCycles","activeStateCycles","pickUps","getControlCenter","getOrders","getPendingOrders","getAdminOrders","getPickups","getHistoryOrders","getGroups","getRestaurant","getRestaurantDepots","getConfigurationRegions","getRestaurantBusinessMenu","getMarkers","marker","dataMap","getOrderEdit","getSectionModel","sectionModel","getNotifications","notifications","getExternalCycles","getProvidersAll","getMenuTemplates","getReconciliationSettings","getBilling","getIsSectionsWrapperLoading","sectionsWrapperData","isLoading","ControlBreadcrumbModel","getLabel","_ref$isShow","bind","createBreadcrumbModel","translateLabel","REMOVE_ALL_DATA","PUSHER_CYCLE_STATE_UPDATE","PUSHER_CYCLE_DISPATCHED","PUSHER_CYCLE_ROUTE_UPDATE","PUSHER_MANUAL_UNASSOCIATE_UPDATE","PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST","PUSHER_MANUAL_ASSOCIATE_UPDATE","PUSHER_SET_AWAY","GET_INITIAL_DATA","EXPORT","actionRemoveAllData","PrivateRoute","Component","component","_objectWithoutProperties","_excluded","React","createElement","Route","render","isAuthenticated","Redirect","Pages","_Component","_inherits","_super","_createSuper","loginpage","Loadable","loader","loading","modules","dashboardpage","billingpage","neworderpage","createorder","editorderpage","editcustomerorderpage","orderspage","assistancepage","settingspage","shiftspage","marketplacesettingspage","reconciliationpage","mobileSettingspage","mobileMarketplacepage","reportpage","adminorderspage","infopage","squareauthpage","getRedirect","path","_this$props","sectionModels","prevModelType","typeSectionModel","model","parentUrl","typeSectionModelPrev","idFromModel","_this$props2","otherProps","_excluded2","Switch","exact","connect","authentication","pendingorderspage","restaurateurmenupage","orderingmenupage","IsInitAllowed","getPages","moduleRestaurateur","moduleMain","historyLocationSearch","queryString","parse","fetchRestaurant","getDeliveryActiveState","controlCenterMulti","Pusher","getControlCenterMultiChannel","isPostRequest","isShowControlCenterSearch","ControlCenterIds","getControlCenterActive","orderIds","OrderIds","getControlCenterStatus","setMode","mode","State","checkDepotMenu","depotCopyTemplateMenu","depotMenuCopy","fromDepotId","toDepotId","updateDepotMenu","updateDepotCategoryStates","fetchCancelReason","fetchAddCancelReason","fetchEditCancelReason","fetchDeleteCancelReason","fetchBusinessCategory","reverseGeoLocation","Latitude","Longitude","addDepot","getDepotOperationMode","updateDepotOperationMode","editDepot","Id","removeDepot","addDepotUser","removeDepotUser","setDepotAvatarBase64","avatar","getDepotUsers","num","count","query","Count","Page","Query","editDepotUser","changeDepotPassword","getDepotDeliveryPrice","setDepotDeliveryPrice","setNotificationSettings","lostAlertTime","orderIsLateAlertTime","orderIsLateWarningTime","stopAlertTime","courierReadyTimeDelay","orderIsUnassignedTime","LostAlertTime","OrderIsLateAlertTime","OrderIsLateWarningTime","StopAlertTime","CourierReadyTimeDelay","OrderIsUnassignedTime","getCourierInterfaceSettings","getCourierConfirmationSettings","updateCourierConfirmationSettings","updateCourierInterfaceSettings","getCourierDisplaySettings","updateCourierDisplaySettings","getCourierControlSettings","updateCourierControlSettings","getBusinessAppSettings","updateBusinessAppSettings","getShipmentPriceSettings","getShipmentPriceSettingsTemplate","deleteShipmentPriceSettingsTemplate","setShipmentPriceSettings","setShipmentPriceSettingsTemplate","editShipmentPriceSettingsTemplate","getAppShipmentPriceSettings","setAppShipmentPriceSettings","basisPrice","basisDistanceInMeters","pricePerKm","maxDeliveryPrice","BasisPrice","BasisDistanceInMeters","PricePerKm","MaxDeliveryPrice","Mode","setNumericalSettings","updateRegionInfo","setNewRegionInfo","removeRegion","fetchSettingProviders","fetchSettingExternalProvidersById","providerEntityId","fetchSettingProviderDetails","addSettingProviders","addSettingExternalProviders","deleteSettingProviders","deleteSettingExternalProviders","fetchSettingCloudPrinters","fetchSettingCloudPrintersDetails","addSettingCloudPrinters","editSettingCloudPrinters","deleteSettingCloudPrinters","RequireWaitingTime","requireWaitingTime","ShowMap","showMap","NotifyDeliveredOrder","notifyDeliveredOrder","NotifyCourierDispatched","notifyCourierDispatched","AllowOrderDeletion","allowOrderDeletion","EnablePhoneQuery","enablePhoneQuery","WaitingTimes","waitingTimes","AllowOrderSetVIP","allowOrderSetVIP","AllowOrderDelay","allowOrderDelay","RequirePhoneNumberOnOrderCreation","requirePhoneNumberOnOrderCreation","HideReadyButton","hideReadyButton","fetchMarketplaceMessage","fetchPages","pushMessage","createMarketplaceMessage","createMarketplacePage","updateMarketplaceMessage","updateMarketplacePage","deleteMarketplaceMessage","marketplaceId","deleteMarketplacePage","marketplacePageId","setMarketplaceBannerBase64","isVideo","setMarketplacePageBannerBase64","marketplaceMessageReorder","marketplacePagesReorder","depotWallet","restaurantWallet","restaurantPaymentState","depotPaymentState","businessCategoryAdd","businessCategoryEdit","businessCategoryRemove","setBusinessCategoryAvatarBase64","businessCategoryReorder","addServiceCity","editServiceCity","getServiceCity","getFleet","getFleetById","getFleetTelemetryBlink","Command","getFleetTelemetry","deleteFleet","addFleet","editFleet","toggleServiceCity","body","deleteServiceCity","getNamedPlaces","addNamedPlace","namedPlace","editNamedPlace","deleteNamedPlace","startControlCenterShift","endControlCenterShift","changeControlCenterShift","getReportOrderStatisticsByDate","controlCenterIds","territoryId","StartDate","EndDate","UserId","TerritoryId","getNotification","fetchOperations","updateOperations","getBusinessMenu","isById","createBusinessDeepLink","createBusinessProductDeepLink","createMarketplaceDeepLink","getDepotBusinessTranslation","getDepotBusinessSKU","setDepotBusinessTranslation","setDepotBusinessSKU","_ref4","exportDepotBusinessSku","responseType","importDepotBusinessSKU","_ref5","exportDepotBusinessTranslation","_ref6","importDepotBusinessTranslation","_ref7","getLinkStats","DeepLink","DaysDuration","overrideParentBusinessMenu","objectId","getBusinessOffer","updateBusinessOffer","addBusinessOffer","deleteBusinessOffer","offerId","updateDeliveryZone","updateEnableDeliveryZone","zoneId","Enabled","setDeliveryZone","deleteDeliveryZone","updateOrderingMenuDeliveryZone","globalDeliveryZoneId","updateSchedule","updateBusinessMenuDiscount","addBusinessMenuDiscount","deleteBusinessMenuDiscount","updateBusinessMenuInfo","updateBusinessMenuHeaderAvatar","updateBusinessMenuHeaderMini","businessMenuCategoryDelete","businessMenuCategoryAdd","businessMenuCategoryEdit","businessMenuCategoryActivate","marketplaceMenuClearOverride","businessMenuCategoryReorder","businessMenuCategoryProductAdd","businessMenuCategoryProductEdit","businessMenuCategoryProductActivate","businessMenuCategoryProductDelete","businessMenuCategoryProductsReorder","updateBusinessMenuCategoryProductAvatar","isVideType","businessMenuCategoryProductIngredientAdd","businessMenuCategoryProductIngredientUpdate","ingredientId","businessMenuCategoryProductIngredientDelete","businessMenuCategoryProductIngredientReorder","businessMenuCategoryExtrasAdd","businessMenuCategoryExtrasUpdate","businessMenuCategoryExtrasActive","businessMenuCategoryExtraDelete","businessMenuCategoryExtrasOptionUpdate","businessMenuCategoryExtrasOptionActivate","businessMenuCategoryExtrasOptionDelete","businessMenuCategoryExtrasOptionAdd","businessMenuCategoryExtrasOptionReorder","businessMenuCategoryExtrasSuboptionAdd","businessMenuCategoryExtrasSuboptionUpdate","businessMenuCategoryExtrasSuboptionUpdateImage","businessMenuCategoryExtrasSuboptionActivate","businessMenuCategoryExtrasSuboptionReorder","businessMenuCategoryExtrasSuboptionDelete","setActivateModel","getAutoEnableTimes","depotDefaultRegionControlCenterGet","depotDefaultRegionControlCenterUpdate","depotDefaultRegionControlCenterDelete","depotDefaultRegionControlCenterAdd","addSearchShortcut","shortcut","deleteSearchShortcut","giftCardGet","giftCardEnable","getReferralSettings","getLoyaltySettings","editLoyaltySettingsRegisterVoucher","editLoyaltySettingsCashback","getDriverTip","updateReferralSettings","updateReferralLogoSettings","updateDriverTip","getListPromotion","getRestaurantDeliveryZones","listPromotionAdd","addRestaurantDeliveryZones","listPromotionUpdate","listPromotionReorder","updateRestaurantDeliveryZones","updateRestaurantDeliveryZonesGlobalPrice","businesseId","listPromotionDelete","deleteRestaurantDeliveryZone","getServiceFee","getMarketplaceCampaign","getMarketplaceCampaignAudienceFilterCount","addMarketplaceCampaign","newCampaign","editMarketplaceCampaign","_ref8","toggleActivateMarketplaceCampaign","_ref9","executeCompaings","getMarketplaceCampaignExecutions","createMarketplaceCampaignExecutions","_ref10","deleteMarketplaceCampaign","updateMarketplaceCampaignExecutionById","_ref11","executionId","restaurantDeliveryZoneActivate","setServiceFee","getDepotIntegrations","updateDepotIntegration","addDepotIntegration","editDepotIntegration","getDepotSquareLocations","getMenuTemplate","getGlobalMenuTemplate","setDepotSquareAssociatedLocation","setDepotSquareAssociatedRevoke","addMenuTemplate","removeDepotSquareLocation","locationId","LocationId","generateDepotAuthorizationUrl","setSquareUpAuthorized","checkSquareUpAuthorizedRequired","businessCategoryExtraAdd","businessCategoryExtraEdit","businessCategoryExtraRemove","businessCategoryExtraUpdate","businessCategoryExtraOptionAdd","deleteMenuTemplate","updateMenuTemplate","businessCategoryExtraOptionUpdate","businessCategoryExtraOptionActivate","createOverrideMenu","businessCategoryExtraOptionDelete","businessCategoryExtraOptionReorder","updateOverrideMenu","businessCategoryExtraSubOptionAdd","businessCategoryExtraSubOptionEdit","subId","businessExtraSubOptionUpdateImage","businessCategoryExtraSubOptionDelete","businessCategoryExtraSubOptionActivate","businessCategoryExtraSubOptionReorder","businessGalleryEdit","businessGalleryAdd","businessGalleryDelete","businessGalleryReorder","setBusinessGalleryImageBase64","updateMarketplaceSettings","setMarketplaceSettingsHeader","getBusinessWithQuery","messageGalleryAdd","messageGalleryImageBase64","messageGalleryReorder","messageGalleryDelete","isRTL","getCurrentUserConfigurationProp","getShortName","lastName","getExternalCycleShortName","_externalCycle$driver","getExternalCycleName","getUserName","isValidPasswordData","newPassword","retypePassword","getCourierColor","ColorService","getColorForStateLocation","color","getNotificationColorCode","getCodeByColorKey","updateUserColor","shiftType","freeColor","getColor","initUserModel","getRolesFromUser","phoneNumber","verifiedPhone","nationalFormatedNumber","courierState","authorized","hasDevices","hasPassowrd","roleNames","role","courierId","currentUserIsOnlyDepotRole","currentUserIsOnlySupportOperatorRole","currentUserIsSupervisorRole","currentUserIsControlCenterManagerRole","currentUserIsDeliveryManager","currentUserIsWithoutControlCenter","currentUser","getCurrentUserInfo","getProviderName","getSwitchedFullName","getCourierNameById","isDefaultGroup","isExistStatusDelivery","groupId","getTotalCourierEstimation","isReturnTime","progress","segments","segment","timeToArrivalInSec","unloadTime","resultTime","getFormatRelativeTime","calculateOrderPreviousTime","orderIndex","correspondingId","_loop","segmentOrder","separateName","getPersonalSettings","visualSettings","isHideTakeawayGroup","isHidePreordersGroup","pendingOrdersPanelLocation","couriersPanelLocation","courierColorScheme","defaultDashboardMode","isHideDeliveryRegions","isShowTraffic","enableAlarmPopups","orderNotDeliveredInTimeNotificationEnabled","courierComingBackEnabled","courierWrongRouteEnabled","courierReadyToDispatchEnabled","assistanceExistsEnabled","courierStoppedEnabled","boxLostEnabled","courierLostEnabled","orderCanLateEnabled","sortOrdersBasedOnReadinessTime","visualizeReadinessTime","ordersColors","newOrderSoundNotification","showAllDepotsOnMap","consumerOrderCreatedNotificationEnabled","isShowExtraSizeGroup","isHideOrderId","showOrderIdOnMap","filterMapObjectsByControlCenter","alwaysShowOrderTargetTime","currentPassword","getConfirmUsers","fullName","getUserById","activeControlCenter","getShiftsTimePerDay","Number","getTimePerDay","setSeconds","setMilliseconds","getDifferenceTimeInMinute","delta","getETATimeForOrder","getStaticTime","getTime","getActiveCouriers","_filter","queueNumber","futureRouteInfo","NEW_ASSOCIATE_GROUP_ID","getDefaultUserRolesValue","getUserByOrder","getUserByGroupId","getDistinctUsersIdsFromData","courier_id","getDropOffEtaMax","dates","dropoff_eta","updateCourierLocations","cycleStateUpdate","skipObjectWithControlCenter","isCleanOrders","cycleState","cleanOrders","retrieved","optimalData","totalDistance","totalTime","ORDERS_LOAD","ORDERS_LOAD_SUCCESS","ORDERS_LOAD_FAIL","ORDERS_MODEL_UPDATE","ADMIN_ORDER_SELECTED_ORDER_ID","PENDING_ORDER_SAVE","GET_MERGED_BUSINESS_MENU","GET_MERGED_BUSINESS_MENU_BY_ID","PENDING_ORDER_GET","PENDING_ORDER_DATA_GET","PENDING_ORDER_CANCEL_CYCLE","PENDING_ORDER_UN_ASSOCIATE_ORDER","CONSUMER_PRE_ORDERS_GET","PENDING_ORDERS_UPDATE","PENDING_ORDER_UPDATE_COURIER","PENDING_ORDER_UPDATE","PENDING_PREORDERS_UPDATE","PENDING_PREORDER_DELETE","ADMIN_ORDER_GET","ADMIN_ORDER_GET_BY_ID","ADMIN_ORDER_GET_ORDER_INFO","ADMIN_ORDER_SET_FILERS","ORDER_ADMIN_INFO_GET","ADMIN_ORDERS_UPDATE","ADMIN_ORDERS_LOADING","ADMIN_ORDER_UPDATE","ADMIN_ORDER_PENDING_COUNT_UPDATE","ADMIN_ORDER_RESHIPMENT","ADMIN_ORDER_DELIVERED","ADMIN_ORDER_REFUND","ADMIN_ORDER_CAPTURE","PUSH_MESSAGE","ADMIN_ORDER_CANCEL","PUSHER_CYCLE_REORDER","PUSHER_NEW_ORDER","ORDER_NEW","ADD_NEW_ORDERS","ORDER_UPDATE","ORDER_NOTE_EDIT","PUSHER_UPDATE_ORDER","ORDER_UPDATE_STATE","ORDER_UPDATE_SERVICE_NOTES","ORDERS_UPDATE_TIMES_INFO","PUSHER_ORDER_STATE_UPDATE","PUSHER_GROUP_UPDATE","PUSHER_GROUP_REORDER","PUSHER_GROUP_LOCK_UPDATE","NEW_GROUP_REORDER","GROUP_ORDER_UPDATE","REMOVE_GROUP_ORDERS","CYCLE_REORDER","PERFORM_ORDER_ASSOCIATING","GROUP_UPDATE_STATE","GROUP_UPDATE","CYCLE_DISPATCHE","UPDATE_ORDER_DATA","UPDATE_ORDERS","ORDER_REMOVE","ORDER_DELETE","ORDER_ASSISTANCE_DELETE","CHANGE_ORDER_STATE","CHANGE_ORDER_INDEX","CHANGE_ITEMS_GROUP","PUSHER_ASSISTANCE_UPDATE","ASSOCIATE_ORDERS","UPDATE_GROUP_ORDERS_MARKERS","SAVE_ORDER_TO_SERVER","APPROVE_ASSISTANCE_ORDER","GET_ORDER_RECEIPTS","GET_ADVANCED_INFO","LOAD_HISTORY_ORDERS","GET_ORDERS_PROVIDER","SAVE_HISTORY_ORDERS","RELOAD_ORDER","SET_ORDER_DELIVERED_BY","PUSHER_CONSUMER_ORDER_ARRIVED","ORDER_MENU_GET","ORDER_MENU_UPDATE","ORDER_INDEX_UPDATE","CONSUMER_ORDER_SEARCH","CONSUMER_ORDER","CONSUMER_ORDER_SEARCH_SAGA","CONSUMER_ORDER_ADD","CONSUMER_ORDER_CANCEL","GET_PRODUCTS_BY_ID_BUSINESS","MARKETPLACE_MESSAGE_GET","MARKETPLACE_MESSAGE_GALLERY","MARKETPLACE_MESSAGE_GALLERY_EDIT","MARKETPLACE_MESSAGE_GALLERY_ADD","MARKETPLACE_MESSAGE_GALLERY_REORDER","MARKETPLACE_PAGES_GET","GET_ORDER_PAYMENT_INTENT","SET_CREATED_ORDER","GET_ADMIN_ORDER_PENDING_COUNT","actionLoadOrdersSuccess","actionLoadOrdersFail","actionSaveHistoryOrders","actionUpdateOrder","actionUpdateOrderServiceNotes","actionUpdateOrdersTimesInfo","actionNewOrder","actionAddNewOrders","actionUpdateOrderState","actionCycleReorder","actionUpdateOrderGroup","actionRemoveGroupOrders","actionGroupUpdateState","actionCycleDispatched","actionUpdateOrderData","actionUpdateOrders","actionRemoveOrder","actionChangeOrderIndex","actionChangeItemsGroup","actionUpdateGroupOrdersMarkers","actionUpdateGroup","actionPendingOrdersUpdate","actionPendingOrderCourierUpdate","actionPendingOrderUpdate","actionPendingPeorderDelete","actionAdminOrdersUpdate","actionAdminOrdersLoading","actionAdminOrderUpdate","actionAdminOrderPendingCountUpdate","actionAdminOrderGetOrderInfo","setAdminOrderSelectedOrderId","setFilterAdminOrders","actionOrderMenuUpdate","actionConsumerOrdersSearch","actionOrdersModelUpdate","createControlModel","_model","_objectDestructuringEmpty","ControlModel","isLayout","openCourierShiftPopup","openDateRange","createAddControlModel","createBackControlModel","action","tooltipText","hideTooltip","createIconControlModel","createSortModeControl","createComboUrlControlModel","createFilterControlModel","createImportFileControlModel","createActionButtonControlModel","createListItemsControlModel","createDropdownControlModel","filtrateControlByDepotRole","controls","oneHour","oneDay","defaultDate","DATE_FORMAT_DMY2_FULL","DATE_FORMAT_DMY2_HM","DATE_FORMAT_DMY_SHORT","DATE_FORMAT","TIME_FORMAT_USER","DATE_TIME_FORMAT","DATE_TIME_FORMAT_DAYTIME","DATE_TIME_FORMAT_DAYTIME_SHORT","getFormattedDate","typeFormat","dateFormatted","isNotToday","isSame","onlyTime","isRtl","timeToDate","toDateString","particle","isJustNow","onlyType","shortMode","sec","millisToHourMinutesByType","deltaDate","day","hour","millisToHourMinutes","isSameDateByCurrent","d1","d2","isSameOrAfter","diff","abs","isAfterDateByCurrent","res1","res2","getRelativeTime","minutesToTimeRelative","setMinutes","getMinutes","toISOString","timeToMinutes","round","UTC","minutesToTime","min","timeToMinutesRelative","relativeDeltaTimeNoJust","getISOTime","getRelativeStartEndTime","timeStart","timeEnd","isNotJust","setStartTime","newTime","setUTCHours","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","getTimezoneOffset","setEndTime","isDatesValid","tempStartDate","prepareStartDate","prepareEndDate","getFormattedTime","close","minute","getWeekPeriod","dayOfWeek","getDay","diffToLastSunday","diffFirstSunday","getDate","setDate","setHours","diffForNextSunday","getPeriodByType","getFullYear","start","end","prepareToday","prepareYesterday","_getWeekPeriod","prepareMonth","preparePreviousMonth","prepareFullDay","getConvertedAmPmWithCheck","getMonth","isToday","prepareYear","routeEstimationModel","contentModel","addonModel","accuracy","background","bearing","lowPowerMode","speed","allow_comments","spicy","vegetarian","gluten_free","vegan","upselling","price_before_discount","tag","fixedNumber","free_budget","with_half_option","allow_suboption_quantity","limit_suboptions_by_max","pizza_option","suboptionsOverrideModel","getExtras","_step3","startFrom","nameValues","_iterator3","_createForOfIteratorHelper","parentValue","tabMode","_step4","_iterator4","parentValueOption","_step5","_iterator5","err","isLoadFromData","_data$phone_valid","_data$address_valid","_data$address_valid2","_data$address_valid3","_data$address_valid4","_data$address_valid5","_data$datetime","_data$datetime2","original_phone","phone_valid","original_value","original_city","address_valid","original_street","original_notes","flat","storey","original_date","original_time","bulkConsumerModel","registrationBonus","checkout_limit_percent","registrationBonusCheckoutLimitPercent","bonus_expiration","registrationBonusExpiration","bonus_name","registrationBonusName","registrationBonusDeliveryType","loyaltyRegisterVoucherModel","logo","logoSettings","crop_mode","gravity_mode","quality","quality_mode","referralBonus","referredBonus","referralSettingsModel","RegistrationBonus","RegistrationBonusCheckoutLimitPercent","RegistrationBonusExpiration","RegistrationBonusName","RegistrationBonusDeliveryType","card","cardMask","cardholderName","expiry","cardServerModel","editCustomerOrderModel","file_settings","messageGalleryModel","marketplaceWaitingTimes","operationTimingModel","orderModel","getOrderModel","locationModel","country","entrance","organization","postal","street","streetNumber","addressModel","paymentsModel","newItem","setDefaultRegion","menuDeliveryZoneModel","_item$loyalty_level","rate","rate_type","single_user","enable_schedule","order_type","discount_target","calculation_base","show_in_marketplace","product_id","usage_limit","loyalty_level","recurring_type","auto_add_quantity","allow_multiple_discounts","address_city","Name","Location","AllowCityOnlyAddress","allowCityOnlyAddress","UseAsDefaultCity","useAsDefaultCity","serviceCityServerModel","address_notes","zipcode","kosher","always_deliver","about","disable_delivery","disable_takeaway","allow_gift","message_enabled","header_settings","header_mini_settings","disable_scheduled_orders","disable_takeaway_scheduled_orders","minimum_takeaway","disable_cutlery","cutlery_sku","general_item_sku","temporary_disable_business","temporary_disable_delivery","temporary_disable_takeaway","newRegionId","calculationMode","regionConfigurations","minOrderCountToApplyPriceChange","orderCountPriceChangeIncrement","useAbsValueForOrderCountPriceChange","featured","extra_ids","image_settings","preorder_schedule","ov","createProductOverrideModel","conditioned","respect_to","reduce_price_for_half_option","weekDay","lapses","partial","amount","payment_id","paymentId","fixValue","fixPercent","list_type","business_ids","getBusinessIdsName","visible","positioning","form_factor","row_items_count","max_preview_size","margins","highlighted","hide_video_controls","shuffle","sourceId","integrationType","skipDriverTip","useRegistrationDate","disableDelete","skipCodeWords","SourceId","SkipDriverTip","UseRegistrationDate","DisableDelete","SkipCodeWords","carColorHex","ext","ttlSeconds","priceInfoModel","providerId","startTime","freeCancellation","approveValidity","isCourierGroup","isExternalGroup","FixValue","FixPercent","Name_translations","List_type","Business_ids","Order","Visible","Positioning","Form_factor","Row_items_count","Max_preview_size","Margins","Label","Highlighted","Hide_video_controls","Shuffle","Partial","Amount","Notes","Refund_channel","refund_channel","Refund_type","refund_type","Payment_id","Description","Price","SKU","Max","Tag","Image_settings","formatedExtra","extra_id","String","Featured","Upselling","Vegan","Vegetarian","Gluten_free","Spicy","Allow_comments","Ingredients","categoryIngredients","Enable_schedule","Preorder_schedule","Schedule","Price_before_discount","Extras","Unit_weight","Weighed","Weight_range","Addons","Item","Quantity","ParsedOrder","FirstName","LastName","CustomerPhone","customerPhone","OrderId","PaymentInfo","paymentInfo","Content","Currency","Takeaway","IsCache","isCache","IsHighPriority","isHighPriority","IsExtraSize","isExtraSize","TargetTime","Payments","City","Country","Entrance","Organization","Postal","Street","StreetNumber","MaxDeliveryTime","PendingOrdersGroupingTimeDelta","pendingOrdersGroupingTimeDelta","DefaultControlCenterId","Region","reg","userData","allowOpenShift","allowedControlCenters","capacity","creationDate","hasPassword","hourlyRate","workerId","salaryCalculationProfileId","AllowOpenShift","AllowedControlCenters","Capacity","CreationDate","Email","FullName","HasPassword","HourlyRate","PhoneNumber","Roles","UserName","WorkerId","SalaryCalculationMode","VehicleType","SalaryCalculationProfileId","Password","administrativeName","hideCouriers","autoExternalAssignment","allowOrderCreation","maximumArrivalTime","maxOrderCoolingTime","preorderTimeWindowEpsilon","smsBrand","depotAsControlCenter","depotModel","Address","Phone","MaximumArrivalTime","MaxOrderCoolingTime","AdministrativeName","PreorderTimeWindowEpsilon","HideCouriers","AutoExternalAssignment","AllowOrderCreation","Color","SmsBrand","DepotAsControlCenter","IsHideDeliveryRegions","IsShowTraffic","IsHideTakeawayGroup","IsHidePreordersGroup","PendingOrdersPanelLocation","CouriersPanelLocation","CourierColorScheme","DefaultDashboardMode","TimeTillAutoSnooze","timeTillAutoSnooze","EnableAlarmPopups","VisualizeReadinessTime","OrdersColors","SnoozeTimeout","snoozeTimeout","OrderNotDeliveredInTimeNotificationEnabled","CourierComingBackEnabled","CourierWrongRouteEnabled","CourierReadyToDispatchEnabled","AssistanceExistsEnabled","CourierStoppedEnabled","BoxLostEnabled","CourierLostEnabled","OrderCanLateEnabled","SortOrdersBasedOnReadinessTime","ShowAllDepotsOnMap","ConsumerOrderCreatedNotificationEnabled","IsShowExtraSizeGroup","IsHideOrderId","ShowOrderIdOnMap","FilterMapObjectsByControlCenter","AlwaysShowOrderTargetTime","regionModel","rank","advancePayment","distanceTraveled","restaurantName","timeSpent","totalUnloadTime","vehiclePlateId","shiftModel","allowedDepots","endTime","ShiftId","VehiclePlateId","AdvancePayment","vehicleId","courierIds","ControlCenterId","PullOrders","pullOrders","MoveDataToControlCenterId","moveDataToControlCenterId","BackUpControlCenterId","backUpControlCenterId","EnableSchedule","CourierAssociationMode","courierAssociationMode","PullFromAnyControlCenter","pullFromAnyControlCenter","AutomaticExtendCycle","automaticExtendCycle","AutomaticApproveCycle","automaticApproveCycle","RunCourierAppInPointByPointMode","runCourierAppInPointByPointMode","EnableCollectOrdersStepAtPickup","enableCollectOrdersStepAtPickup","RunCourierAppInPointByPointModeAfterApprove","runCourierAppInPointByPointModeAfterApprove","controlCenterEditServerModel","DeliveryPrice","CalculationMode","RegionConfigurations","val","RegionId","objData","regionConfiguration","courierDeliveryFeesModel","MinOrderCountToApplyPriceChange","OrderCountPriceChangeIncrement","UseAbsValueForOrderCountPriceChange","courierDeliveryFeesServerModel","predefinedValues","maxValue","driverTipModel","AllowMultipleDiscounts","allowMultipleDiscounts","ScoringEnabled","scoringEnabled","RequireVerifiedPhoneOnCash","requireVerifiedPhoneOnCash","RequireVerifiedPhoneOnCard","requireVerifiedPhoneOnCard","RequirePhoneVerificationOnProfile","requirePhoneVerificationOnProfile","TermsAndConditionsUrl","termsAndConditionsUrl","PrivacyPolicyUrl","privacyPolicyUrl","HeaderSettings","headerSettings","AccessibilityPolicyUrl","accessibilityPolicyUrl","AccessibleSiteUrl","accessibleSiteUrl","marketplaceSettingsServerModel","banner_settings","marketplacePagesModel","menuTemplateModel","template_id","global_template_id","depotsMenuCopyModel","secondary_title","action_button_title","marketplaceModel","_step","overriderProduct","_iterator","_step2","_iterator2","object_id","parentMenuModel","galleryModel","extraType","reviewExtraModel","company","postalCode","street1","street2","providerModel","host","correctionThresholdInMeter","emergencyContactName","emergencyContactPhone","useOrderId","useYangoGeolocation","userOrderId","merchantId","supportEmail","supportPhone","developerId","keyId","signingSecret","testMode","isInDebugMode","clientId","clientSecret","providersModel","prnID","autoPrintBon","autoPrintNewOrderNotification","cloudPrintersModel","DoNotAllowCycleRejectByCourier","doNotAllowCycleRejectByCourier","DoNotAllowPullWithoutLocation","doNotAllowPullWithoutLocation","EnableAwayControlByCourier","enableAwayControlByCourier","ManagerOnlyShiftControl","managerOnlyShiftControl","LockTasksOrderInCourierApp","lockTasksOrderInCourierApp","ArrivalDistanceThresholdInMeters","arrivalDistanceThresholdInMeters","getCourierControlSettingsModel","ShowBusinessDeliveryPriceInCourierApp","showBusinessDeliveryPriceInCourierApp","ShowOrderContentAtPickup","showOrderContentAtPickup","ShowCourierPaymentInApp","showCourierPaymentInApp","ShowCourierTipInApp","showCourierTipInApp","ShowLatestOrderReadinessTimeAtPickup","showLatestOrderReadinessTimeAtPickup","getCourierDisplaySettingsModel","producer","serialNumber","plateNumber","fleetModel","_data$vehicleData","_data$vehicleData2","_data$vehicleData3","_data$vehicleData4","_data$vehicleData5","batteryLevel","readyOn","fallState","ignitionOn","totalMileage","vibrationState","vehicleData","fleetTelemetryModel","HideFinishButtonInCourierApp","hideFinishButtonInCourierApp","MultiSelectionInCourierApp","multiSelectionInCourierApp","ShowPODScreenInCourierApp","showPODScreenInCourierApp","UseAddressForNavigation","useAddressForNavigation","RemoveClosedOrdersFromCycle","removeClosedOrdersFromCycle","getCourierInterfaceSettingsModel","_data$courierWaitingA","_data$rejectCycleOnCo","courierConfirmationOptions","CourierConfirmationOptions","CourierWaitingApproveTimeout","courierWaitingApproveTimeout","RejectCycleOnCourierApproveTimeout","rejectCycleOnCourierApproveTimeout","getCourierConfirmationSettingsModel","_data$courierWaitingA2","_data$rejectCycleOnCo2","getCourierConfirmationSettingsServerModel","reconciliationModel","SectionModel","_ref$filterOptions","filterOptions","_ref$columns","columns","_ref$tag","_ref$key","sortByFunc","initNewItemModel","typeAction","urlNewItem","_ref$showDeleteButton","showDeleteButton","isPasswordConfirm","stayAfterSave","stayAfterApprove","footer","typeModel","triggerControls","tabsControls","tableMinWidth","isHideControls","mappingLambda","actionLoad","actionOnUnmount","saveControlsConfig","controlSettings","rangePickerAction","isCustomEditIcon","editControlsConfig","isDraggable","dragActionName","_ref$dragSortPropName","dragSortPropName","editAction","isLayoutForm","tabs","hideCellForSort","hideHeaderItemControls","tableHeaderControlsWidth","editCheckExcludedProps","isHideSaveButton","isShowSaveConfirmDialog","disableGlobalKeyDown","checkActiveButtonFromModel","markModelAsChanged","isMarkedModelAsChanged","isForceUpdate","stayAfterSaveFn","breadcrumbs","additionalInformation","actionPagination","disabledIfEmpty","isNumberValue","withSearch","searchDataId","controlSelect","shouldCallActionFromSideMenu","showNeedSave","skipUpdateFilterOptions","fixScroll","customSettings","paginationKey","showFilterValueInHeader","setFilterOption","getFilterOptionPropValue","LOAD_USERS","LOAD_USERS_SUCCESS","LOAD_USERS_FAIL","LOAD_USERS_BY_IDS","LOAD_USERS_BY_ID","GET_USERS_BY_AVAILABLE_COURIERS_IDS","LOAD_COURIER_LOCATIONS","LOAD_COURIER_LOCATIONS_SUCCESS","LOAD_COURIER_LOCATIONS_FAIL","INTERVAL_COURIER_LOCATIONS","PUSHER_COURIER_LOCK_UPDATE","LOAD_USER_MARKERS","SAVE_TRAVEL_DATA","PUSHER_COURIER_SHIFT_CREATED","COURIER_UPDATE","COURIER_APPROVE_ORDERS","PUSHER_USER_UPDATED","PUSHER_USER_DELETED","CYCLE_UPDATE","CYCLE_STATE_UPDATE","UPDATE_COURIER_LOCATION","UPDATE_CONTROL_CENTERS","USER_CYCLE_STATE_UPDATE","START_SHIFT_BACKUP","START_SHIFTS","AVAILABLE_CONTROL_CENTERS","END_SHIFT","CANCEL_SHIFT","FINISH_SHIFT","GOAWAY_SHIFT","REFRESH_GROUP","DISBAND_GROUP","PUSHER_DEPOT_CYCLE_REFRESH","COURIER_TO_GROUP","NEW_USER","UPDATE_USER","UPDATE_USER_BY_ID","DELETE_USER","SET_USERS","USERS_PAGINATION","COURIER_PAGINATION","USER_SETTING","USER_SETTING_ADD","USER_SETTING_EDIT","USER_SETTING_DELETE","USER_SETTING_PASSWORD","USER_SETTING_PASSWORD_EDIT","PERSONAL_SETTING","PERSONAL_SETTING_EDIT","PERSONAL_SETTING_PASSWORD","PERSONAL_SETTING_PASSWORD_EDIT","SET_USER_AVATAR","USER_SHIFTS","USER_SHIFTS_EDIT","USER_SHIFTS_DELETE","USER_CURRENT_SHIFTS","USER_CURRENT_SHIFTS_EDIT","UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS","USER_SHIFT_HISTORY","USER_SHIFT_DOWNLOAD_PDF","USER_SHIFT_COURIERS_CSV","DEPOT_SQUARE_ASSOCIATED_LOCATION","DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK","DEPOT_SQUARE_ASSOCIATED_LOCATION_EDIT","DEPOT_SQUARE_ASSOCIATED_REVOKE","DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION","DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT","DEPOT_INTEGRATIONS","DEPOT_INTEGRATIONS_GET","DEPOT_INTEGRATIONS_UPDATE","DEPOT_INTEGRATIONS_ADD","DEPOT_INTEGRATIONS_EDIT","DEPOT_INTEGRATIONS_DELETE","DEPOT_PROVIDERS","DEPOT_PROVIDERS_GET","DEPOT_PROVIDERS_REORDER","DEPOT_PROVIDERS_DELETE","DEPOT_PROVIDERS_UNMOUNT","DEPOT_PROVIDER","DEPOT_PROVIDER_UPDATE","DEPOT_PROVIDER_ADD","DEPOT_PROVIDER_EDIT","CHECK_USER_GROUP","LOCK_GROUP","GET_DEFAULT_USERS_STATE","USERS_UPDATE","USERS_CHECK_COLORS","USERS","actionLoadUsersSuccess","actionLoadUsersFail","actionLoadCourierLocationsSuccess","actionLoadCourierLocationsFail","actionLoadUserMarkers","actionSaveTravelData","actionCycleStateUpdate","actionUpdateCourierLocation","actionCourierUpdate","actionCycleUpdate","actionUpdateControlCenters","actionUserCycleUpdate","actionUpdateUser","actionNewUser","actionDeleteUser","actionUpdateUserById","actionSetUserAvatar","actionGetIntervalCourierLocations","actionCourierToGroup","actionCheckUserGroup","actionLoadUsersByIds","actionUsersUpdate","actionUsersSet","actionCheckUsersColors","initState","isLoaded","initDnd","height","width","diffX","diffY","newOrder","getInitOrderModel","originalOrder","orderSummary","paymentIntentData","dnd","orderShakeId","mapToArray","isSameMarkers","oldMarker","has","markerType","heights","rowHeightDefault","isKeepOpenPopup","settingsRouteLocations","getInitModelType","RoleManager","firstAuthorizedSettingsLink","firstAuthorizedMarketplaceSettingsLink","getInitPrevModelType","currentModelType","layoutModelType","groupSections","groupKey","markers","cursor","isHidePolygon","isReadonly","renderPolygonsFromBusiness","alwaysShowPolygons","zoom","boundsByRegion","boundsByCircle","position","alarms","isOpenAlarmsBar","accountTopNotification","menuHeaderPriority","isNestedMenuOpen","isLink","onClose","setProductAction","setMarketplace","setMarketplacePages","globalIFrameUrl","deleteMenuTemplateAC","payload","setGlobalMenuTemplates","actionControlCenterRefreshLoading","controlCenterRefresh","isShowChat","dialogs","unreadMessages","SAVE_SUPPORT_CHAT_SESSION","SET_UNREAD_MESSAGES","SET_SHOW_SUPPORT_CHAT","SET_DIALOGS_SUPPORT_CHAT","ADD_DIALOG_SUPPORT_CHAT","PULLED_SUPPORT_DIALOG","cards","addresses","isFetch","creditCards","confirmLoading","orderInfo","deliveryType","courierTip","deliveryTime","cancelPaymentIds","canceledOffer","recalculateDiscounts","cutlery","enabledPayments","giftOption","greeting","isGift","comment","cartId","uuid","previousOrders","previousAddress","isSingleOrder","batchDraft","batchTable","bulkEmail","invoice_recipient","ACTIVE_STATE_CYCLES_UPDATE","ACTIVE_STATE_CYCLE_UPDATE","actionActiveStateCyclesSet","actionActiveStateCycleUpdate","summary","isCollapsedTable","INIT","INIT_START_SUCCESS","INIT_START_FAIL","AUTHENTICATION","AUTHENTICATION_SUCCESS","username","saveUserData","AUTHENTICATION_FAIL","AUTHENTICATION_DEAUTHORIZE_FAIL","AUTHENTICATION_SET","_state$data","_state$data2","_state$data3","_action$data4","_state$data4","_state$data4$shiftsTr","_state$data5","_state$data5$shiftsTr","_action$data5","depotsMap","availableControlCenters","providersDetails","cloudPrintersDetails","printersUpdate","printer","_action$data","_action$data2","printersNew","_action$data3","shiftsTrip","priority","exist","shiftProviders","Sentry","notExistedCouriers","courierLocations","courierLocation","newCycle","cycles","userTravelData","travelDataResult","vehicleMovementInfo","oldUser","userModule","newTravelData","NOTIFICATIONS_UPDATE","timesInfo","orderModule","updateOrderState","updateOrder","cycleReorder","cycleDispatched","routeEstimationData","stateGroups","groupLockUpdateData","CourierId","updGroup","isGroupHide","historyOrder","itemsIds","destinationGroup","updOrders","deletedOrderId","updateOrderData","parsedOrder","resetAssistOrder","ids","preord","adminOrdersLoading","integrationId","updOrder","selectedOrderId","REMOVE_MARKERS","UPDATE_ALL_COURIERS_MARKERS","courierMarker","Markers","createMarker","UPDATE_COURIER_MARKER","get","UPDATE_DEPOTS_MARKERS","depotMarker","UPDATE_DEPOT_MARKER","UPDATE_ORDERS_MARKERS","groupOrders","zIndex","UPDATE_ORDER_MARKER","UPDATE_COURIER_LOCATION_MARKER","canShowMarker","newMarker","REMOVE_MARKER","SET_SHAKE_MARKER","UPDATE_EXTERNAL_CYCLES_MARKERS","MARKER_UPDATE","markerMap","ORDEREDIT_UPDATE","isRemove","readinessTime","firstDepot","ORDEREDIT_SET_ORDER_SUMMARY","ORDEREDIT_ADD_PRODUCTS","ORDEREDIT_ORIGINAL_ORDER_UPDATE","DND_SET_DATA","DND_CLEAR_DATA","RESET_ORDEREDIT_DATA","INIT_SECTION_ITEMS_HEIGHTS","REFRESH_SECTION_ITEMS_HEIGHTS","SAVE_SECTION_ITEM_HEIGHT","UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT","SET_SECTION_ITEMS_LOADING","SECTION_MODEL_INIT","SECTION_MODEL_UPDATE","SECTION_MODEL_UPDATE_MODEL","SECTION_MODEL_SCROLL_UPDATE","scrolls","scroll","portalMap","UPDATE_PORTAL_MAP_DATA","isInit","tooltipPortal","UPDATE_TOOLTIP_DATA","event","toElement","relatedTarget","parentNode","context","ALARMS_ADD","isNeedToAddSeverity","ALARMS_UPDATE_ACTIVE","alarm","ALARMS_UPDATE","ALARMS_DELETE","ALARMS_RESTART","ALARMS_BAR_SET_SHOW","ACCOUNT_TOP_NOTIFICATION_UPDATE","MENU_PRIORITY_UPDATE","TOGGLE_NESTED_MENU","isOpen","globalPopupMessage","GLOBAL_POPUP_MESSAGE_INIT","GLOBAL_POPUP_MESSAGE","emptyInfo","SET_EMPTY_INFO","globalPortalData","GLOBAL_PORTAL_DATA_UPDATE","EXTERNAL_CYCLES_UPDATE_LIST","EXTERNAL_CYCLE_UPDATE","EXTERNAL_CYCLE_REMOVE","tmp","oldTemplates","globalTemplates","loaders","BILLING_INFO_UPDATE","SET_BILLING_CARDS","DELETE_BILLING_CARD","ADD_NEW_BILLING_CARD","SET_BILLING_ADDRESSES","DELETE_BILLING_ADDRESS","ADD_NEW_BILLING_ADDRESS","SET_BILLING_IS_FETCH","customer","CUSTOMER_REVIEWS_UPDATE","CUSTOMERS_UPDATE","CUSTOMER_UPDATE","consumerId","RESET_CUSTOMER_ORDER_EDIT_INFO","SET_EDIT_CUSTOMER_ORDER_INFO","SET_EDIT_CUSTOMER_ORDER_MENU","_state$menu","_action$payload","SET_BULK_EMAIL","SET_INVOICE_RECIPIENT","SET_EDIT_CUSTOMER_ORDER_SUMMARY","SET_EDIT_CUSTOMER_ORDER_PRODUCTS","SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE","SET_EDIT_CUSTOMER_ORDER_LOADING","SET_EDIT_CUSTOMER_ORDER_COURIER_TIP","SET_EDIT_CUSTOMER_ORDER_PAYMENTS","saleAmount","SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY","SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME","SET_EDIT_CUSTOMER_ORDER_CUTLERY","SET_EDIT_CUSTOMER_ORDER_ADDRESS","hasAddress","SET_EDIT_CUSTOMER_GIFT_DATA","SET_EDIT_CUSTOMER_ENABLED_PAYMENTS","SET_ORDER_TIME_SLOTS","timeSlots","SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING","SET_PREVIOUS_ORDERS","SET_IS_SINGLE_ORDER","SET_PREVIOUS_ORDERS_ADDRESS","SET_BUSINESS_BY_FILTERS","SET_EDIT_ORDER_COMMENT","SET_EDIT_ORDER_TERRITORY","SET_BATCH_CUSTOMERS_TABLE","SET_CANCEL_PAYMENT_IDS","UPDATE_BATCH_CUSTOMERS_TABLE_ROW","consumers_data","row","sourceKey","updateKey","SET_TEMPLATE_BATCH_DRAFT","ADD_TEMPLATE_BATCH_DRAFT","UPDATE_TEMPLATE_BATCH_DRAFT","DELETE_TEMPLATE_DRAFT","ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS","DELET_BATCH_CUSTOMERS_TABLE_ROW","temporaryId","CHANGE_TEMPORARY_CONSUMER","ORDEREDIT_SET_PAYMENT_INTENT","ORDEREDIT_SET_CANCEL_OFFER_IDS","CHANGE_RECALCULATED_DISCOUNTS","CHANGE_ORDER_COUPON","LOAD_RECONCILIATIONS_CONFIGURATIONS","ADD_RECONCILIATIONS_CONFIGURATIONS","UPDATE_RECONCILIATIONS_CONFIGURATIONS","_state$data2$configur","UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE","mergedModel","UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS","configurationSettings","RECONCILIATIONS_PERIODS_COLLAPSE_TABLE","RECONCILIATIONS_PERIODS_UNMOUNT_TABLE","RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET","LOAD_RECONCILIATIONS_PERIODS","ADD_RECONCILIATIONS_PERIODS","LOAD_RECONCILIATIONS_PERIOD","findPeriod","routeSaga","routeModelsSaga","_marked3","marketplaceMenuTemplateRouteSaga","_marked4","marketplaceMessageSettingsRouteSaga","_marked5","settingsDepotRouteSaga","_marked6","settingsRouteSaga","_marked7","ordersRouteSaga","_marked8","restaurateurMenuRouteSaga","_marked9","shiftsRouteSaga","_marked10","reconciliationsRouteSaga","_marked11","customerServiceRouteSaga","_marked12","orderingMenuMenuTemplateRouteSaga","_marked13","orderingMenuRouteSaga","_marked14","getSectionModelSaga","_marked15","_callee3","_context3","isRefresh","check","pathSplit","settingsAutorized","pathnameAutorized","pathSplitAutorized","first","InfoMessageService","checkAction","actionSetEmptyInfoMessage","skipCheckPathname","getFirstAuthorizedLink","excludedUrls","_action$location","groupSectionItem","newModel","_context4","createSettingsSectionModel","params","control","controlUrl","actionUpdateSectionModel","_action$location2","_getHistoryLocationPa2","_context5","_action$location3","_context6","_action$location4","_getHistoryLocationPa4","isForceUpdateColumns","updModel","_context7","_action$location5","_context8","_action$location6","_getHistoryLocationPa5","_context9","_action$location7","_getHistoryLocationPa6","subToId","prevExistedModel","newSectionModel","_context10","_action$location8","_getHistoryLocationPa7","_context11","_action$location9","_getHistoryLocationPa8","_context12","_objectSpread16","_action$location10","_getHistoryLocationPa9","_context13","_objectSpread17","_action$location11","_getHistoryLocationPa10","_context14","_context16","editItem","_getHistoryLocationPa11","createSectionModel","_context15","_context17","takeEvery","LOCATION_CHANGE","SECTION_MODEL_REFRESH","SECTION_MODEL_GET","authorize","qs","grant_type","client_id","refreshAuth","refresh_token","getRefreshToken","markersSaga","fetchOrderMarkersSaga","fetchCourierMarkersSaga","shakeMarkerSaga","checkMarkersSaga","fetchCourierMarkerSaga","isLoadUserMarkers","actions","actionRemoveMarkers","actionLoadOrderMarkers","actionUpdateDepotsMarkers","_data$data","markerGroupsOrders","groupIndex","actionUpdateOrdersMarkers","actionUpdateAllCouriersMarkers","setTimeout","actionSetShakeMarker","orderMarkerIds","actionRemoveMarker","actionUpdateCourierMarker","LOAD_MARKERS","LOAD_ORDER_MARKERS","LOAD_COURIER_MARKERS","SHAKE_MARKER","CHECK_MARKERS","usersSaga","courierLocationsSaga","updateCourierLocationSaga","approveOrdersSaga","fetchUserAvatarsSaga","cycleStateUpdateSaga","cycleDispatchedSaga","courierShiftCreatedSaga","startBackupSaga","startShiftsSaga","endShiftSaga","cancelShiftSaga","finishShiftSaga","_marked16","goAwayShiftSaga","_marked17","refreshGroupSaga","_marked18","disbandGroupSaga","_marked19","updateCourierMarkerSaga","_marked21","courierLockUpdateSaga","_marked22","courierToGroupSaga","_marked23","usersPaginationSaga","_marked24","couriersPaginationSaga","_marked25","editUserSaga","_marked26","addUserSaga","_marked27","deleteUserSaga","_marked28","editUserPasswordSaga","_marked29","updateUserByIdSaga","_marked30","personalSettingsSaga","_marked31","setUserAvatarSaga","_marked32","personalSettingsPasswordSaga","_marked33","userShiftsEditSaga","_marked34","userCurrentShiftsEditSaga","_marked35","updateCurrentShiftDepotCouriersSaga","_marked36","userShiftRemoveSaga","_marked37","userShiftDownloadPdfSaga","_marked38","userShiftDownloadCsvSaga","_marked39","externalCyclesUpdateSaga","_marked40","externalCycleCreatedSaga","_marked41","externalCycleUpdatedSaga","_marked42","externalCycleFinishedSaga","_marked43","externalCycleAssociateSaga","_marked44","disbandOrderFromExternalCycleSaga","_marked45","disbandExternalCycleDataSaga","_marked46","extractExternalCycleDataSaga","_marked47","addOrderToExternalCycleSaga","_marked48","updateExternalCyclesFromCourierLocationsSaga","_marked49","confirmExternalCycleSaga","_marked50","checkUserGroupSaga","_marked51","lockGroupSaga","_marked52","pusherUserUpdatedSaga","_marked53","getUsersByIdsSaga","_marked54","getUserByIdSaga","_marked55","getUsersByAvailableCouriersIdsSaga","_marked56","checkColorsForUsersSaga","_marked57","getDefaultUsersState","_marked58","_callee47","isCurrentUser","unique_name","setCurrentUserInfo","actionExternalCycleUpdateFromCourierLocations","markerUsers","fetchCourierLocations","travelDataUpdate","locationUsers","actionUpdateCourierLocationMarker","confirmExternalCycle","approveOrders","actionExternalCycleUpdate","actionExtractExternalCycleData","showUserMarkers","groupMarkers","actionUpdateShowCourierMarker","startShift1","groupUpdateDataSaga","depotCycleRefreshConfig","controlCenterUpdateConfig","updateUser","startShifts","every","_callee4","_availableControlCenters","getAvailableControlCenters","_requestResult$data","_context18","_callee5","_users","_context20","_callee6","_context19","cancelCycle","_context22","_callee7","_users2","_context21","finishCycle","_context24","_callee8","_context23","goAway","_context26","_callee9","_context25","isGroup","groupCourierForGroup","groupCourier","_context28","_callee10","pickups","_context27","disbandCycle","disbandGroup","_users3","_context29","_users4","_context31","isLocked","_context33","_callee11","newOrderIndex","pickup","pendingOrders","pendingOrder","_context32","courierToGroup","removeGroupFromPendingOrder","_context35","_callee12","_getUserConnectionDat","curUserId","newUsers","_context34","actionSetSectionItemsLoading","updateUsersPagination","totalCount","_context37","_callee13","setCycles","withCycles","_context36","_context39","_callee14","emptyUser","_context38","editUser","_context41","_callee15","_context40","addUser","_context43","_callee16","_context42","removeUser","_context45","_callee17","_context44","resetUserPassword","_context47","_callee18","reqRes1","reqRes2","newUser","reqResCycles","newUserCycle","_context46","getCourierByUserName","getUser","statistics","cashCollected","ordersDelivered","totalAmount","fetchCycle","_context49","_callee19","userFirstAndLastname","_context48","setCurrentUser","setCurrentUserConfiguration","alwaysShow","isBase64Image","_context51","_callee20","requestResultUsers","newUserData","_context50","setUserAvatarBase64","fetchUsers","AvatarUrl","_context53","_callee21","authRequestResult","_context52","resetPassword","getCurrentUserName","getRememberMe","Interval","removeStoredData","_context55","_callee22","_context54","isAfter","updateShift","_context57","_callee23","_users5","_action$data7","_action$data7$startTi","_action$data8","_action$data8$endTime","_context56","updateCurrentShiftUser","_action$data5$startTi","_action$data6","_action$data6$endTime","_context59","_callee24","_users6","userIds","clearUsersByDepotId","_context58","updateCurrentShiftDepotCouriers","_user$cycle$allowedDe","_user$cycle2","_context61","_callee25","_context60","deleteShift","_context63","_callee26","_action$data9","isProvider","_requestResult","prevModel","_context62","shiftPdf","shiftProviderPdf","_context65","_callee27","_action$data$filterOp","startShiftDate","endShiftDate","dataBlob","blob","_context64","selected","couriersCsv","saveAs","_context67","_callee28","_action$data10","currentExternalCycles","externalCyclesOrders","_context66","actionExternalCyclesUpdateList","extractExternalCycleOrders","actionExternalCyclesMarkersUpdate","_context69","_callee29","_context68","_context71","_callee30","_context70","_context73","_callee31","_context72","actionExternalCycleRemove","_context75","_callee32","_context74","createExternalCycle","_context77","_callee33","_context76","removeExternalCycle","_context79","_callee34","_context78","cancelExternalCycle","_context81","_callee35","newPendingOrders","_context80","_context83","_callee36","externalGroup","newOrdersInGroup","_context82","addExternalCycle","_context85","_callee37","externalCycleIds","_context84","extractExternalCycleCourierMarkers","_context87","_callee38","_context86","_context89","_callee39","_users7","resUser","_context88","fetchUser","getGroup","_context91","_callee40","_users8","_requestResult2","_context90","isNotDefaultOrderGroup","unlockCourierGroup","lockCourierGroup","unlockGroup","lockGroup","_context93","_callee41","_restaurant$activeCon","_context92","_context95","_callee42","uniqueUserIds","_context94","Set","getUsersByIds","_context97","_callee43","_context96","_context99","_callee44","shiftActiveUserIds","_context98","fetchShiftActiveUsers","activeUser","_context101","_callee45","usersIds","_users9","usersNeededUpdate","_context100","_context103","_callee46","_getUserConnectionDat2","oneUserAndIsCourier","cyclesIds","_cyclesIds","_context102","_context104","UPDATE_SHOW_COURIER_MARKER","EXTERNAL_CYCLES_UPDATE","PUSHER_EXTERNAL_CYCLE_CREATED","PUSHER_EXTERNAL_CYCLE_UPDATED","PUSHER_EXTERNAL_CYCLE_FINISHED","ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE","DISBAND_ORDER_FROM_EXTERNAL_CYCLE","EXTRACT_EXTERNAL_CYCLE_DATA","EXTERNAL_CYCLE_DISBAND","ADD_ORDER_TO_EXTERNAL_CYCLE","EXTERNAL_CYCLES_UPDATE_FROM_COURIER_LOCATIONS","EXTERNAL_CYCLE_CONFIRM","ordersSaga","newOrderSaga","updateOrderStateSaga","updateOrderDataSaga","reorderOrdersSaga","manualAssociateUpdateSaga","associateOrderSaga","changeOrderStateSaga","updateOrderMarkersSaga","reorderSaga","manualUnassociateUpdateListSaga","associateOrdersSaga","deleteOrderSaga","deleteAssistanceOrderSaga","saveOrderToServerSaga","approveAssistanceOrderSaga","getReceiptsSaga","getAdvancedInfoSaga","_marked20","loadHistoryOrdersSaga","getOrdersProviderSaga","reloadOrderSaga","setOrderDeliveredBySaga","pendingOrderSaveSaga","consumerOrderAddSaga","consumerOrderCancelSaga","pendingOrderGetSaga","getConsumerPreOrdersSaga","adminOrderGetSaga","adminOrderSearchSaga","adminOrderInfoSaga","orderAdminInfoSaga","getProductByIdBusiness","orderMenuGetSaga","getMergedBusinessMenuByIdSaga","pendingOrderDataGetSaga","pendingOrderUnAssociateOrderSaga","pendingOrderCancelCycleSaga","orderNoteEditSaga","adminOrderReshipmentSaga","adminOrderRefundSaga","adminOrderCaptureSaga","getAdminOrderPendingCountSaga","pushMessageSaga","adminOrderDeliveredSaga","adminOrderCancelSaga","consumerOrderSearchSaga","getMarketplaceSaga","getMarketplaceDataSaga","getPagesSaga","groupReorderPusherSaga","createNewGroupSaga","getMergedBusinessMenuSaga","getSetupIntentSaga","stripeVerifyCardOrderSaga","getOrderPaymentIntentSaga","setCreatedOrdersSaga","deleteMultiOrderSaga","_marked59","_callee50","assistanceOrders","consumerOrders","groupStates","extractOrders","actionLoadMarkers","originalOrderId","AudioService","playSound","canceledOrder","currentOrder","currentGroup","removeOrder","_filter$concat","groupOrder","associatedCourierId","orderState","updateOrdersMarkerType","notIncludeKeys","_cycle$orders","associateMode","_group","newOrderInGroup","cycleData","_restaurant","_pendingOrders","updatedOrder","control_center_id","associateAssistance","associateOrder","Orders","getCycleData","actionMarkerUpdate","exchangeOrders","associateGroup","orderType","getAPIType","changeOrderState","takeaways","ReadinessTime","actionUpdateOrderMarker","_orders$filter$concat","courierReorder","newIndex","groupReorder","TargetGroupId","NewGroup","Index","orderReducerState","ordersIds","unsortedGroup","unsortedGroupOrders","newOrders","currentGroupOrders","_restaurant2","_depots","ordersId","fetchActiveOrders","Groups","associateOrders","deleteOrder","deleteAssistanceOrder","serverModel","removeAddressNulls","dropPaymensZerro","getTotalAmount","editOrder","createNewOrder","firstname","parent","_toArray","approveAssistanceOrder","apiCalls","apiCallResults","results","receiptIds","fetchReceipts","getAdvancedInfo","ordersFilterModel","clearHistory","_ordersFilterModel$op","_response","newUserIds","uniqueIds","_data","_context30","historyTime","getDateOrders","processHistoryOrders","DeliveryBy","getLastOrders","resultRequest","fetchExternalProviders","reloadOrder","preorder","isPreorder","setOrderDeliveredBy","forPreorders","consumerOrderAccept","consumerOrderAcknowledge","consumerOrderReject","consumerOrderDelaying","consumerOrderCooking","consumerOrderReady","consumerOrderPickUp","consumerOrderRepack","addConsumerOrder","requestParams","cancelConsumerOrder","dataSound","enableSound","fetchConsumerOrders","_map","fetchPendingPreOrders","sortByDate","_order$courierInfo","orderToUpdate","rememberOrder","fetchAdminOrders","courierInfo","driver_id","cancelerInfo","consumerInfo","fetchAdminOrderById","requestCallObj","_cancelerInfo","fetchCourierInfo","getCallCenterMenu","fetchCancelerInfo","customer_id","fetchConsumerInfo","fetchBusinessInfo","fetchOrderMenu","getMergedBusinessMenuById","_yield$select","actionDisbandOrderFromExternalCycle","actionExternalCycleDisband","updateServiceNotes","refundOrder","setCaptureRemainder","getAdminOrderPengingCount","deliveryAdminOrder","cancelAdminOrder","existedUsersIds","neededUsersIds","consumerOrderSearch","_objectKeysToUpperLow","newGroup","_yield$select2","selectedOrders","_objectKeysToUpperLow2","_orders","pickupETA","getMergedBusinessMenu","getOrderSetupIntent","setPaymentIntent","stripeVerifyCardOrder","Territory","Token","Expiry","_yield$select3","_yield$select4","paymethod_id","requested_bonus","driver_tip","payment_data","getOrderPaymentIntent","_context105","_callee48","_yield$select5","_yield$select6","delivery_strategy","final_price","full_name","consumerPhone","setCreatedOrders","_context107","_callee49","_context106","deleteMultiOrders","_context108","DELETE_MULTI_ORDER","takeLatest","settingsTranslationsServerModel","property_name","translated_value","getMarketplaceStatisticsDaily","getMarketplaceStatistics","getBusinessStatisticsDaily","getBusinessStatisticsDailyByIds","businessIds","BusinessIds","getBusinessStatistics","getBusinessStatisticsByIds","getProductStatisticsDaily","getSuboptionStatisticsDaily","fetchReconciliationsConfigurations","exportReconciliationsConfigurations","importReconciliationsConfigurations","postReconciliationsConfiguration","updateReconciliationsConfiguration","getMergedConfiguration","configId","fetchReconciliationsConfigurationDepots","fetchReconciliationsConfigurationDepotsWithoutTerritory","updateReconciliationsPeriod","deleteReconciliationsConfiguration","fetchReconciliationsPeriods","fetchReconciliationsPeriodById","postReconciliationsPeriods","deleteReconciliationsPeriods","xlsReconciliationsPeriod","periodId","invoiceReconciliationsPeriod","recalculateReconciliationsPeriod","periodRewriteSourceDataModel","RewriteSourceData","approveReconciliationsPeriod","exportReconciliationsPeriod","exportReconciliationsPeriodTableXls","exportReconciliationsPeriodTableInvoice","depotReconciliationsSettingsGet","depotReconciliationsSettingsEdit","reconciliationsSettingsGet","reconciliationsSettingsEdit","restaurantSaga","controlCenterStatusSaga","controlCentersStateUpdateSaga","fetchDepotAvatarsSaga","setModeSaga","depotOperationModeGetSaga","depotInitDataSaga","depotReconciliationGetSaga","depotReconciliationEditSaga","reconciliationConfigGetSaga","reconciliationConfigEditSaga","depotOperationModeAddSaga","depotOperationModeEditSaga","depotOperationModeDeleteSaga","changeDepotOperationModeActiveSaga","changeDepotOperationModeActiveByDefaultSaga","depotEditSaga","depotAddSaga","depotDeleteSaga","setDepotAvatarSaga","depotUserEditSaga","getDepotUsersSaga","checkDepotMenuSaga","getDepotMenuSaga","depotMenuCopySaga","getDepotPriceSaga","saveDepotUserPasswordSaga","editDepotPriceSaga","editDepotMenuSaga","depotUserAddSaga","depotUserRemoveSaga","manuTemplateBusinessCategoryEditSaga","depotPaymeWalletSaga","depotPaymeCreditSaga","depotPaymentStateSaga","getDepotUserById","restaurantPaymentStateSaga","restaurantPaymentsConfigurationEditSaga","restaurantPaymeCreditSaga","generalSettingEditSaga","shipmentPriceConfigurationEditSaga","shipmentPriceConfigurationGetSaga","generalSettingGetSaga","getBusinessAppSettingsSaga","updateBusinessAppSettingsSaga","getCourierSettingsSaga","updateCourierSettingsSaga","telegramSettingEditSaga","marketplaceMassageAddSaga","marketplacePagesAddSaga","marketplaceMassageEditSaga","marketplacePageEditSaga","marketplaceToggleEnabledSaga","marketplacePagesToggleEnabledSaga","marketplaceMessageDeleteSaga","marketplacePageDeleteSaga","marketplaceMessageUpdateSaga","marketplacePageUpdateSaga","marketplaceSettignsUpdateSaga","_marked60","regionSettingAddSaga","_marked61","regionSettingEditSaga","_marked62","regionSettingRemoveSaga","_marked63","providersSettingGetSaga","_marked64","providersSettingDetailsGetSaga","_marked65","providersSettingAddSaga","_marked66","providersSettingEditSaga","_marked67","providersSettingRemoveSaga","_marked68","cloudPrintersSettingGetSaga","_marked69","cloudPrintersSettingDetailsGetSaga","_marked70","cloudPrintersSettingAddSaga","_marked71","cloudPrintersSettingEditSaga","_marked72","cloudPrintersSettingRemoveSaga","_marked73","serviceCityAddSaga","_marked74","serviceCityEditSaga","_marked75","serviceCityGetSaga","_marked76","fleetGetSaga","_marked77","fleetGetTelemetryBlinkSaga","_marked78","fleetGetTelemetrySaga","_marked79","resetFleetTelemetrySaga","_marked80","fleetAddSaga","_marked81","fleetEditSaga","_marked82","fleetDeleteSaga","_marked83","serviceCityToggleSaga","_marked84","serviceCityRemoveSaga","_marked85","namedPlaceAddSaga","_marked86","namedPlaceEditSaga","_marked87","namedPlaceRemoveSaga","_marked88","namedPlaceGetSaga","_marked89","shiftsSaga","_marked90","currentShiftUsersSaga","_marked91","shiftProvidersSaga","_marked92","getUserShiftHistorySaga","_marked93","getProviderShiftHistorySaga","_marked94","saveUserOrProviderShiftHistory","_marked95","activateControlCenterSaga","_marked96","settingsControlCenterEdit","_marked97","settingsControlCenterGet","_marked98","deactivateControlCenterSaga","_marked99","changeUserControlCenterSaga","_marked100","copyTelegramCommandSaga","_marked101","getOrderStatSaga","_marked102","notificationAddSaga","_marked103","notificationDeleteSaga","_marked104","notificationRestartSaga","_marked105","businessCategoryGetSaga","_marked106","cancelReasonGetSaga","_marked107","cancelReasonAddSaga","_marked108","cancelReasonEditSaga","_marked109","cancelReasonDeleteSaga","_marked110","businessDeepLinkCreateSaga","_marked111","businessProductDeepLinkCreateSaga","_marked112","marketplaceDeepLinkCreateSaga","_marked113","depotBusinessSKUGetSaga","_marked114","depotBusinessTranslationGetSaga","_marked115","depotBusinessTranslationUpdateSaga","_marked116","depotBusinessSKUUpdateSaga","_marked117","depotBusinessTranslationExportSaga","_marked118","depotBusinessSKUExportSaga","_marked119","depotBusinessSKUImportSaga","_marked120","depotBusinessTranslationImportSaga","_marked121","businessCategoryEditSaga","_marked122","businessCategoryDeleteSaga","_marked123","businessCategoryUpdateSaga","_marked124","operationTimingAddSaga","_marked125","operationTimingEditSaga","_marked126","operationTimingDeleteSaga","_marked127","operationTimingToggleDefaultPropertySaga","_marked128","getOrderingMenuSaga","_marked129","orderingMenuDeliveryZoneEditSaga","_marked130","orderingMenuDeliveryZoneAddSaga","_marked131","orderingMenuDeliveryZoneDeleteSaga","_marked132","orderingMenuScheduleEditSaga","_marked133","orderingMenuBusinessDiscountEditSaga","_marked134","orderingMenuBusinessDiscountAddSaga","_marked135","orderingMenuBusinessDiscountDeleteSaga","_marked136","orderingMenuBusinessInfoEditSaga","_marked137","setBusinessMenuHeaderSaga","_marked138","setBusinessMenuHeaderMiniSaga","_marked139","businessMenuCategoryDeleteSaga","_marked140","businessMenuCategoryUpdateSaga","_marked141","businessMenuCategoryEditSaga","_marked142","businessMenuCategoryListUpdateSaga","_marked143","businessMenuCategoryAddSaga","_marked144","businessMenuCategoryProductEditSaga","_marked145","businessMenuCategoryProductAddSaga","_marked146","businessMenuCategoryProductDeleteSaga","_marked147","businessMenuCategoryProductsDragUpdateSaga","_marked148","businessMenuCategoryProductsUpdateSaga","_marked149","businessMenuCategoryProductsUpdateAvatarSaga","_marked150","businessMenuCategoryExtrasSuboptionUpdateImageSaga","_marked151","orderingMenuExtrasSubOptionUpdateImageSaga","_marked152","businessMenuCategoryProductUpdateSaga","_marked153","businessMenuCategoryExtrasAddSaga","_marked154","businessMenuCategoryExtrasEditSaga","_marked155","businessMenuCategoryExtrasUpdateSaga","_marked156","businessMenuCategoryExtrasDeleteSaga","_marked157","businessMenuCategoryExtrasOptionUpdateSaga","_marked158","businessMenuCategoryExtrasOptionEditSaga","_marked159","businessMenuCategoryExtrasOptionDeleteSaga","_marked160","businessMenuCategoryExtrasOptionReorderSaga","_marked161","businessMenuCategoryExtrasSuboptionUpdateSaga","_marked162","businessMenuProductOverrideExtraSaga","_marked163","businessMenuProductOverrideOptionSaga","_marked164","businessMenuProductOverrideSuboptionSaga","_marked165","menuTemplateOverrideExtraSaga","_marked166","menuTemplateOverrideOptionSaga","_marked167","menuTemplateOverrideSuboptionSaga","_marked168","menuTemplateOverrideSuboptionDeleteSaga","_marked169","menuTemplateOverrideOptionDeleteSaga","_marked170","menuTemplateOverrideExtraDeleteSaga","_marked171","parentMenuOverrideDeleteSaga","_marked172","businessMenuProductDeleteOverrideSaga","_marked173","businessMenuCategoryExtrasSuboptionReorderSaga","_marked174","businessMenuCategoryExtrasSuboptionDeleteSaga","_marked175","businessMenuCategoryExtrasSuboptionEditSaga","_marked176","businessMenuCategoryDepotEditSaga","_marked177","businessMenuCategoryExtrasDepotEditSaga","_marked178","businessMenuCategoryProductDepotEditSaga","_marked179","businessMenuCategoryExtrasOptionDepotEditSaga","_marked180","businessMenuCategoryExtrasSuboptionEditDepotSaga","_marked181","businessMenuCategoryExtrasSuboptionAddSaga","_marked182","businessMenuCategoryProductIngredientEditSaga","_marked183","businessMenuCategoryProductIngredientReorderSaga","_marked184","businessMenuCategoryProductIngredientUpdateSaga","_marked185","businessMenuCategoryProductIngredientDeleteSaga","_marked186","depotDefaultRegionControlCenterEditSaga","_marked187","depotDefaultRegionControlCenterDeleteSaga","_marked188","businessMenuEditGallerySaga","_marked189","businessMenuAddGallerySaga","_marked190","businessMenuDeleteGallerySaga","_marked191","businessMenuReorderGallerySaga","_marked192","depotDefaultRegionControlCenterGetSaga","_marked193","getSettingsOffersSaga","_marked194","getSettingsOffersEditSaga","_marked195","getSettingsOffersAddSaga","_marked196","getSettingsOffersDeleteSaga","_marked197","setActivateModelSaga","_marked198","searchShortcutAddSettingsSaga","_marked199","searchShortcutDeleteSettingsSaga","_marked200","depotServicesRefreshSaga","_marked201","giftCardGetSaga","_marked202","giftCardProductAddSaga","_marked203","giftCardProductEditSaga","_marked204","giftCardEditSaga","_marked205","giftCardProductDeleteSaga","_marked206","giftCardProductUpdateSaga","_marked207","giftCardProductDragUpdateSaga","_marked208","giftCardProductUpdateAvatarSaga","_marked209","setGiftCardBusinessMenuHeaderSaga","_marked210","getReferralSettingsSaga","_marked211","getLoyaltySettingsSaga","_marked212","editLoyaltySettingsRegisterVoucherSaga","_marked213","editLoyaltySettingsCashbackSaga","_marked214","updateReferralSettingsSaga","_marked215","getDriverTipSaga","_marked216","updateDriverTipSaga","_marked217","depotPriceSettingApplyToSaga","_marked218","getCourierShipmentSaga","_marked219","getCourierShipmentTemplateSaga","_marked220","deleteCourierShipmentTemplateSaga","_marked221","getListPromotionSettingsSaga","_marked222","courierShipmentEditSaga","_marked223","courierShipmentTemplateEditSaga","_marked224","courierShipmentTemplateAddSaga","_marked225","deliveryZonesGetSaga","_marked226","addListPromotionSettingsSaga","_marked227","deliveryZonesAddSaga","_marked228","editListPromotionSettingsSaga","_marked229","deliveryZonesEditSaga","_marked230","deliveryZonesGlobalEditResetSaga","_marked231","deliveryZonesGlobalEditSaga","_marked232","deleteListPromotionSettingsSaga","_marked233","deliveryZoneDeleteSaga","_marked234","dragListPromotionSettingsSaga","_marked235","serviceLoyaltyCampaignsGetSaga","_marked236","serviceLoyaltyCampaignsAudienceFilterCountGetSaga","_marked237","serviceLoyaltyCampaignsToggleEnabledSaga","_marked238","executeCompaingSaga","_marked239","serviceLoyaltyCampaignsAddSaga","_marked240","serviceLoyaltyCampaignsDeleteSaga","_marked241","serviceLoyaltyCampaignsEditSaga","_marked242","serviceLoyaltyCampaignsExecutionsGetSaga","_marked243","serviceLoyaltyCampaignsExecutionsUpdateByIdSaga","_marked244","serviceLoyaltyCampaignsExecutionsCreateSaga","_marked245","serviceFeeGetSaga","_marked246","serviceFeeEditSaga","_marked247","deliveryZonesUpdateSaga","_marked248","deliveryZonesUpdateEnableSaga","_marked249","marketDeliveryZonesUpdateSaga","_marked250","depotIntegrationsGetSaga","_marked251","depotIntegrationUpdateSaga","_marked252","depotIntegrationsAddSaga","_marked253","depotIntegrationsEditSaga","_marked254","depotIntegrationsDeleteSaga","_marked255","getMenuTemplateSaga","_marked256","deleteMenuTemplateSaga","_marked257","addMenuTemplateSaga","_marked258","updateMenuTemplateSaga","_marked259","getBusinessParentMenuSaga","_marked260","overrideMenuSaga","_marked261","getOrderingMenuExtraSaga","_marked262","depotSquareAssociatedLocationCheckSaga","_marked263","orderingMenuExtraEditSaga","_marked264","orderingMenuExtraDeleteSaga","_marked265","orderingMenuExtraUpdateSaga","_marked266","orderingMenuExtrasOptionEditSaga","_marked267","orderingMenuExtrasOptionUpdateSaga","_marked268","orderingMenuExtrasOptionDeleteSaga","_marked269","orderingMenuExtrasSubOptionEditSaga","_marked270","orderingMenuExtrasSubOptionDeleteSaga","_marked271","orderingMenuExtrasSubOptionUpdateSaga","_marked272","orderingMenuExtrasOptionReorderSaga","_marked273","orderingMenuExtrasSubOptionReorderSaga","_marked274","setMenuCreateOrder","_marked275","getMergegMenuByBusinessId","_marked276","operationTimingGetSaga","_marked277","operationTimingGetForDepotSaga","_marked278","depotSquareAssociatedLocationEditSaga","_marked279","getDepotProvidersSaga","_marked280","editDepotProvidersSaga","_marked281","addDepotProviderSaga","_marked282","deleteDepotProviderSaga","_marked283","depotSquareAssociatedRevokeSaga","_marked284","reorderDepotProvidersSaga","_marked285","depotSquareAssociatedAuthorizationSaga","_marked286","depotSquareAssociatedAuthorizationShortSaga","_marked287","resetDepotProvidersSaga","_marked288","checkSquareUpAuthorizedRequiredSaga","_marked289","getBusinessByQuerySaga","_marked290","parentMenuOverrideOptionSaga","_marked291","parentMenuOverrideExtraSaga","_marked292","parentMenuOverrideProductSaga","_marked293","parentMenuOverrideCategorySaga","_marked294","parentMenuOverrideSuboptionSaga","_marked295","addMarketplaceMessageGallerySaga","_marked296","editMarketplaceMessageGallerySaga","_marked297","reorderMarketplaceMessageGallerySaga","_marked298","deleteMarketplaceMessageGallerySaga","_marked299","marketplaceMenuClearOverrideSaga","_marked300","getSalesStatisticsDataSaga","_marked301","_callee298","currentRestaurant","appShipmentPriceSettings","appShipmentPriceConfiguration","api","centers","newCenters","newControlCenter","availableControlCenter","couriersOnShift","_userModel","resubscribeUpdatedControlCenters","fetchMarkerAvatarBase64","resDataItem","automode","newDepot","reconciliationSettings","actionUpdateReconciliationsConfigurationSettings","mewOperation","newOperation","newConfigOperation","activeProfile","innerDepot","actionUpdateDepotMarker","_data$page","_depots$find","templateId","TemplateBusinessId","_restaurant$businessM","businessCategoryId","business_categories","requestResultRestaurant","sellerGender","Depots","creditAcceptType","acceptCash","acceptCreditCard","acceptCashOnTakeAway","OnlineState","AcceptCash","AcceptCashOnTakeAway","AcceptCreditCard","overrideDepotSettings","walletData","OverrideDepotSettings","pickupLoadTime","maxOrdersPerCourier","orderUnloadTime","readinessHeadsUpTime","readinessHeadsUpTimeForScheduledOrders","maxTakeAwayRedinessTime","maxPickupsCollectionTime","maxPickupDistance","neighborhoodRadiusTime","takeAwaySupported","assistOutOfRegion","groupingStrategy","optimizationStrategy","postRejectOrderCoolDownPeriod","newOrderNotificationPriorityPeriod","newOrderNotificationPriorityRadiusInMeters","maxBicycleServiceDistance","hideReadinessTimeOnOrderCard","showOrderPaymentStatus","cardPaymentDefaultIsNotPaid","isCanEditBusinessInfo","useCarVehicleForExtraSizeOrders","notificationConfiguration","appbasisPrice","appbasisDistanceInMeters","apppricePerKm","appmaxDeliveryPrice","appmode","restaurantShipmentPriceConfiguration","courierControlSettings","telegramConfiguration","requestResultWithBanner","isBase64Video","_callee51","_callee52","_callee53","_context110","_callee54","_context109","_context112","_callee55","_context111","_context114","_callee56","_context113","_context116","_callee57","_resultRequest","_context115","headerUrl","_context118","_callee58","_context117","_context120","_callee59","_context119","_context122","_callee60","_context121","_context124","_callee61","_context123","_context126","_callee62","currentProvider","_context125","_context128","_callee63","providerForm","_context127","EntityId","_context130","_callee64","_context129","_context132","_callee65","_context131","_context134","_callee66","_context133","_context136","_callee67","_getHistoryLocationPa12","_context135","_context138","_callee68","_context137","_context140","_callee69","_context139","_context142","_callee70","_context141","_context144","_callee71","_context143","_context146","_callee72","_context145","sc","_context148","_callee73","_context147","_context150","_callee74","_context149","_context152","_callee75","_getHistoryLocationPa13","_context151","_context154","_callee76","_getHistoryLocationPa14","requestVehicleResult","dataVehicle","_context153","_context156","_callee77","_context155","_context158","_callee78","_context157","_context160","_callee79","_getHistoryLocationPa15","_context159","_context162","_callee80","_vehicleData$item","_context161","_context164","_callee81","_context163","_context166","_callee82","_action$data11","_context165","_context168","_callee83","_action$data12","_context167","_context170","_callee84","_action$data13","_context169","_context172","_callee85","_context171","_context174","_callee86","_context173","_context176","_callee87","couriersIds","shiftsWithUserName","_context175","setShiftHistoryFilterStateChannel","getShifts","_context178","_callee88","selectedControlCenterIds","_context177","_context180","_callee89","selectedDateStart","selectedDateEnd","_context179","setShiftProviderHistoryFilterStateChannel","fetchShiftProviders","_context182","_callee90","_sectionModels$curren","_sectionModels$sectio","_model$filterOptions","_model$filterOptions$","_model$filterOptions$2","_restaurant$shiftsHis","selectedCC","_context181","getShiftsProvider","getShift","_context184","_callee91","_sectionModels$curren2","_sectionModels$sectio2","_model$filterOptions2","_model$filterOptions3","_model$filterOptions4","_restaurant2$shiftsHi","filters","_response$summary","_response$summary2","_context183","States","states","prevOrder","isActiveRoute","_context185","iconType","MarkerIcons","convertStateToIcon","_context187","_callee92","_action$data14","_context186","_context189","_callee93","newControlCenters","_context188","_context191","_callee94","_context190","ControlCenters","_context193","_callee95","_action$data15","_context192","_context195","_callee96","_action$data16","_action$data17","_context194","_context197","_callee97","textField","_context196","document","innerText","appendChild","execCommand","remove","_context199","_callee98","deliveredOrders","requestResultShifts","reportDeliveryTime","requestResultReportDeliveryTime","stat","totalAbsShift","totalAbsShiftDepot","totalDeliveredOrdersCount","totalDeliveredOrdersCountDepot","_context198","ordersCount","canceledOrdersCount","getReportDeliveryTimeByDate","marketplaceOrdersCount","notDeliveredOnTimeOrdersCount","inProccessOrdersCount","onRouteOrdersCount","deliveredOrdersCount","outOfRegionOrdersCount","getControlCenterStatisticFormattedData","dataToFindName","idKey","depotStatistics","findKey","score","reportDeliveryTimeStatistics","reportAverageDeliveryTimeStatistics","statistic","shiftHours","controlCenterName","cc","countCouriers","countCouriersDepot","unassignedOrders","unassignedOrdersDepot","waitingCouriers","waitingCouriersDepot","ordersScore","ordersScoreDepot","dayAverageDeliveryTime","dayAverageDeliveryTimeDepot","shiftHoursDepot","_objectSpread2","defaultName","restaurantControlCenter","absShift","controlCenterDeliveredOrders","unhandledOrdersCount","_context201","_callee99","notification","_context200","actionNotificationUpdate","actionAlarmAdd","_context203","_callee100","_context202","actionAlarmDelete","_context205","_callee101","_context204","actionAlarmRestart","_context207","_callee102","_context206","_context209","_callee103","_context208","_context211","_callee104","cancelReasons","_context210","_context213","_callee105","_context212","_context215","_callee106","filteredReasons","_context214","reason","_context217","_callee107","_context216","_context219","_callee108","_getHistoryLocationPa16","_context218","_context221","_callee109","_context220","_context223","_callee110","_getHistoryLocationPa17","_context222","skuOverrides","_context225","_callee111","_restaurant$translati","_action$data18","_restaurant$translati2","_getHistoryLocationPa18","_context224","_context227","_callee112","_restaurant$translati3","_action$data19","_action$data19$values","_getHistoryLocationPa19","_context226","_context229","_callee113","_action$data20","_getHistoryLocationPa20","_context228","_context231","_callee114","_restaurant$translati4","_getHistoryLocationPa21","_context230","decodeURIComponent","escape","_context233","_callee115","_getHistoryLocationPa22","_context232","_context235","_callee116","_action$data21","_getHistoryLocationPa23","_context234","_context237","_callee117","_action$data22","_getHistoryLocationPa24","_restaurant$translati5","_context236","_context239","_callee118","newId","_context238","isStore","LogoSettings","NameTranslations","Logo","IsStore","_context241","_callee119","_context240","_context243","_callee120","_context242","_context245","_callee121","_context244","_context247","_callee122","editedOperation","_context246","_context249","_callee123","_context248","_context251","_callee124","_context250","paramToToggle","_context253","_callee125","_restaurant$businessM2","_restaurant$businessM3","businessMenuId","requestParentMenu","requestResultAvatar","_context252","_context255","_callee126","_context254","_context257","_callee127","_context256","_context259","_callee128","_context258","_context261","_callee129","_context260","_context263","_callee130","_schedule$filter","_action$data23","hasItemLapses","_context262","_item$lapses","_context265","_callee131","_schedule$filter2","_action$data24","_context264","_item$lapses2","_context267","_callee132","_context266","_context269","_callee133","_getHistoryLocationPa25","templatesId","menuTemplates","_context268","header_mini","_context271","_callee134","_action$data25","_context270","_context273","_callee135","_action$data26","_context272","_context275","_callee136","_context274","_context277","_callee137","_context276","_context279","_callee138","_context278","_context281","_callee139","_context280","_context283","_callee140","_context282","_context285","_callee141","_schedule$filter3","_action$data27","_action$data28","_action$data29","_context284","_item$lapses3","_context287","_callee142","oldListProducts","newIds","_context286","_context289","_callee143","_context288","_context291","_callee144","_context290","_context293","_callee145","_context292","_context295","_callee146","_action$data30","_context294","_context297","_callee147","_action$data31","_context296","_context299","_callee148","_action$data32","_context298","_context301","_callee149","_action$data33","accessor","_context300","_context303","_callee150","_context302","_context305","_callee151","_context304","_context307","_callee152","_context306","_context309","_callee153","_context308","_context311","_callee154","_context310","_context313","_callee155","_context312","_context315","_callee156","_context314","_context317","_callee157","_context316","_context319","_callee158","_action$data34","_context318","_context321","_callee159","_getHistoryLocationPa26","_context320","_context323","_callee160","_getHistoryLocationPa27","_context322","_context325","_callee161","_getHistoryLocationPa28","_context324","_context327","_callee162","_getHistoryLocationPa29","_context326","_context329","_callee163","_getHistoryLocationPa30","objects","_context328","_context331","_callee164","_getHistoryLocationPa31","objectWithOverride","_context330","_context333","_callee165","_action$data35","column","onPropChange","_getHistoryLocationPa32","_onPropChange","_context332","_context335","_callee166","_action$data36","_getHistoryLocationPa33","_onPropChange2","_context334","_context337","_callee167","_action$data37","_getHistoryLocationPa34","_onPropChange3","_context336","_context339","_callee168","_action$data38","_onPropChange4","_context338","_context341","_callee169","_action$data39","_getHistoryLocationPa35","_context340","_context343","_callee170","_context342","_context345","_callee171","_context344","_context347","_callee172","_context346","_context349","_callee173","_context348","_context351","_callee174","_context350","ex","_context353","_callee175","_context352","_context355","_callee176","_context354","op","_context357","_callee177","_context356","subop","_context359","_callee178","getAllSuboptions","newSuboptions","oldSuboptions","uniqueItems","_context358","_businessMenu$categor","_businessMenu$categor2","_businessMenu$categor3","_businessMenu$categor4","_businessMenu$categor5","_businessMenu$categor6","_context361","_callee179","_context360","_context363","_callee180","_context362","_context365","_callee181","_action$data40","_getHistoryLocationPa36","_context364","_context367","_callee182","_getHistoryLocationPa37","_context366","_context369","_callee183","_getHistoryLocationPa38","_context368","depotControlCenter","_context371","_callee184","_getHistoryLocationPa39","_context370","_context373","_callee185","_context372","_context375","_callee186","oldIds","_requestResultWithBanner","_context374","_context377","_callee187","_context376","_context379","_callee188","_context378","_context381","_callee189","_context380","_context383","_callee190","_context382","_context385","_callee191","_schedule$filter4","_action$data41","_context384","_item$lapses4","offer","_context387","_callee192","_schedule$filter5","_action$data42","_context386","_item$lapses5","_context389","_callee193","_context388","_context391","_callee194","_context390","flags","_context393","_callee195","_context392","_context395","_callee196","_restaurant3","_context394","searchShortcut","_context397","_callee197","_context396","_context399","_callee198","requestResultBusinessMenu","_context398","_context401","_callee199","oldGiftCardProducts","newGiftCardProducts","newProduct","_context400","_context403","_callee200","_context402","_context405","_callee201","requestResultCiftCardEnable","_data2","_context404","_context407","_callee202","_context406","_context409","_callee203","_action$data43","_context408","_context411","_callee204","_context410","_context413","_callee205","_action$data44","_context412","_context415","_callee206","_context414","_context417","_callee207","_context416","_context419","_callee208","loyaltySettings","_context418","_context421","_callee209","_loyaltySettings","_context420","bonus_info","_context423","_callee210","_context422","spendBonusPercent","_context425","_callee211","_context424","_context427","_callee212","_context426","_context429","_callee213","_context428","_context431","_callee214","currentDepot","depotsToApplyConfiguration","_context430","_context433","_callee215","shipmentPriceSettings","_context432","_context435","_callee216","templateSettings","_context434","shipmentTemplateSettings","_context437","_callee217","_context436","_context439","_callee218","_context438","_context441","_callee219","_requestResult3","_context440","_context443","_callee220","_context442","_context445","_callee221","_context444","_context447","_callee222","_context446","_context449","_callee223","_data3","_context448","_context451","_callee224","_data4","_context450","deliveryZone","_context453","_callee225","_data5","_context452","_context455","_callee226","_data6","_context454","_context457","_callee227","_action$data45","_restaurant4","_context456","override_delivery_zone_reference_price","_context459","_callee228","_getHistoryLocationPa40","_restaurant5","_context458","_context461","_callee229","_context460","_context463","_callee230","_context462","_context465","_callee231","_context464","_context467","_callee232","newCampaigns","_context466","marketplaceCampaignClientModel","_context469","_callee233","_context468","_context471","_callee234","_action$data46","_context470","_action$data47","_context473","_callee235","_action$data48","_context472","_context475","_callee236","_newCampaign","_context474","marketplaceCampaignServerModel","_context477","_callee237","_context476","_context479","_callee238","_context478","_context481","_callee239","_getHistoryLocationPa41","_mergeArrays","_requestResult4","_context480","executions","_context483","_callee240","_action$data49","_getHistoryLocationPa42","_restaurant$campaigns","_newCampaign2","_newCampaign2$executi","_context482","execution","_context485","_callee241","_getHistoryLocationPa43","selectedItems","executionsModel","_restaurant$campaigns2","_newCampaign3","_context484","marketplaceCampaignExecutionsModel","audience","_context487","_callee242","_context486","_context489","_callee243","_context488","_context491","_callee244","_action$data50","isMarkerplace","isGlobalZone","_context490","zoneIdReference","enabledZone","_context493","_callee245","_action$data51","_context492","_context495","_callee246","_action$data52","_context494","_context497","_callee247","_getHistoryLocationPa44","_context496","_context499","_callee248","_getHistoryLocationPa45","_context498","inegr","_context501","_callee249","_context500","_context503","_callee250","_getHistoryLocationPa46","_context502","integration","_context505","_callee251","_getHistoryLocationPa47","integrationLocation","_context504","_context507","_callee252","_context506","_context509","_callee253","_context508","_context511","_callee254","_context510","_context513","_callee255","_context512","_context515","_callee256","requestBusinessMenu","_getHistoryLocationPa48","businessTemplateId","_context514","_context517","_callee257","hasOverride","_context516","_context519","_callee258","_context518","_context521","_callee259","isSecondTime","_context520","actionGlobalPortalDataUpdate","Url","actionData","_context523","_callee260","businessIdText","_context522","_context525","_callee261","_context524","_context527","_callee262","_context526","_context529","_callee263","_context528","_context531","_callee264","_action$data53","_context530","_context533","_callee265","_context532","_context535","_callee266","_context534","_businessMenu$extras","_businessMenu$extras$","_businessMenu$extras$2","_businessMenu$extras$3","_context537","_callee267","_context536","_context539","_callee268","_context538","_context541","_callee269","_action$data54","_action$data54$item","_action$data55","isNewItems","_context540","_context543","_callee270","_context542","_context545","_callee271","_context544","_context547","_callee272","_context546","_context549","_callee273","_context548","_context551","_callee274","_context550","_context553","_callee275","_action$data56","selectedLocation","_context552","_context555","_callee276","_getHistoryLocationPa49","_context554","fetchDeliveryProviders","providersApiMap","_context557","_callee277","serverData","selectedRegionsIds","newServerData","_regions","_context556","AutoAssignmentRegionIds","IsDirty","RefreshedValue","_excluded3","AutoAssignmentSchedule","updateVirtualDeliveryProvider","editDeliveryProvider","_context559","_callee278","_getHistoryLocationPa50","_context558","transformProvidersToApi","_excluded4","createVirtualDeliveryProvider","_context561","_callee279","_getHistoryLocationPa51","_context560","deleteVirtualDeliveryProvider","_context563","_callee280","checkRequiredAuth","_context562","squareUpAuthorizationRequired","AuthorizationRequired","_context565","_callee281","_context564","Priority","Provider","reorderDeliveryProviders","_context567","_callee282","_context566","_context569","_callee283","_context568","_context571","_callee284","_context570","_context573","_callee285","_context572","_context575","_callee286","_context574","minimal_data","minimalData","search_type","searchType","depotsByQuery","_context577","_callee287","oldOption","updatedData","_context576","_context579","_callee288","oldExtra","_context578","_context581","_callee289","oldProduct","_context580","_context583","_callee290","oldCategory","_context582","_context585","_callee291","oldSuboption","_context584","_context587","_callee292","_getHistoryLocationPa52","_context586","_context589","_callee293","_getHistoryLocationPa53","_context588","_context591","_callee294","_getHistoryLocationPa54","_context590","_context593","_callee295","_getHistoryLocationPa55","_context592","_context595","_callee296","_context594","href","actionGlobalPopupMessage","onConfirm","actionGlobalPopupMessageInit","_context597","_callee297","_action$data57","_request","statisticsRequest","statisticsDailyRequest","_context596","SALES_TYPE","fn","statisticsDaily","_context598","DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET","DEPOT_RECONCILIATIONS_CONFIGURATIONS_EDIT","RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET","RECONCILIATIONS_CONFIGURATIONS_CONFIG_EDIT","NOTIFICATION_ADD","NOTIFICATION_DELETE","NOTIFICATIONS_RESTART","initSaga","initStartSaga","checkRedirect","fetchAllDataSaga","getInitialDataSaga","groupUpdateSaga","depotCycleRefreshSaga","controlCenterRefreshSaga","apiDictionary","activeState","fetchConsumerOrderMenu","consumerActiveOrders","fetchConsumerActiveOrders","authSupportChat","fetchAuthSupportChat","externalProviders","DatabaseStorage","_currentUser$configur","initPusher","BaseNotification","playNotification","setRolesManagerConfiguration","setBaseConstants","changeLanguage","_checkRedirect","getStoreDataKeys","courierCycles","controlCentersStatus","actionAlarmUpdate","actionAccountTopNotification","actionExternalCyclesUpdate","initSupportChat","excludedTypes","groupUpdateCalls","_map2","updateBillingInfoData","groupUpdateConfig","_action$data$selected","setedControlCenters","currentSelectedControlCenter","markerTypesToRemove","setControlCenterMultiChannel","INIT_START","authenticationSaga","logoutSaga","errorMessage","scope","setUser","skipSave","AUTHENTICATION_DEAUTHORIZE","logout","LOGOUT","orderPriceServerModel","delivery_datatime","requestedBonus","setNewOrderEditSaga","setOrderEditSaga","getSummaryOrderSaga","orderCycleReorderSaga","checkMenuOrderCreateSaga","firstDepotCity","actionOrderEditUpdate","actionOrderEditSetOrder","getOrderPrice","setOrderEditSummary","reorderedItem","fetchExternalOrderReorder","delivery_allowed","takeaway_allowed","ORDEREDIT_SET_NEW_ORDER","ORDER_CYCLE_REORDER","ORDEREDIT_SET_ORDER","ORDEREDIT_GET_SUMMARY_ORDER","CHECK_MENU_CREATE_ORDER","checkUserAuthenticationSaga","_error","checkAccessToken","checkRefreshToken","actionAuthenticationSet","task","take","isRunning","removeAccessToken","spawn","initSupportChatSaga","setUnreadsMessageSaga","getDialogsSupportSaga","pullSupportDialogSaga","markResolvedSupportDialogSaga","startDepotChatSaga","freshDeskRestoreIdSaga","appId","signature","me","Talk","Session","unreads","onChange","SET_UNREAD_MESSAGE_SAGA","saveSupportChatSession","setShowSupportChat","unreadsLength","newLength","setUnreadMessages","oldDialogs","fetchDialogsSupportChat","setDialogsSupportChat","chatId","pullSupportDialog","pulledSupportChat","resolveSupportDialog","_action$payload2","subject","Subject","startChat","addDialogsSupportChat","restoreId","usersWithRestoreIdList","supportChatUserId","freshDeskRestoreIdRemove","freshDeskRestoreId","ChatService","setWidgetUserProperties","SUPPORT_CHAT_SAGA_INIT","GET_DIALOGS_SUPPORT","AUTH_SUPPORT_CHAT","PULL_SUPPORT_DIALOG","MARK_RESOLVED_SUPPORT_DIALOG","CREATE_NEW_CHAT","FRESH_DESK_RESTORE_ID","getBillingInfoSaga","billingPlansGetSaga","billingPlanSetSaga","getBillingCardsSaga","billingCardSetSaga","billingCardDeleteSaga","addBillingCardSaga","editBillingCardSaga","getBillingAddressesSaga","deleteBillingAddressSaga","billingAddressSetSaga","addBillingAddressSaga","editBillingAddressSaga","billingUsagesGetSaga","updateBillingInfoDataSaga","getBillingInfo","updateBillingInfo","BILLING_INFO_GET","getBillingPlans","plans","setAccountPlan","getAccountCards","setBillingPayments","updateAccountCard","billingCardDelete","deleteBillingPaymentAC","billingCardAdd","addNewBillingPayment","tokenId","billingInfoId","billingCardEdit","getBillingAddresses","shipmentAddresses","deleteBillingAddress","setBillingAddress","addBillingAddress","editBillingAddress","getBillingUsages","topNotificationData","BillingService","getAccountTopNotificationData","BILLING_INFO_PLANS_GET","BILLING_INFO_PLANS_SET","GET_BILLING_CARDS","BILLING_CARD_ADD","BILLING_CARD_EDIT","BILLING_CARD_SET","BILLING_CARD_DELETE","BILLING_ADDRESSES_GET","BILLING_ADDRESSES_ADD","BILLING_ADDRESSES_EDIT","BILLING_ADDRESSES_DELETE","BILLING_ADDRESSES_SET_ADDRESS","BILLING_INFO_USAGE_GET","BILLING_INFO_UPDATE_DATA","customerReviewGetSaga","customersGetSaga","customerOrdersGetSaga","customerWalletOperationSaga","customerAddBonusCardSaga","customerUpdateLoyaltyLevelSaga","customerBlockUserSaga","customerUpdateCommentSaga","customerDeleteVoucherSaga","customerWalletInfoGetSaga","customerBlockInfoGetSaga","periodFilter","withRating","actionCustomerReviewUpdate","getCustomers","actionCustomersUpdate","customerId","rating","deliveryRating","actionCustomerUpdate","customerWalletOperation","is_deduct","CUSTOMER_WALLET_OPERATION_TYPE","spend","customerAddBonusCard","updateLoyaltyLevel","LoyaltyLevel","isBlocked","unblockConsumerUser","blockConsumerUser","blockInfo","note","updateCommentConsumerUser","wallet","cardId","customerDeleteonusCard","bonusCards","customerWalletInfo","getblockConsumerUserStatus","CUSTOMER_REVIEWS_GET","CUSTOMER_ORDERS_GET","CUSTOMERS_GET","CUSTOMER_WALLET_OPERATION","CUSTOMER_ADD_BONUS_CARD","CUSTOMER_UPDATE_LOYALTY_LEVEL","CUSTOMER_BLOCK_USER","CUSTOMER_UPDATE_COMMENT","CUSTOMER_DELETE_VOUCHER","CUSTOMER_WALLET_INFO_GET","CUSTOMER_BLOCK_USER_STATUS","getOrderInfoAndMenuSaga","getOrderSummarySaga","confirmOrderUpdateSaga","confirmOrdeNewSaga","confirmOrderByStripeSaga","confirmOrderFinalSaga","checkUserBuPhone","createConsumerUserSaga","getPreviousOrderSaga","getBusinessByFiltersSaga","getBusinessMenuSaga","repeatOrderSaga","getUserCardsByIdSaga","confirmOrderWithEditedWeightSaga","orderPriceQuickEditSaga","importBatchTemplateSaga","verifySingleTableRowBatchSaga","deleteSingleTableRowBatchSaga","exportBatchTemplateSaga","getBatchTemplatesSaga","getTimeSlotsSaga","deleteBatchTemplatesSaga","getTemplateBatchByIdSaga","updateBatchOrderCommentSaga","getTemplateBatchOrderPriceSaga","updateSelectedBusinessConsumerSaga","processBatchTableSaga","confirmBatchOrderSaga","changeInPlace","resultRequestOrderInfo","infoData","resultRequestMenu","paymentCards","fetchConsumerCardsById","resetCustomerOrderEditInfo","getEditCustomerOrderSummary","isEdit","oldSummary","summaryData","_action$payload4","_bonus","_action$payload3","newPayments","_action$payload5","_action$payload6","_action$payload7","_action$payload8","_action$payload9","_action$payload10","setEditCustomerOrderLoading","recalculate_discounts","cancel_offer_ids","offer_id","cart_id","paymethod_ids","cancel_payment_ids","requested_discount","setEditCustomerOrderProducts","setEditCustomerOrderCourierTip","approved_bonus","setEditCustomerOrderSummary","setEditCustomerOrderPayments","distributeAmount","payment_balance","max_allowed_bonus","min_credit_card_amount","_summary$discounts","paymentRequest","paymentsNeed","hasCoupon","setConfirmEditCustomerOrderLoading","sale_amount","payme_sale_id","card_type","card_expiry","discounts","offer_type","payment_requests","gift_option","confirmEditCustomerOrderByStripe","confirmEditCustomerOrderFinal","_summary$discounts2","_action$data$user","_action$data$user2","_action$data$user3","prepearePaymentsData","stripePaymentIntents","cartPayments","paymentsStripe","cardType","paymentsWithoutStripe","_action$data$body","stripeCards","paymentIntentRequests","_payments","stripe","_yield$call","paymentIntent","getPaymentIntent","confirmed","loadStripe","confirmCardPayment","client_secret","payment_method","payment_method_id","birth","createCustomer","Search","setPreviousOrder","size","setPreviousAddressByOrders","business_category_id","setBusinessOrdersByFilters","setEditCustomerOrderData","productIds","_user","actual_weight","toChekout","fetchUserData","setEditCustomerOrderEnabledPayments","entity_id","reuse_payment_method","importTemplateBatchOrder","setBatchCustomersTable","addTemplateBatchDrafts","_action$data$row","createBatchOrderRow","updateBatchOrderRow","changeTemporaryConsumer","updateBatchCustomersTableRow","deleteBatchCustomersTableRow","deleteBatchOrderRow","exportTemplateBatchOrder","getTemplateBatchDrafts","setTemplateBatchDrafts","getOrderTimeSlots","setOrderTimeSlots","deleteTemplateBatchDraft","deleteBatchTemplateDraft","getTemplateBatchDraftById","setEditCustomerOrderGiftOptions","batchTemplate","updateBatchOrderComment","updateTemplateBatchDraft","discountFromBatch","orderProducts","discountValue","getTemplateBatchOrderPrice","territory_id","updateDeliveryBusinessBatchOrder","selected_business_id","processBatchOrder","_yield$select7","batchPaymentModel","invoiceRecipient","paymentRequests","submitBatchOrder","GET_ORDER_INFO_AND_MENU","GET_EDIT_CUSTOMER_ORDER_SUMMARY","ORDER_PRICE_QUICK_EDIT","SET_EDIT_CUSTOMER_ORDER_CONFIRM","SET_EDIT_CUSTOMER_ORDER_NEW_CONFIRM","CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE","CONFIRM_EDIT_CUSTOMER_ORDER_FINAL","CHECK_USER_BY_PHONE","CREATE_CONSUMER_USER","GET_PREVIOUS_ORDERS","GET_BUSINESS_BY_FILTERS","GET_BUSINESS_MENU","REPEAT_ORDER","CONFIRM_ORDER_WITH_EDITED_WEIGHT","GET_USER_CARDS_BY_ID","IMPORT_BATCH_TEMPLATE","EXPORT_BATCH_TEMPLATE","VERIFY_SINGLE_TABLE_ROW_BATCH_CUSTOMERS","DELETE_SINGLE_TABLE_ROW_BATCH_CUSTOMERS","GET_TEMPLATE_BATCH_DRAFTS","GET_ORDER_TIME_SLOTS","DELETE_BATCH_DRAW_TEMPLATE","GET_TEMPLATE_BATCH_BY_ID","UPDATE_BATCH_TEMPLATE_COMMENT","GET_TEMPLATE_BATCH_ORDER_PRICE","UPDATE_SELECTED_BUSINESS_CONSUMER","CONFIRM_BATCH_ORDER","PROCESS_BATCH_ORDER","countDecimals","exportReconciliationsConfigurationsSaga","importReconciliationsConfigurationsSaga","getReconciliationsConfigurationsSaga","addReconciliationsConfigurationSaga","editReconciliationsConfigurationSaga","fetchReconciliationsConfigurationDepotsSaga","fetchReconciliationsConfigurationDepotsWithoutTerritorySaga","getMergedConfigurationSaga","editReconciliationsPeriodSaga","deleteReconciliationsConfigurationSaga","deleteReconciliationsPeriodsSaga","getReconciliationsPeriodsSaga","getReconciliationsPeriodSaga","addReconciliationsPeriodsSaga","xlsReconciliationsPeriodSaga","invoiceReconciliationsPeriodSaga","recalculateReconciliationsPeriodSaga","reloadReconciliationsPeriodSaga","approveRecalculateReconciliationsPeriodSaga","exportReconciliationsPeriodSaga","xlsExportReconciliationsPeriodTableSaga","invoiceExportReconciliationsPeriodTableSaga","actionUpdateReconciliationsConfigurationsMERGE","RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET","setting","fees","actionLoadReconciliationsConfigurations","_configurationModel","allConfigurations","configurationModel","uniqueIdArray","_configurationModel2","reconciliationsSettingsAddModel","depotIds","isDirty","refreshedValue","actionAddReconciliationsConfigurations","_configurationModel3","_configurationModel4","actionUpdateReconciliationsConfigurations","depotName","localeCompare","actionUpdateReconciliationsConfigurationsDepots","newConfig","Fees","offsets","requestRecalculateResult","stats","UpdateOffsets","StatId","OffsetValue","offset","isTerritory","territoryStats","territoryName","actionLoadReconciliationsPeriod","actionLoadReconciliationsPeriods","actionAddReconciliationsPeriods","RECONCILIATIONS_PERIODS_GET","idPeriod","requestPeriodResult","actorType","isDepot","entityId","RECONCILIATIONS_CONFIGURATIONS_EXPORT","RECONCILIATIONS_CONFIGURATIONS_IMPORT","RECONCILIATIONS_CONFIGURATIONS_GET","RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET","RECONCILIATIONS_CONFIGURATIONS_ADD","RECONCILIATIONS_CONFIGURATIONS_EDIT","RECONCILIATIONS_PERIODS_DELETE","RECONCILIATIONS_CONFIGURATIONS_DELETE","RECONCILIATIONS_PERIODS_XLS","RECONCILIATIONS_PERIODS_INVOICE","RECONCILIATIONS_PERIODS_TABLE_INVOICE_EXPORT","RECONCILIATIONS_PERIODS_TABLE_XLS_EXPORT","RECONCILIATIONS_PERIODS_EXPORT","RECONCILIATIONS_PERIODS_APPROVE","RECONCILIATIONS_PERIODS_RECALCULATE","RECONCILIATIONS_PERIODS_RELOAD","RECONCILIATIONS_PERIODS_EDIT","RECONCILIATIONS_PERIODS_ADD","RECONCILIATIONS_PERIOD_GET","rootSaga","fork","userModelSaga","reconciliationModelSaga","billingSaga","orderSaga","orderEditSaga","markerSaga","routingSaga","isServer","currentStore","createMemoryHistory","initialEntries","createBrowserHistory","enhancers","sagaMiddleware","createSagaMiddleware","middleware","thunk","routerMiddleware","sentryReduxEnhancer","debounceNotify","notify","debounce","maxWait","pusherDebounceNotify","composedEnhancers","compose","applyMiddleware","createReduxWaitForMiddleware","initialState","__PRELOADED_STATE__","createStore","connectRouter","combineReducers","rootReducer","router","composeWithDevTools","run","createGlobalStore","courierFilter","readyGroupFilter","isOrdersReady","notReadyGroupFilter","defaultGroupFilter","externalCycleGroupsFilter","excludedStates","checkForControlCenter","sortByOlderOrder","g1","g2","order1","getOlderOrder","order2","fieldName","date1","date2","_Object$keys","external_provider_id","courierOrders","couriersData","_data$couriersData$a","_data$couriersData$b","k","groupBarOrderFilter","_order$orderId","_order$orderId$toLowe","_getUINameVal$toLower","_order$consumerPhone","_order$consumerPhone$","_order$consumerPhone$2","_getMiniAddressVal$to","_getNotesVal$toLocale","_getDepotName","_getDepotName$toLocal","_order$deliveryBy","loverText","getUINameVal","getUIName","getMiniAddressVal","getMiniAddress","getNotesVal","getNotes","deliveryBy","toLocaleLowerCase","tags","groupBarGroupOrderFilter","courierAssociateFilter","courierSettingsFilter","translationsFilter","translationValue","noCheck","cycleFilter","sortItemsByReadinessAndTargetDate","sortTime","aDeliveryStrategy","bDeliveryStrategy","sortItemsDate","propertyName","isAsc","aDate","aVrp","bDate","bVrp","sortUsers","fullNameA","fullNameB","sortByProp","isDesc","getLabelByLanguage","variants","availableLanguage","lang","sortByPropNumber","isPickupGroup","userModel1","userModel2","getFilteredItems","getSelectedFilters","andFilters","orFilters","_filter$items","filteredItems","isCheckAllGroup","passEmptyFilters","filterItem","filterFunction","olderOrder","getBackupCouriers","getDepotFilter","getDepotPeriodFilter","nameDepot","getDepotDefaultRegionControlCenterNameFilter","getRegionFilter","getPromotionFilter","promoName","promoLabel","containPromoName","containPromoLabel","getDeliveryZonesFilter","lowerText","getFleetFilter","vehicles","toLocaleString","getBusinesDiscountFilter","getBusinesMenuCategoriesFilter","categoryName","getProvidersSectionFilter","getDepotUsersSectionFilter","getDepotIntegrationsSectionFilter","getOperationModeSectionFilter","getGalleryFilter","getCategoryProductFilter","getCityFilter","getSearchShortcutFilter","getNamedPlaceFilter","getAddress","getShiftsFilter","getCampaignFilter","getShiftsHistoryFilter","getControlCentersFilter","userFullName","columnIsRequired","isRequired","isFuncRequired","getMarketplaceFilter","containTitle","getMenuTemplatesFilter","getMarketplaceMessageGalleryFilter","_item$orders","ccids","controlCenterIdsOrder","groupsBarCheckForControlCenter","checkExclude","groupsBarGroupItemFilter","showGroup","groupsBarOrderItemFilter","isSearchMode","getControlCenterFilter","getUsersFilteredByDepotId","isNoDepotUser","isDeleted","getActiveUsers","getMapDepotsMarkersFiltered","filterMapItemByApplicableControlCenter","applicableControlCenters","getMapRegionsFiltered","filterWithWrappedMobileColumns","wrapOnMobileWidth","sectionWrapperFilteredHeaderColumns","pendingOrdersForSummaryFilter","pendingFooterDeliveryOrdersFilter","pendingFooterTakeAwayOrdersFilter","pendingFooterDineinOrdersFilter","ordersHistoryFilterModel","_Store$store","_Store$store$getState","_Store$store$getState2","_Store$store$getState3","providerFilters","orderProvider","order_source_id","filterOptionsModel","FilterOptionsModel","addOptions","_order$payments","captured_price","_order$payments2","_order$payments3","_order$payments4","_order$payments5","reference_Id","_order$payments6","_order$payments7","new_customer","order_channel","salesFilterModel","_Store$store2","_Store$store2$getStat","_Store$store2$getStat2","_Store$store2$getStat3","adminOrderFilterModel","startKey","endKey","depotFilter","addItem","orderStatusFilter","deliveryStrategyFilter","territoryFilter","getSavedOrderHistoryFilterModel","savedModelString","getStoreData","savedModel","updateFilterValue","saveOrderHistoryFilterModel","filterData","saveStoreData","savePendingOrderHistoryPeriod","getPendingOrderHistoryPeriod","getQuantityFilters","orderModelTypesDictionary","DepotId","ConsumerPhone","DeliveryStrategy","Type","ReceiptIds","CookingTimeInMin","cookingTimeInMin","getPlaceServerModel","PlaceId","placeId","IsVip","getPlaceServerOrderModel","getShortOrderId","substring","getPlaceOrAddress","getPickupPlaceOrAddress","getDepotAddress","getName","getOrderInfoAddress","getMiniOriginalAddress","originalAddress","getAppartmentNumber","getNameById","getOrganization","getConvertedTargetTime","rtl","getFormattedDeliveryDuration","getDeliveredDate","initOrderModel","firstDepotId","getDefaultAdminOrdersSearchFilter","searchStr","_concat$concat","activeUsers","groupsOrders","extractGroupsOrders","hideMarkers","extractPreOrders","preOrdersTakeAway","extractTakeawayOrders","cycleOrdersGroups","_cycle$orders$map","extractCycleOrders","caching","exctractAssistanceOrders","userGroups","groupIds","createUserGroups","createExternalCycleMarkerOrder","externalCyclesItems","createExternalCycleMarkerCourier","getGroupColor","getGroupName","getAllTimeGroup","getDeltaTime","convertedTime","getPath","isShowOrderId","isLastGroupOrder","cycleOrders","isLastExternalCycleOrder","_orders$filter","groupIsEmpty","getOrderTime","accumulatedTime","isEmptyEstimationData","isEmptyOptimalData","isShowETAForOrder","getDistanceWithOptimal","getOrderArrivalEstimation","getExternalCycleOrderArrivalEstimation","orderTimeToArrival","getGroupOrders","withPickups","getGroupOrdersByControlCenter","getAddressLine","returnArray","depotAddress","getDepotAddressById","getDepotAddressNotesById","_depot$address","_depot$address$addres","isHighlightItem","isAssistanceGroup","isShowTakeAwayBlock","getGroupsBarItems","_activeGroups$filter2","_activeGroups$filter3","_defaultGroupsOrders$","isShowGroups","orderMode","isMultiSelectMode","isShowCourierGroupOrders","getOrdersByGroups","_activeGroups$filter","activeGroups","courierGroups","courierGroupOrders","courGroups","readyGroups","notReadyGroups","defaultGroups","defaultGroupsOrders","externalCycleGroups","equalsAddress","address1","address2","addressesExcludeKeys","getLocationByLocationModel","applySearchCoordinates","skipEmptyAddress","getLocationByCoordinates","getLocationByString","getGEOLocationStr","convertGeoResponse","getLocationByAddress","getGEOLocation","newHistoryOrders","orderFromSource","activeOrder","initOrder","getGroupById","getCurrentDndId","locatedAddress","getOrderColorByGroup","LocatedAddress","SuggestedAddresses","destinationModel","suggestedAddresses","suggestedAddress","getGeoAddressModel","groupType","enableDragAndDrop","showPin","showFlags","showBages","showPath","showNotes","sourceOrder","groupDestinationName","takeaway","groupDestination","getRestaurantCityList","isBase","getFirstRestaurantCity","fillLocationFromPlace","getPlace","getAddressSuggestions","isByCitySearch","radiusLocation","input","GoogleMapsService","getAutocompleteService","autocompleteService","autocompleteRequest","componentRestrictions","getPlacePredictions","places","PlacesServiceStatus","OK","cityLower","locatedAddresses","addressArr","terms","term","place_id","addressString","unifiedAddress","unifyAddress","isUniqueAddress","isSomeEmpty","validLatitude","validLongitude","isGoogleLatLng","currLocation","isSameLocations","location1","location2","getDeliveryDuration","setPaymentOrder","getPreviousAddresses","lastPhone","filteredPhone","getAddressHistory","previousAddresses","getAmountForType","sum","orderDispatched","convertPickUpStateToIcon","getIsShowReadinessTime","array","getControlIcon","getOrderTitle","getPendingOrderCourier","getPendingOrdersMapMarkers","activeOrderMarker","depotMarkers","getRestaurantMarkers","defaultGroup","currValue","orderCourierGroup","orderMarker","getPendingOrderContent","activeOrderCourierGroup","isLarge","getPendingOrderDialogItems","cookingTime","findCookingTime","isCookingTime","associatedCycleId","searchOrder","groupFlag","cycleGroup","groupData","manualAssociateUpdate","ZOOM_MAX","settingsRowHeightDefault","ordersRowHeightDefault","ordersRowHeightDefaultResize","ordersRowHeightExpand","ordersRowHeightExpandResize","activeOrderRowWidthResize","RATE_CONTROL_WIDTH_HIDE","mapPolygonFill","opacity","weight","mapPolygonStroke","emptyImage","img","Image","src","defaultControlCenterColors","defaultChartColors","foodrush","thabazimbi","getDepotReadonlySectionPages","orderingPages","cv","defaultRolesManagerConfig","_defaultRolesManagerC","_ROLES_MANAGER_TYPE$m","_ROLES_MANAGER_TYPE$C","_ROLES_MANAGER_TYPE$C2","sectionItemEdit","initRolesManagerConfig","_initRolesManagerConf","_ROLES_MANAGER_TYPE$m2","com","_ROLES_MANAGER_TYPE$C3","_ROLES_MANAGER_TYPE$C4","configurationForDeliveryManagerWithDepot","_objectSpread5","getDepotSectionItemEditConfiguration","_objectSpread3","readonlyPage","_objectSpread4","configurationForDeliveryManager","_objectSpread7","courierShiftControl","grCode","_objectSpread6","isCanEdit","getDepotLinksConfiguration","documentElement","clientWidth","clientHeight","getIsIOS","navigator","userAgent","MSStream","defaultDepotColors","shiftCourierErrorMessage","_shiftCourierErrorMes","shiftCourierTooltipText","_shiftCourierTooltipT","defaultInitConfig","accountTopNotificationColor","secondColor","defaultRoleSelectorConfig","_defaultRoleSelectorC","DND_TYPES","group_bar_order","groups_bar_group","groups_bar_order","includedMarkerTypesToCheck","currentShiftSwitchModeItems","rates","DEFAULT_PERIOD_STATE","_DEFAULT_PERIOD_STATE","getDefaultReviewsFilter","getDefaultCustomersFilter","getDefaultSalesFilter","getDefaultAdminHistoryFilter","bonusCardsList","bonusCard","accrue","block","defaultCustomerServiceSalesItem","getDefaultBatchRow","is_valid","error_message","InternationalNumber","NationalFormatedNumber","CountryCode","CountryPrefix","original_datetime","getDeliveryTypes","deliveryIconNames","_deliveryIconNames","getOrderInfoAndMenu","setEditCustomerOrderDeliveryType","setBulkEmail","setInvoiceRecipinet","setEditCustomerOrderDeliveryStrategy","setEditCustomerOrderDeliveryTime","setEditCustomerOrderCutlery","setEditCustomerOrderConfirm","setEditCustomerOrderAddress","getPreviousOrder","setEditOrderComment","setEditOrderTerritory","setCancelPaymentIds","addNewBatchCustomersTableRow","setIsSingleOrder","fromCourierId","toCourierId","FromCourierId","ToCourierId","GroupId","isTakeAway","createNewOrderWithPlace","fetchAdressesByName","setNewOrderCashPaid","callPrintAction","setNewOrderManagerCashPaid","SchemaType","setOrderNote","ServiceNotes","setOrderManagerNote","OrdersCsv","customerVersion","includeMarketPlaceOrders","recalculatePriceForBusiness","includePartnerOrders","basedOnTargetDate","isCustomTime","CustomerVersion","IncludeMarketPlaceOrders","RecalculatePriceForBusiness","BasedOnTargetDate","IsCustomTime","AccountOrdersCsv","IncludePartnerOrders","newCourierId","NewCourierId","getProductPrice","rowId","Comment","Reason","fetchConsumerOrderReadinessTimes","fetchConsumerOrderReadinessTimesAccept","Start","End","getDeliverPriceByAddress","getReviewsReport","actionInitSectionItemsHeights","actionRefreshSectionItemsHeights","actionSaveSectionItemHeight","actionSaveSectionItemRowHeightDefault","FILTER_OPTION_TYPE","filterFunc","disabled","isManualUpdate","editFunc","typeControlStyle","isCustomItems","createFilterCheckOptionModel","createFilterGroupCheckOptionModel","createFilterSelectOptionModel","createFilterMultiSelectOptionModel","createFilterPopupOptionModel","createFilterSlideOptionModel","createFilterTextOptionModel","createFilterDateOptionModel","createFilterLinkOptionModel","createFilterLabelOptionModel","createFilterDateLinkOptionModel","isClearUser","selectedValues","sliderOptions","ceil","rightToLeft","showSelectionBar","setMinMax","optionSelected","getSelectFilter","element","isOnlyType","singleton","singletonEnforcer","enforcer","currentUserInfo","isFromConfiguration","baseConstants","setLanguage","newUserInfo","UserPilotService","actionRefreshSectionModel","getControlCenterChannel","getCurrentControlCenters","RECONCILIATIONS_PERIODS","RECONCILIATIONS_CONFIGURATIONS","DEPOT_RECONCILIATIONS_CONFIGURATIONS","RECONCILIATIONS_CONFIGURATIONS_CONFIG","convertBlobToBase64","reader","FileReader","readAsDataURL","onloadend","defaultUrl","urlSplit","getConvertedCloudUrlBySettings","cropMode","gravityMode","getImageSettings","getBlobFromUrl","myImageUrl","XMLHttpRequest","onload","onerror","send","isFull","cloudUrl","video","imageExists","image_url","http","downloadImage","_downloadImage","imageSrc","nameOfDownload","blobImage","anchorElement","_args","fetch","URL","createObjectURL","download","click","removeChild","revokeObjectURL","courierQRCode","applicationType","ApplicationType","groupFutureRoute","isCourier","isManager","CurrentPassword","Configuration","Language","VisualSettings","pass","oldPass","ShiftType","StartTime","EndTime","AllowedDepots","CourierIds","PageSize","fetchShiftProvidersOrders","Ids","fetchExternalAssignmentsByIds","getExternalCycleDriverPhone","RestoreId","actionShakeMarker","getDecodedData","getAccessToken","removeData","checkDataExpires","getUserRole","authorizedRoles","SentryService","destroyPusher","clearInterval","WaiterSpan","useClass","processing","spanText","handleOnClick","isShake","Fragment","className","classNames","preloader","alt","waiterShake","onClick","WaiterButtonSpan","useWrapClass","useTextClass","useSvgClass","useSvg","xmlnsXlink","xlinkHref","ButtonDiv","useIcon","updateTooltipData","actionUpdateTooltipData","resetTooltipData","actionResetTooltipData","withTranslation","tooltipIsHTML","stopPropagation","isDisable","hoverRef","useRef","_useState","useState","_useState2","setShake","_useState3","_useState4","setProcessing","isProcessing","current","handleOnMouseLeave","ref","style","onMouseEnter","onMouseLeave","Svg","Button","EXTERNAL_CYCLES","NOTIFICATIONS","ALARMS","actionAlarmUpdateActive","actionAlarmsBarSetShow","BILLING_INFO","BILLING_CARD","BILLING_ADDRESSES","iconName","isIcon","isFullWH","fullWH","Waiter","calculateStringTimespan","totalDays","padStart","calculateNumber","_value$split","_value$split2","_value$split3","_value$split4","_time$split","_time$split2","totalHours","getPeriodByDuration","_value$split5","_value$split6","_time$split3","getTerritoriesSelect","getReconciliationsDepotsSelect","checkNullField","handleMaxValueError","errorString","handleMinValueError","minValue","SwitchAudienceType","setType","SimpleItemSelect","handleChange","getLabelValue","Dropdown","isCanBeEmpty","labelField","valueField","searchBy","onSelect","SimpleInputItem","_ref3$type","isError","autoComplete","target","getDaysOffsetTypeByNumber","getTimeSpanModel","isEqual","getAudienceFilterModel","days_offset","string_value","timespan_value","getLookupModel","getNumericModel","double_value","getGroupType","selectGroup","CUSTOMER","latRad","sin","PI","radX2","mapPx","worldPx","fraction","LN2","digit","beautifyPrice","stringPrice","pullSupportChat","markResolvedSupportChat","flag","FDRestoreId","Avatar","useIconColorClass","isObject","hideIconColor","isDefaultImageEmpty","imgSize","imgUrl","large","backgroundColor","defaultAvatar","colorKeys","gg","q","w","dd","l","bb","x","z","aa","j","colorsForState","usedColors","currentColorIndex","colorKey","minCount","findMinUsesCount","getDefaultCodes","isDefault","codes","getCodesByColorKey","getDefaultCode","resultColor","bgColor","hexToRGB","sqrt","hex","isPublic","generateKey","localStorageData","localStorage","sessionStorage","getStoreDataByKey","expires","expireTime","getSeconds","setItem","DIVIDER","addToStoreData","getData","endsWith","token_type","access_token","expires_in","decodedData","decodeStr","encoded","decoded","timeKey","idTime","removeItem","FormInfoDataItem","_ref$isInline","isInline","_ref$isNeverRtl","isNeverRtl","IconButton","isClickable","InlineTooltipText","actionOrderEditSetNewOrder","actionReorderCycle","actionDndSetData","actionDndClearData","createMarkerByModel","addressUser","addItemType","isNotSameMarkers","newMarkers","isCheckIcon","isCheckContent","typeMarker","createMarkerRestaurant","createMarkerDepotFromBusiness","createMarkerDepot","createMarkerCourier","createMarkerOrder","_len2","_key2","createMarkerServiceCity","createMarkerNamedPlace","createBusinessInfoMarker","isWithContent","addSvgRestouran","textValue","courierColor","addItemCourier","getCourierContent","getIconMarker","getPlaceIcon","draggable","addSvgDepot","contentTitle","orderTime","clientName","eta","strategy","iconState","isMarkerCourier","iconMarker","isFromState","friendlyName","actionUpdateSectionModelData","rolesManagerConfiguration","_objectSpread8","_objectSpread9","_objectSpread10","_objectSpread11","_objectSpread12","_objectSpread13","_objectSpread14","cachedColors","whiteCode","TEMPLATE","TEMPLATE_GROUP","BTOA_TEMPLATE_RESTAURANT","btoa","TEMPLATE_RESTAURANT","TEMPLATE_COURIER","TEMPLATE_COURIER_LETTER","svgData","fillOpacity","strokeWeight","tmpTemplate","svgEmpty","getOrderIconSvg","svgPoint","svgChecked","svgCanseled","avatarBase64","TEMPLATE_RESTAURANT_WITH_AVATAR","fillColor","strokeColor","encodeURIComponent","anchor","isNotKey","svgMarker","addSvgEmpty","addSvgPoint","addSvgCanseled","addSvgChecked","addSvgCourierLetter","addSvgCourier","addSvgCourierLight","PLACE_URL","controlCenterChannel","getMainChannelName","mainChannel","pusherEvents","courier_lock_update","group_update","new_order","order_state_update","update_order","cycle_state_update","cycle_dispatched","cycle_reorder","cycle_route_update","courier_shift_created","manual_associate_update","group_reorder","manual_unassociate_update","set_away","manual_unassociate_update_list","user_updated","user_deleted","resaurant_state_update","group_lock_update","assistance_update","depot_cycle_refresh","notification_added","notification_deleted","notification_service_restart","consumer_order_arrived","depots_services_refresh","external_cycle_created","external_cycle_updated","external_cycle_finished","pending_chat_update","subscribeAllChannels","initCheckPusherChannels","pusher","connection","disconnect","PusherJS","authEndpoint","cluster","encrypted","disableStats","enabledTransports","auth","clearCheckPusherChannels","unsubscribeAllChannels","intervalId","setInterval","checkPusherChannels","channelName","_this3","channelIsSubscribed","checkChannelState","channel","keyValue","_this4","unsubscribe","controlCenterChannelMulti","shiftHistoryFilterState","shiftProviderHistoryFilterState","_this5","channels","getAllChannels","subscribeChannel","_this6","unsubscribeChannel","_this7","pusherChannels","allChannels","controlCenterChannels","pusherChannel","_this8","subscribed","getBoundingClientRect","customStyles","customClassName","callback","TimeBox","_React$Component","getTitle","checkShortLabel","relativeTime","shortLabel","setRelativeTime","isRelativeFromCurrent","isHideTitle","onUpdate","setState","_this$props3","isAgoLabel","smallText","fontSize","module","exports","ModalPopup","isOverModal","containerModalClass","Modal","onRequestClose","overlayClassName","overModal","_PureComponent","isExistValue","getLabelItemValue","onInputChange","inputValue","onRemove","_this$props$canPrint","canPrint","valueText","existValue","handleOnSelectItem","handleClickOutside","contains","_this$state","beforeValue","ignoreBeforeValue","isCanBeEmptyValue","handleOnBlur","_this$state2","readonly","_this$state3","withoutClose","textWasChanged","labelValue","getItems","_this$props4","sortBy","searchOff","_this$getLabelItemVal","_this$getLabelItemVal2","_valueText$toString","handleOnFocus","_this$props5","onFocus","createRef","addEventListener","removeEventListener","prevProps","prevState","_this$props6","placeholder","isChanged","isColors","accentuationValue","isAccentuationByValue","_this$state4","required","changed","currentTarget","onBlur","PureComponent","activeDepth","isOpenMobile","toggleMobile","_getConfig","filteredConfig","desktopConfig","mobileConfig","countRoles","getConfig","RoleAvatar","unapproved","renderMobileAvatars","columnsDepotUserEdit","isEditable","pattern","patternError","hasError","_config","columnGlobalUserEdit","inlineType","createUserEditSectionModel","createUsersSectionFilter","userInfo","invitationPopupIsOpen","setInvitationPopupIsOpen","InvitationPopup","handleOnChange","handleOnDeleteItem","SectionItemNumber","itemValue","getDepotSquareAssociatedLocation","TextWithTooltip","inOneString","classnames","createDepotEditSectionModel","isItemValid","_item$name","_item$name$trim","_item$name2","_item$name2$trim","_item$phone","_item$phone$trim","_item$phone2","_item$phone2$trim","measure","isShowIcon","withEmpty","withNotes","depotColor","isFillContent","isHideSearch","firstDepotInfo","createBusinessCategoryEditSectionModel","settingsAaccessor","createDepotUserEditSectionModel","createDepotPriceEditSectionModel","onDelete","RegionDeliveryPrice","regionConfigurationsIds","localValue","onLayout","createDepotDefaultRegionControlcentersEditSectionModel","_ref14","enableSchedule","createDepotIntegrationAddSectionModel","_ref16","_item$sourceId","_item$sourceId$trim","_item$sourceId2","_item$sourceId2$trim","formatedFn","firmatedIconTooltip","formatedIcon","createDepotProvidersSectionModel","_ref18","pathForNew","pathForEdit","isHideBack","createProvidersSectionFilter","fixedWidth","centered","withLoader","isHideDeleteButton","hideInHeader","createDepotProviderEditSectionModel","_ref19","autoAssignment","refreshedId","placeholderMulti","selectedData","getDefaultData","autoAssignmentRegions","autoAssignmentRegionIds","autoAssignmentSchedule","createDepotsSectionFilter","createBusinessCategoriesSectionFilter","createDepotUsersSectionFilter","createDepotIntegrationsSectionFilter","createDepotDefaultRegionControlcentersSectionFilter","createRegionsEditSectionModel","createRegionsSectionFilter","createNewServiceCitySectionModel","inlineWidth","createServiceCitiesSectionFilter","createNamedPlacesEditSectionModel","createNamedPlacesSectionFilter","StatusOrder","bag","startShiftBackUp","actionShift","getShiftConfig","useEffect","_getControlCenters","popupOpen","hanldeOnPopupClose","courierCycle","setSelectedFleet","setControlCenterId","useTranslation","useSelector","courierDepots","hasControlCenters","viewAllMode","setViewAllMode","isBackup","setIsBackup","_useState5","_useState6","selectedDepots","setSelectedDepots","_useState7","_useState8","timeSettings","setTimeSettings","_useState9","_useState10","filteredCC","setFilteredCC","isCanStartAnyCCShift","onCloseModal","setTimeSettingsCallBack","useCallback","_availableControlCent","_filteredCC$","currentShiftCourierEditPopupRtl","ShiftCourierControlDepotsList","onCancel","SwitchControl","on","ShiftCourierControlTimeSelect","ShiftCourierControlDepot","removeId","onViewAll","SectionItemSelect","isDisabled","updateCurrentShift","getDefaultFleet","_courier$cycle","updateHistoryShift","setPopupOpen","selectedFleet","courierControlCenter","CurrentShiftCourierEditPopup","handleOnCourierShift","CurrentShiftDepotAssignSelect","selectedCouriers","localSelectedCouriers","setLocalSelectedCouriers","setSearchString","SearchBox","useValue","cs","selectedIds","_c$firstName","_c$firstName$toLowerC","_c$firstName$toLowerC2","filterCouriers","handleOnAddDepot","handleOnPopupClose","depotCouriers","updateDepotCouriers","CurrentShiftDepotAssignPopup","handleOnUpdateDepotCouriers","ServiceProviderHistoryOrders","setOrders","OrderTitleInfo","createCurrentShiftUsersSectionFilter","selectControlCenterOption","createCurrentShiftDepotsSectionFilter","createShiftsSectionFilter","shiftTypeFilter","isControlCenterManager","filterState","getShiftHistoryFilterStateChannel","_filterState$key","_filterState$key2","_prepareToday","createShiftsProviderSectionFilter","getShiftProviderHistoryFilterStateChannel","_filterState$key3","_filterState$key4","_prepareToday2","createShiftHistorySectionFilter","createShiftHistoryTripSectionFilter","typeStatus","_ref$isShowName","isShowName","createControlCentersSectionFilter","OperationTimingSwitch","defaultValue","useDispatch","onlyParentState","createOperationTimingSettingsSectionModelEdit","defaultProfile","createOperationModeSectionFilter","SwitchEnableDeliveryZone","SectionItemSwitch","ResetDepotGlobalPriceValue","changedValue","createMenuDeliveryZoneEditSection","isReadonlyPrice","operation","isHideDepots","initModel","globalZones","_zone$data5","_zone$data5$delivery_","globZone","createDeliveryZonesSectionFilter","createDepotBusinessTranslationsSectionFilter","ItemLogo","mediaError","setMediaError","onError","createBusinesMenuEditSection","createBusinesMenuExtraEditSection","onLabel","offLabel","newItemUrl","isShowNewItemControl","isDisabledNewItemControl","createBusinesMenuExtraOptionEditSection","useColorRed","accessorsToOff","alwaysOnWithAccessor","cancel","save","createBusinesMenuExtraSuboptionEditSection","isNoRtl","padding","createCategoryExtrasEditSection","createCategoryExtrasOptionEditSection","createCategoryProductIngredientSection","_ref12","isShowArrayNewItemControl","arrayNewItemAccessor","createCategoryProductsEditSection","_ref13","justifyContent","interchangeableAccessor","display","alignItems","gap","_getDepotById","hasExtra","createCategoryExtrasSuboptionEditSection","createBusinesMenuCategoriesSectionFilter","createCategoryProductsSectionFilter","createReviewProductExtraFilter","createBusinessGalleryNew","_ref20","createGalleryFilter","createBusinesDiscountEditSection","timeType","parentMenuProducts","levels","createBusinesDiscountsSectionFilter","businesDiscount","MarketplaceDiscountProductsItem","setProducts","fetchData","prod","createSettingsOffersEditSection","createBSettingsOffersSectionFilter","selectOption","selectOptionLoyaltyLevel","loyaltyLevelOptions","selectOptionDiscountType","createSearchShortcutsSectionFilter","createCancelReasonEditSectionModel","createCancelReasonSectionFilter","createGiftCardProductSectionModel","getEditColumns","showName","selectedRegions","createCourierDeliveryFeesTemplateEditSectionModel","createListPromotionEditSectionModel","dataToRefresh","isFullWidth","mes","is","createListPromotionSectionFilter","createDeliveryZoneEditSection","createMenuTemplateSectionFilter","createBusinesMenuEditSectionMenuTemplate","createBusinesMenuExtraEditSectionMenuTemplate","createBusinesMenuExtraOptionEditSectionMenuTemplate","createBusinesMenuExtraSuboptionEditSectionMenuTemplate","createCategoryExtrasEditSectionMenuTemplate","createCategoryExtrasOptionEditSectionMenuTemplate","createCategoryProductIngredientSectionMenuTemplate","createCategoryProductsEditSectionMenuTemplate","_getTemplateMenuById","createCategoryExtrasSuboptionEditSectionMenuTemplate","createBusinessGalleryNewMenuTemplate","createDepotMenuTemplateBusinessCategoriesEditSectionModel","createDepotBusinessCategoriesEditSectionModelMenuTemplateFilter","controlTitle","isEnabled","createBusinesDiscountEditSectionMenuTemplate","createMenuDeliveryZoneEditSectionMenuTemplate","createDepotOperationTimingEditSectionModel","_depot$operationConfi","_depot$operationConfi2","profile","createDepotOperationModeSectionFilter","createMessageSettingsEditSectionModel","showExtraEdit","typeColor","clickAction","hidePush","createMessageSettingsGalleyEditSectionModel","createMessageSettingsSectionFilter","StagePeriods","PeriodDatesAndStage","parsedStage","setParsedStage","setStage","createSettingsReconciliationsTemplateEditSectionModel","_state$reconciliation4","reconciliationConfigurationsTypes","findCurrentSetting","depotData","isGreen","_state$reconciliation5","_state$reconciliation6","getReconciliationPeriodEditsExecutionsColumns","widthHeader","sticky","rowSpan","LinkDownload","colSpan","isChild","getReconciliationPeriodViewExecutionsColumns","createReconciliationsSectionFilter","createProvidersEditSectionModel","isInlineRow","currentProviders","createCloudPrintersEditSectionModel","cloudPrinter","createFleetSectionModel","createFleetSectionModelFilter","producerId","FleetProducerType","findVehicle","FleetVehicleType","textAlign","headerWidth","isVisible","createFleetEditSectionModel","AdminOrderDateSearchFilter","onClear","DatePicker","onSave","newValue","iconClassNames","iconRender","onSetType","onClearSearch","onFilterSearch","_deliveryLabel","filterStatus","withFirstNameClient","showOnlyImageStatus","showOnlyIdOrder","hidePrice","isMobile","isAdminOrder","withHeaderCourier","groupCourierMiddle","groupCourierEnd","hideTimeInCourier","setCourier","isOpenCourierInfo","setIsOpenCourierInfo","timeValue","isShowApproveCycle","findCourier","getSourceTypeLabel","getOrderSource","deliveryLabel","hasCourierHeader","TimeInfoETA","abt","pickup_eta","nonRelative","CourierInfoControl","ExternalCycleDriverInfo","isHideTimeValidCheck","isShowCancel","readiness_time","RefundDetails","refunds","refund","payme_transaction_auth_number","refund_amount","invoice_url","rel","LayoutHeaderControls","isHideSave","ProductCard","showQuantity","getVegan","isWhite","getSpicy","CounterButton","onClickAdd","onClickRemove","_ref$quantity","disableAdd","disable","Warning","CheckBox","showButton","withCounter","preventDefault","RadioButton","ProductAddDish","allProductsCount","currentIndex","filteredSuboptions","handleOnAdd","newQuantity","handleOnRemove","handleOnSelect","isRadio","isOneOptional","_","radioButtons","fullSizeCheckbox","fixMargin","withButton","subopt","checkRespectTo","enabledAllSuboptions","RestaurantAddDish","giftMode","productEdit","handleOnAddToCart","editMode","emitProduct","setInit","mergedInit","setMergedInit","allProducts","halfProducts","setHalfProducts","isHalf","setIsHalf","_useState11","_useState12","setIsLoading","_useState13","_useState14","setShuffle","_useState15","_useState16","disableNext","setDisableNext","_useState17","createProductIngredients","_useState18","setIngredients","_useState19","name_on_box","_useState20","nameOnBox","setNameOnBox","_useState21","_useState22","setQuantity","_useState23","_useState24","comments","setComments","_useState25","_useState26","fullPrice","setFullPrice","_useState27","_useState28","setError","productsMap","halfProductsMap","hasIngredients","countOfAllProducts","countOfAllSteps","setCurrentIndex","_useState29","_useState30","checkError","newError","_prod$name","checkValidProduct","forSetHalfProduct","withHalf","forSetProducts","findSub","subel","isWithHalf","leftSides","rightSides","ls","getMergedProductData","productsData","halfData","changeQuantityOfIngredients","newproducts","changeQuantityOfIngredientsHalf","isValidProducts","allQuantity","handleEmitProduct","getPrice","productQuantity","pr","halfQuantity","getHalfAllPortion","withButtonsCounter","newIsHalf","unshift","goToStep","DebounceInput","debounceTimeout","tabsControl","CreateOrderMenu","onAddProduct","cart","getProduct","selectedProduct","setSelectedProduct","constructedProduct","setConstructedProduct","setSearch","disabledAdd","setDisabledAdd","setIndex","setIsEdit","selectProduct","addToCart","newProducts","saveProduct","onClickAddFromCart","_yield$getProductPric","onClickRemoveFromCart","_yield$getProductPric2","getElementById","scrollBy","top","left","behavior","strollToCategory","_p$name","_p$name$toLowerCase","_search$trim","fullProduct","currProduct","multiSelect","suboptionQuantity","maxIsZero","mainColor","checkRespectToAndEnabledSuboptions","CreateProduct","mergeProduct","withoutHalf","fullSides","fullProducts","noOptions","ListSelectedProducts","updateProductList","editingProduct","setEditingProduct","AddDish","fromEditMode","defOrder","withReshipments","quantityFromZero","headerLabelEditing","showRestaurantMenu","setShowRestaurantMenu","reshipmentType","setReshipmentType","setNotes","formatedProduct","newList","allCategory","found","initFilter","enableCallCenterMode","setSelectedOrderId","getGiftCardInfo","getOrderInfo","setFilter","saveOrderToEdit","onRepeatOrder","withRouter","useHistory","orderRefundId","setOrderRefundId","isOpenRefund","setIsOpenRefund","refundId","setRefundId","reshipmentOpen","setReshipmentOpen","refundOpen","setRefundOpen","cancelOrderOpen","setCancelOrderOpen","searchId","setSearchId","setFilterType","capturePaymentId","setCapturePaymentId","orderMenuProduct","reshipmentOrderValue","isFilterOpen","setFilterOpen","filterModel","setFilterModel","selectedOrderIdRef","useInterval","getFiltersValue","_orders$items","newFilter","onSalesFilterChange","updateAdminOrders","handleOnFilterSearch","updatedFilter","additionalOptions","handleOnReshipmentClose","OrdersFilter","onChangeOption","FilterTriggerControl","filterCounter","AdminOrderSearchFilterControl","AutoSizer","List","rowHeight","rowRenderer","adminOrder","AdminOrderItem","rowCount","overscanRowCount","AdminOrderInfo","openRefundsById","onClickPrevious","findOrder","onClickNext","onReshipment","onRefund","onCancelOrder","onSearchId","setEditOrder","onCapture","RefundOrder","maxAmount","refund_remainder","bonusRefund","isBonusRefund","CancelAdminOrder","getRefundsById","CapturePaymentOrder","getPayment","CustomerReviewSearchPeriod","onSetFilter","filterStart","setFilterStart","filterEnd","setFilterEnd","handleOnSelectPeriod","handleOnFilterDateChange","RateSelect","setIsOpen","handleOnOpen","RateItem","isInfo","isShowRateSelect","isSelect","RateControl","handleOnOrderClick","delivery_rating","review","ReviewItem","getCustomerReviews","GlobalFilterDataService","getFilter","handleOnSetFilter","CustomerReviewsHeader","CustomerReviewsFilter","CustomerReviewsData","CustomersListItem","onSelectCustomerId","useLocation","CustomersListHeader","addIcon","withExelIcon","CustomersListItems","_value$loyaltyLevel","_value$blockInfo","_value$wallet","onBlockUser","onOpenBonus","isFetching","onUpdateLoyaltyLevel","onUpdateStaffComment","setValue","bonusCardsCount","setBonusCardsCount","staffComment","setStaffComment","_newValue$wallet","_newValue$wallet$bonu","averageOrderAmount","registrationSources","totalAmountSpent","totalCardPayments","totalCashPayments","totalOrders","getCustomerOrders","CustomerDataItem","_value$orders","writeOff","setData","handleOnEdit","SectionInfoTitle","step","rows","withConfirmDialog","checkoutLimitPercent","expiration","multiUse","OrderDatetimeControl","tab","hideLabel","disabledSaveButton","isSameOrBefore","BonusCardItem","bonusCardsItem","currencyValue","isShowConfirmDelete","setShowConfirmDelete","ConfirmDialog","labelText","handleOnConfirm","handleOnCancel","setBonusCardsList","_user$wallet","_data$notes","isDisabledSave","getCustomerWalletInfo","getCustomerBlockUserStatus","customerUpdateLoyaltyLevel","customerBlockUser","onChangeComment","onDeleteVoucher","popupData","setPopupData","setBonusCards","setIsFetching","handleOnOpenBonus","handleOnBonusClose","handleOnBonusSave","handleOnBonusCardSave","handleOnBlockUser","_user$blockInfo","_user$blockInfo2","handleOnSaveBlockUser","CustomerDataHeader","CustomerDataItems","isList","CustomersBonusCard","CustomerBonusCardsList","CustomersBlockUser","CustomerBonusesRefund","getPageComponent","initUserData","termsAndConditions","marketingContent","AddNewCustomerForm","onCreateUser","openUserForm","setOpenUserForm","setUserData","checkPhone","createUser","Customers","setCustomerId","isAddOpen","setIsAddOpen","CustomersList","CustomersData","CustomerSalesTopTenHeader","activeTab","setActiveTab","CustomerSalesTopTenList","_s$order_source","_s$order_source_id","_s$count","_s$total","_s$order_channel","CustomerSalesTopTen","setIsDesc","filterProp","getSortedData","getTabStyle","tabNest","margin","SelectedItem","handleOnSelectDepot","square","handleOnOpenDepot","isSelectedId","handleOnSelectId","ListItem","notSelectable","CustomerSalesMenuList","filterString","menus","isOpenRoot","setIsOpenRoot","setSelectedIds","handleOnSelectTemplate","filtered","handleOnOpenTemplate","getMenu","_template$name","_getMenu","menuId","_depot$name","_depot$name$toLowerCa","_depot$name$toLowerCa2","_filterString$toLower","_getMenu2","CustomerSalesMenu","CustomerSalesChartHeader","filterQuantity","CustomerSalesChart","events","onClickEvent","ApexChart","Chart","series","CHART_TYPE","getDataByOrderSource","orderSources","objBySource","arrayIds","copyMap","setIsOpenSalesFilter","chartType","setChartType","eventData","setEventData","selectedEvents","setSelectedEvents","setCurrency","filtersForOrderChannel","setFiltersForOrderChannel","getObjectOfEvents","objectType","getEvents","isSelected","getChartData","dataBySource","sourceCarts","getApexCartDefaulOption","chart","labels","getApexPieChartDefaultOption","dataPointSelection","opts","handleOnClickSeries","selectedDataPoints","getTotalValue","double","orderSourceMap","getChartDataOrderChannel","getChartDataDeliveryType","CustomerSalesEvents","isEventSelected","ev","currentItems","setCurrentItems","setStatisticsDaily","setStatistics","menuMap","setMenuMap","salesFilterOptions","setSalesFilterOptions","isOpenSalesFilter","updateStatistics","businessToMenu","newMenu","allSettled","prom","getCurrentMenu","newCurrentItem","service","tip","top_up","total_bit","total_card","total_cash","total_payment_balance","groupStatistics","SupportChatDialogItem","createdAt","participants","lastMessage","onPullChat","_getUserData","userDataRequest","posrUserDataByParticipant","getUserData","PhotoUrl","SupportChatDialog","selectedTypes","setSelectedTypes","handleOnToggleFilter","getCountDialogByType","UserItem","hasButton","TAB_TYPES","SelectorUsersForChat","disableCourier","disableBusiness","disableConsumers","selectedUsersList","canChooseOneUser","selectedTab","setSelectedTab","selectedUsers","setSelectedUsers","saveSelectedUser","saveFrom","_selectedUser","selectedUser","updateUsers","isSelectedUser","checkFrom","filterBySearch","_ref2$toLowerCase","CreateNewDialog","hideSubject","confirmLabel","setSubject","setUsers","CustomerServiceChat","innerHeight","dimensions","setDimensions","inboxRef","chatRef","_useSelector","inbox","setInbox","currentDialog","setCurrentDialog","filtersInbox","setFiltersInbox","showCreateNewDialog","setShowCreateNewDialog","showAddUserDialog","setShowAddUserDialog","theme","inboxInstance","createInbox","setFeedFilter","mount","chatbox","createChatbox","onSelectConversation","conversation","destroy","debouncedHandleResize","ms","timer","_arguments","clearTimeout","handleOnPullChat","handleOnMarkResolved","handleOnToggleInboxFilter","newFiltersInbox","onSetInboxFilter","getBodyFromUsers","createNewDialog","addUserToDialog","addUserToChat","showTabs","renderUnassignedTitle","renderAssignedToMeTitle","renderChat","Tabs","selectedIndex","TabList","Tab","tabIndex","TabPanel","forceRender","createDepotBusinessSKUSectionModel","createDepotBusinessSKUSectionFilter","_settings","hideWidth","UserRoleAvatar","GrCode","iconFullWH","createUserPasswordEditSectionModel","showWidth","hasWarningIcon","menuType","isHideByLength","_depots$filter$map","_a$value","_b$value","createNewMenuTemplateSectionModel","minLength","maxLength","sellerInc","sellerFirstName","sellerLastName","sellerSocialId","sellerBankCode","sellerBankBranch","sellerBankAccountNumber","sellerEmail","sellerPhone","sellerBirthdate","sellerSocialIdIssued","sellerMerchantName","sellerIncCode","sellerPersonBusinessType","sellerSiteUrl","sellerAddressCity","sellerAddressStreet","sellerAddressStreetNumber","createDepotPaymeWalletNewSectionModel","createRestaurantPaymeWalletNewSectionModel","isShowSearch","onSearch","_a$name","_b$name","createDepotPriceCopy","_ref17","createDepotSquareAssociatedLocationSectionModel","createGeneralSettingsSectionModel","createCourierAppSettingsModel","isInteger","createBusinessAppSettingsModel","createPersonalSettingsSectionModel","createPersonalSettingsConfirmPasswordSectionModel","isNumber","waitingTimesSelected","createTelegramSettingsSectionModel","createPaymentsConfigurationSettingsSectionModel","isNoClickableIcon","isShowIconLabel","labelIconName","showPushMessageIcon","isDisableConfirmDialog","isReadOnly","dataFleet","currentFleet","createFleetTelemetrySectionModel","filterOptionName","formatData","totalPrice","CurrentShiftCourierEdit","_user$cycle3","depotsNames","_user$cycle2$allowedD","showControlCenterName","createShiftsEditSectionModel","createShiftHistorySectionModel","_user$depotsNames","names","_user$cycle4","_user$cycle5","_user$cycle6","_user$cycle7","_user$cycle8","_user$cycle9","CourierShiftControl","_user$cycle10","_user$cycle12","_user$cycle11","_user$cycle11$allowed","createCurrentShiftEditSectionModel","ordersWithDepotName","_depots$find2","_order$driverInfo","alignContent","_order$priceInfo","_order$priceInfo2","_order$priceInfo3","confirmDate","findControl","CurrentShiftDepotAssign","allowedDepotsUsers","_user$cycle13","UserInfoControl","StatusControl","alwaysOn","createControlCentersEditSectionModel","popupItemType","createControlCentersActivateSectionModel","isAlwaysActive","createControlCentersDeactivateSectionModel","createControlCentersChangeUserSectionModel","_getMenuCredentials","urlTo","createDepotMenuEditSectionModel","createSettingsOffersSection","createNewSearchShortcutSectionModel","type_enum","marketplaceLink","createMarketplaceDeepLinkEditSectionModel","_item$slug","_item$slug$trim","_item$slug2","_item$slug2$trim","createGiftCardSectionModel","createCourierDeliveryFeesSectionModel","createCampaignsSectionModel","createCampaignsEditSectionModel","createCampaignsExecutionsSectionModel","createReferralSectionModel","_item$bonus_info","_item$bonus_info2","_item$bonus_info3","_item$bonus_info4","isNameExist","isValidPercent","isValidValidityPeriod","zeroValueIsOff","createLoyaltySettingsRegisterBonusSectionModel","createLoyaltySettingsCashbackSectionModel","createCustomerDeliveryPriceSectionModel","createDriverTipSectionModel","createServiceFeeSectionModel","createOrdersSection","_getMenuCredentials2","createRestaurateurMenuEditSectionModel","GrCodeDepot","createDepotUsersSectionModel","_depot$depotUsers2","createDepotUserPasswordEditSectionModel","_ref15","SquareUpControl","_depot$integrations","_depot$integrations2","createDepotIntegrationsSectionModel","createDepotDefaultRegionControlcentersSectionModel","onlineState","createDepotPaymeCreditInfoNewSectionModel","createDepotTelegramSectionModel","businessMail","wireTransferId","invoiceKey","createDepotOperationTimingSectionModel","createDepotOperationTimingActiveSelectSectionModel","createMenuTemplateEditSectionModel","createMessageSettingsGalleySectionModel","createMarketplaceSettingsModel","CustomerServiceOrders","CustomerReviews","CustomerSales","_extraTypesModels","extraTypesModels","nestedTab","extraOverrides","getOverridedName","findOverride","createParentMenuSection","_item$name7","_item$name7$trim","_item$name8","_item$name8$trim","createParentMenuCategoriesOverride","_item$name9","_item$name9$trim","_item$name10","_item$name10$trim","createParentMenuProductOverride","createParentMenuSuboptionsOverride","_item$name3","_item$name3$trim","_item$name4","_item$name4$trim","createParentMenuOptionsOverride","_item$name5","_item$name5$trim","_item$name6","_item$name6$trim","createParentMenuExtraOverride","createParentMenuEditSection","createOrderingMenuEditSection","zones","_zone$data2","_find$data","_zone$data3","_zone$data","_zone$data$delivery_z","deliveryZoneReferenceIds","globalZonesWithFlag","_find$data2","_find$data3","_zone$data4","createMenuDeliveryZonesSection","createBusinesScheduleSection","createBusinesDiscountsSection","maxHeight","createBusinesInfoEditSection","isConfirm","createBusinesMenuSection","createBusinesMenuExtraSection","isSubId","extrasJoin","createCategoryProductsSection","createDepotBusinessProductDeepLinkEditSectionModel","createCategoryExtrasSection","createDepotBusinessDeepLinkEditSectionModel","createDepotBusinessTranslationsSectionModel","_models$ORDERING_MENU","models","_getDepotById2","extraOverride","createReviewProductExtra","_getDepotById3","allExtra","createOverrideExtra","_getDepotById4","_getHistoryLocationPa56","overridesExtra","createOverrideOption","_getDepotById5","_getHistoryLocationPa58","createOverrideSuboption","createBusinessGallery","createParentMenuSectionMenuTemplate","createParentMenuEditSectionMenuTemplate","createOrderingMenuEditSectionMenuTemplate","createMenuDeliveryZonesSectionMenuTemplate","createBusinesScheduleSectionMenuTemplate","createBusinesDiscountsSectionMenuTemplate","createBusinesInfoEditSectionMenuTemplate","createBusinesMenuSectionMenuTemplate","createBusinesMenuExtraSectionMenuTemplate","createCategoryProductsSectionMenuTemplate","createCategoryExtrasSectionMenuTemplate","createDepotBusinessTranslationsSectionModelMenuTemplate","_models$ORDERING_MARK","_getTemplateMenuById2","createReviewProductExtraMenuTemplate","_getTemplateMenuById3","createOverrideExtraMenuTemplate","_getTemplateMenuById4","createOverrideOptionMenuTemplate","_getTemplateMenuById5","createOverrideSuboptionMenuTemplate","createBusinessGalleryMenuTemplate","func1","func2","currentParentElement","whiteSpace","depotNames","buildWireTransferFile","explicitlyUseTaxInFormula","_state$reconciliation16","_state$reconciliation17","textRight","_state$reconciliation7","_state$reconciliation8","_state$reconciliation9","periodsData","isShowDeleteButton","_state$reconciliation13","_state$reconciliation14","_state$reconciliation15","viewPeriodsReconciliationsPeriodEditSectionModel","show","approve","isShowClose","redirectIfSuccess","_state$reconciliation10","_state$reconciliation11","_state$reconciliation12","createPeriodsReconciliationsPeriodEditSectionModel","audioPlayStack","conveyorInProcess","processConveyor","audioEnum","isNeedToAlarm","doPlaySound","audioPath","audio","Audio","play","multi_use","loyaltyLeve","getCustomersReport","shippingAddressId","planId","invoicePdf","invoiceId","getMessageForSeverity","getArgsForNotDeliveredInTime","getArgsForCourierLost","getStoreDataByType","getArgsForAssistInTime","newOrderCreated","getTypeSeverityNotification","severityNotificatioType","getMessageForSeverityTypeNotification","imgError","colorBackground","getAlarms","_alarms$filter","allowMultiNotification","getIsHideTopNotification","mainMessage","ConsumerId","useOnClickOutside","handler","useBubbleClickOutside","currentElement","_currentElement$class","classList","hasBubblingClick","savedCallback","campaign_type","start_date","message_title","audience_channel","audience_filter","calcTimeSpan","calcFunction","_data$audience_filter","maxBonus","minCardAmount","bonusPayment","isTouched","touchedPayments","untouchedPayments","totalInCent","touchedSum","restSum","bonusInCent","sumForBonus","basePayment","remainingAmount","minCardAmountInCent","isCard","totalUntouched","totalTouched","lastTotal","valueToRemove","newAmount","bonusChanged","filtratePayments","newPayment","_PAY_METHOD$creditCar","executeType","_timer","_ref$isInfo","ChartModel","_ref$isFiltered","isFiltered","filterColumnIndex","filterCategoryLabel","emptyLabel","createControlCentersChartModel","titleX","titleY","chartArea","createControlCentersTableChartModel","createDepotTableChartModel","createOrdersAverageChartModel","createOrdersAveragePerHoursChartModel","redFrom","redTo","yellowFrom","yellowTo","minorTicks","createReportDeliveryTimeItemsChartModel","isPeriod","createReportControlCenterAverageDeliveryTimeChartModel","createReportAverageDeliveryTimeItemsChartModel","createReportAverageDeliveryTimeChartModel","createReportDayAverageDeliveryTimeChartModel","createControlCentersAverageDeliveryTimeChartModel","createSalesChart","createDeepLinkStatsChartModel","createInProcessOrdersChartModel","createChartModel","createChartModelByType","generateComboChartData","generateTableChartData","generatePieChartData","generateColumnChartData","generateGaugeChartData","generateStackedColumnChartData","generateAreaChartData","generateLineChartData","chartModel","graphID","vAxis","hAxis","seriesType","updateChartData","bar","groupWidth","legend","isStacked","dataLabels","toolbar","xaxis","tickAmount","tickPlacement","axisBorder","formatter","M","D","yaxis","showForSingleSeries","stroke","dateLabel","_opt$w$config$series$","seriesIndex","downloadAction","setInProcess","ColumnTitleWithIcon","translateTitle","propItemLabelWithIconBlock","htmlFor","initValue","_column$values","valueKey","setIsDirty","valueByKey","DropdownValue","defaultInputValue","newPlaceholder","withoutBorder","isCanPrint","isUpdateAfterLoad","isSearch","_this$filters","memo","minDate","maxDate","showTimeControl","hideDateControl","calendarPosition","updateValueByParent","canClose","setCanClose","handleOnClose","closeCalendar","DPiker","disableDayPicker","portal","onOpen","locale","gregorian_en","meridiems","weekDays","plugins","TimePicker","hideSeconds","openCalendar","Icon","toDate","getRoutePath","getMessage","billingData","checkIsNoActiveAccount","getInitConfiguration","externalId","getItem","setChatWidget","chatWidget","checkUserRestoreId","getWidgetUserProperties","widget","currentThis","reqUserGet","reqUserCreated","setProperties","getChatWidget","openChatWidget","destroyChatWidget","setRestoreId","minlength","minError","maxError","localVale","setLocalValue","readOnly","_e$target$value$toStr","targetValue","isChecked","onWheel","blur","actionMenuPriorityUpdate","toggleNestedMenu","indexedDB","webkitIndexedDB","mozIndexedDB","OIndexedDB","msIndexedDB","onupgradeneeded","createObjectStore","keyPath","createIndex","onsuccess","transaction","objectStore","getAllKeys","storageData","expireTimePicture","initDataStorage","formatField","field","formatedSettingField","feesTypes","canceledRefundsMarketplaceResp","canceledRefundsBusinessResp","productPriceCard","deliveryPriceCashPercent","deliveryPriceCardPercent","productPriceCash","deliveryPriceFix","deliveryPriceLeftover","deliveryPricePercent","orderPriceFix","orderPriceLeftover","orderPricePercent","businessRefundPercent","marketplaceRefundPercent","businessDiscountPercent","marketplaceDiscountPercent","businessReshipmentPercent","marketplaceReshipmentPercent","tax","percentPeriodFix","flatPeriodFix","creditCardClearingFee","topUpToMinimumDepot","topUpToMinimumCash","topUpToMinimumCard","marketplaceCashDiscount","marketplaceCardDiscount","businessCardDiscount","businessCashDiscount","_data$fees","_data$fees2","_data$fees3","_data$fees4","_data$fees5","_data$fees6","_data$fees7","_data$fees8","_data$fees9","_data$fees10","_data$fees11","_data$fees12","_data$fees13","_data$fees14","_data$fees15","_data$fees16","_data$fees17","_data$fees18","_data$fees19","_data$fees20","_data$fees21","_data$fees22","_data$fees23","_data$fees24","_data$fees25","_data$fees26","_data$fees27","_data$fees28","_data$fees29","_data$fees30","_data$fees31","_data$fees32","_data$fees33","_data$fees34","_data$fees35","_data$fees36","_data$fees37","_data$fees38","_data$fees39","_data$fees40","_data$fees41","_data$fees42","_data$fees43","_data$fees44","_data$fees45","_data$fees46","_data$fees47","_data$fees48","_data$fees49","_data$fees50","_data$fees51","_data$fees52","_data$fees53","_data$fees54","_data$fees55","_data$fees56","_data$fees57","_data$fees58","_data$fees59","_data$fees60","_data$fees61","_data$fees62","_data$fees63","_data$fees64","_data$fees65","_data$fees66","_data$fees67","_data$fees68","_data$fees69","_data$fees70","_data$fees71","_data$fees72","_data$fees73","_data$fees74","_data$fees75","_data$fees76","_data$fees77","_data$fees78","_data$fees79","_data$fees80","_data$fees81","_data$fees82","_data$fees83","_data$fees84","_data$fees85","_data$fees86","_data$fees87","_data$fees88","_data$fees89","_data$fees90","_data$fees91","_data$fees92","_data$fees93","canceledRefundsMarketplaceRespDepot","canceledRefundsMarketplaceRespTerritory","canceledRefundsMarketplaceRespGlobal","canceledRefundsBusinessRespDepot","canceledRefundsBusinessRespTerritory","canceledRefundsBusinessRespGlobal","productPriceCardDepot","deliveryPriceCashPercentDepot","deliveryPriceCashPercentTerritory","deliveryPriceCashPercentGlobal","deliveryPriceCardPercentDepot","deliveryPriceCardPercentTerritory","deliveryPriceCardPercentGlobal","productPriceCardGlobal","productPriceCardTerritory","productPriceCashDepot","productPriceCashTerritory","productPriceCashGlobal","deliveryPriceFixDepot","deliveryPriceFixTerritory","deliveryPriceFixGlobal","deliveryPriceLeftoverDepot","deliveryPriceLeftoverTerritory","deliveryPriceLeftoverGlobal","deliveryPricePercentDepot","deliveryPricePercentTerritory","deliveryPricePercentGlobal","orderPriceFixDepot","orderPriceFixTerritory","orderPriceFixGlobal","orderPriceLeftoverDepot","orderPriceLeftoverTerritory","orderPriceLeftoverGlobal","orderPricePercentDepot","orderPricePercentTerritory","orderPricePercentGlobal","businessRefundPercentDepot","businessRefundPercentTerritory","businessRefundPercentGlobal","marketplaceRefundPercentDepot","marketplaceRefundPercentTerritory","marketplaceRefundPercentGlobal","businessDiscountPercentDepot","businessDiscountPercentTerritory","businessDiscountPercentGlobal","marketplaceDiscountPercentDepot","marketplaceDiscountPercentTerritory","marketplaceDiscountPercentGlobal","businessReshipmentPercentDepot","businessReshipmentPercentTerritory","businessReshipmentPercentGlobal","marketplaceReshipmentPercentDepot","marketplaceReshipmentPercentTerritory","marketplaceReshipmentPercentGlobal","serviceFeeDepot","serviceFeeTerritory","serviceFeeGlobal","taxDepot","taxTerritory","taxGlobal","percentPeriodFixDepot","percentPeriodFixTerritory","percentPeriodFixGlobal","flatPeriodFixDepot","flatPeriodFixTerritory","flatPeriodFixGlobal","creditCardClearingFeeDepot","creditCardClearingFeeTerritory","creditCardClearingFeeGlobal","topUpToMinimumTerritory","topUpToMinimumGlobal","driverTipDepot","driverTipTerritory","driverTipGlobal","topUpToMinimumCashDepot","topUpToMinimumCashTerritory","topUpToMinimumCashGlobal","topUpToMinimumCardDepot","topUpToMinimumCardTerritory","topUpToMinimumCardGlobal","marketplaceCashDiscountDepot","marketplaceCashDiscountTerritory","marketplaceCashDiscountGlobal","marketplaceCardDiscountDepot","marketplaceCardDiscountTerritory","marketplaceCardDiscountGlobal","businessCardDiscountDepot","businessCardDiscountTerritory","businessCardDiscountGlobal","businessCashDiscountDepot","businessCashDiscountTerritory","businessCashDiscountGlobal","reconciliationsPeriodFormatPriceModel","depotReconciliation","depotRevenue","globalReconciliation","globalRevenue","territoryReconciliation","territoryRevenue","totalBonusPayments","totalCanceledRefundsBusiness","totalCanceledRefundsMarketplace","totalBusinessDiscount","totalBusinessRefundCardAmount","totalBusinessRefundLoyaltyAmount","totalBusinessReshipment","totalCardDeliveryPrice","totalCashDeliveryPrice","totalCashProductPrices","totalCreditCardPayments","totalCreditCardProductPrices","totalDeliveryPrice","totalDiscountPayments","totalMarketplaceDiscount","totalMarketplaceReshipment","totalProductPrices","totalMarketPlaceRefundLoyaltyAmount","totalMarketPlaceRefundCardAmount","totalServiceFee","totalTax","totalTopUpToMinimum","totalMarketplaceCashDiscount","totalMarketplaceCardDiscount","totalBusinessCardDiscount","totalBusinessCashDiscount","totalTopUpToMinimumCash","totalTopUpToMinimumCard","reconciliationsPeriodFormatTerritoryPriceModel","territoryData","_data$territorySummar","_data$territorySummar2","_data$territorySummar3","_data$territorySummar4","_data$territorySummar5","_data$territorySummar6","_data$territorySummar7","_data$territorySummar8","_data$territorySummar9","_data$territorySummar10","_data$territorySummar11","_data$territorySummar12","_data$territorySummar13","_data$territorySummar14","_data$territorySummar15","_data$territorySummar16","_data$territorySummar17","_data$territorySummar18","_data$territorySummar19","_data$territorySummar20","_data$territorySummar21","_data$territorySummar22","_data$territorySummar23","_data$territorySummar24","_data$territorySummar25","_data$territorySummar26","_data$territorySummar27","_data$territorySummar28","_data$territorySummar29","_data$territorySummar30","_data$territorySummar31","_data$territorySummar32","_data$territorySummar33","_data$territorySummar34","_data$territorySummar35","_data$territorySummar36","_data$territorySummar37","_data$territorySummar38","_data$territorySummar39","_data$territorySummar40","tableName","totalDepotRevenue","totalDepotReconciliation","totalTerritoryRevenue","totalTerritoryReconciliation","totalGlobalRevenue","totalGlobalReconciliation","territorySummaryStats","deliveryCount","totalAcceptedOrdersCount","takeawayCount","totalCanceledOrdersCount","totalDriverTip","reconciliationsPeriodGrandTotalModel","isRoot","list","closeIcon","cancelSpanText","isShowConfirm","setShowConfirm","useWrapperClass","useBtnConfirmClass","isWithPassword","actionAuthentication","isCancelFirst","wishThreeButtons","handleOnLayout","useBtnCancelClass","useInputClass","cancelFirst","Userpilot","initialize","currUser","currUserName","identify","created_at","clean","interval","ordersCheck","pendingOrdersLength","_clearInterval","venueId","virtualAutomaticDelivery","autoAssignmentTimeout","autoAssignmentRetries","currentRegion","handleSetTimeCalendar","dtValue","getFormattedValue","handleOnOpenCalendar","dDate","dTime","newDate","isMoreThenMin","isSetTimeCalendarOpen","popupLabel","datePickerRef","alwaysShowDatePicker","hideIcon","TimeSpanItem","daysOffsetType","setDaysOffsetType","isNegativeDaysOffset","setIsNegativeDaysOffset","isAfterOrBeforeType","isEqualOperator","operator","handleFilterStateChange","_value$key","skipError","NumberInput","getFilterModel","setGroupType","updateUserCount","filtersGroup","setFiltersGroup","debounceFilterGroup","useDebounce","usersCount","setUsersCount","audienceChannel","setAudienceChannel","audienceType","setAudienceType","_Object$values","filterGroupForCount","updateFiltersGroup","AudienceFilterItem","_ref$isShowAddress","isShowAddress","onTitleClick","isWithId","refreshAction","confirmAction","withConfirm","confirmOpen","setConfirmOpen","finally","createCampaignsSectionFilter","_campaign$bonus_info","LinkActionIcon","border","isFilterExist","isChannelExist","buttonsConfig","saveTitle","openPopupTitle","defaultTitle","saveAction","modalType","getCampaignsExecutionsColumns","_state$restaurant3$da2","end_date","eligible_audience","percents","total_app_opens","sent_push","totalOpens","withPercent","total_orders","total_price","total_discount","RefreshDataIcon","AutocompleteService","script","registerMap","registerMapStarted","registerMapFinished","editUserName","cashPayment","getPaymentModel","cardPayment","is_high_priority","is_extrasize","initialFirstPayment","isPaid","initialSecondPayment","firstPayment","paymentType","defaultPayment","dsn","ignoreErrors","Integrations","BrowserTracing","tracesSampleRate","normalizeDepth","_ref$isDefault","Handle","RcSlider","restProps","dragging","right","Slider","sliderValue","setSliderValue","marks","tipFormatter","itemIndex","groupCheckboxIndex","chBox","chBoxIndex","rootState","optionKey","onOptionChange","DateLinks","startOption","endOption","getDateComponent","isNotTodaySelected","edited","setEdited","setOptions","handleOnOptionChange","isMultiple","GroupCheckbox","OrdersFilterDropDownControl","SectionItemMultiselect","UsersPopup","controlCenterOption","itemType","handleOnSetDateLink","DropdownMultiSelect","placeholderEmpty","defaultPlaceholderValues","byValue","isMultiMode","onApply","targetRef","setOpen","defaultMultiMode","multiMode","setMultiMode","temporarySelected","setTemporarySelected","handleOnApply","getPlaceholder","_item$key","NoSelect","isMinimize","curValue","setCurValue","getIcon","titleText","blueType","redType","crownType","extraSizeType","marginLeft","ActionButtonControl","minWidth","debounceValue","setDebounceValue","getCurrentPlanInfo","currentPlan","currentPlans","checkIsTrial","trialEndsAt","renewalDate","getCurrentCardInfo","getCurrentBillingDetails","billingDetails","getBillingInfoAddress","currentSubscription","secondaryMessage","secondaryMessageUrl","secondaryColor","isCycle","refreshData","filteredControlCenters","_el$name","searchShortCutValue","isSearchByEnter","shortCuts","searchShortCuts","onSearchShortCutChange","_ref$isHideBorder","isHideBorder","searchShortCut","setSearchShortCut","setLoading","handleOnSearchChange","isClear","handleOnSearchShortCutChange","showSearchInputShortcuts","full","onKeyDown","keyCode","ControlCenterSearchSelect","shortCut","setAppElement","setApplicationType","code","qrCodeSrc","qrState","setQrState","shareUrl","encodeURI","Link","Code","onChangeType","WhatsappShareButton","WhatsappIcon","TelegramShareButton","TelegramIcon","ViberShareButton","ViberIcon","_suboptions$reduce","isExistHalfs","suboptionsGroups","durationRef","handleOnCloseDuration","showDurationModal","setShowDurationModal","isStartEnable","setIsStartEnable","isEndEnable","setIsEndEnable","setStartDate","setEndDate","duration","setDuration","newEndTime","isBefore","Picker","wheel","optionGroups","valueGroups","localSelectedDepots","setLocalSelectedDepots","ds","_d$name","filterDepots","onRoleClick","isSvgIcon","onTouchStart","onTouchEnd","MenuModel","titleInfo","isTitleInfoShow","isWithIcon","useSeparator","nestedMenuType","searchParams","isIconRelative","badgeCount","CountUnreadMessages","getIsActive","splitCurrentLocation","splitType","createMenuModel","typeMenu","MenuItemIconDepots","Menu","isSortByPriority","isRecreate","authorizedMenuItems","menuItem","labelOn","labelOff","marginTop","valueToUpdate","AssociatePopupGroup","_React$PureComponent","isCourierHasOrders","handleChecked","VehicleIcon","emptyTitleText","makeHeight","onChecked","controlCenterUser","AssociatePopupControlCenters","AssociatePopupControlCenter","extendableCyclesId","extendableCycles","setExtendableCycles","uniqueCycles","extendableCycle","deliveredBy","courierAvatar","AssociatePopup","selectedOrderIds","_response$data","_response$data2","ExtendableCycles","Providers","isGetControlCenters","controlCenterStatus","isExternalType","isExternalAssignment","filterByControlCenterId","filterByControlCenterIds","idIsNull","nullOrEmpty","isShowFutureRoute","isAlwaysShowExternalAssignment","search_blue_small","activeCouriers","onRouteCouriers","backUpCouriers","AssociatePopupExternalAssignment","AssociatePopupExternalProviders","Tooltip","ReactTooltip","effect","ShiftCourierControlPopup","_courier$cycle2","_courier$cycle3","shiftCourierControlPopupRtl","startShiftBackUpAction","endShiftAction","cancelShiftAction","finishShiftAction","goAwayShiftAction","parentControlCenter","_classStyles","getUseClass","typesForCheckControlcenter","enableMultiMode","onSelectMulti","shouldCheckMultiDisable","multiDisabled","isSupervisorRole","getButtonsConfig","isUnverified","getStateName","ShiftCourierControl","usePagination","itemsPerPage","setPage","isLastPage","setIsLastPage","totalItems","setTotalItems","isUpdate","setIsUpdate","setItems","debounceSearch","handlePagination","paginationParams","handleData","handleScroll","scrollHeight","scrollTop","handleSearch","newItems","resetPagination","onUserClick","userControlCenter","_wrapperRef$current","_wrapperRef$current$p","controlCenterFilter","multiSelectMode","setMultiSelectMode","multiSelectedCourier","setMultiSelectedCourier","startShiftIsOpen","setStartShiftIsOpen","setQrCodeSrc","setCode","wrapperRef","_usePagination","toggleMultiMode","onSelectMultiUser","ItemComponent","PopupManagerItem","CourierShiftsFilterItem","CourierShiftItem","popupItem","multiStart","popupStart","onScroll","ImportFileControl","files","formData","FormData","append","handleImportFile","DropdownControl","itemAction","dropdownTriggerControlActive","dropdownListRtl","indexItem","getControlComponent","ListItemsControlItem","dropdownItem","isActiveElement","ListItemsControl","setIsActiveElement","FullScreenConfirmDialog","showCloseButton","hideConfirm","modalRoot","ReactDOM","createPortal","getColumnTitle","isUSMetric","metric","colorRed","CouriersShiftPopup","_ref$isClearUser","isOpenPopup","setIsOpenPopup","setUserName","isShowClearIcon","getRoleByItemType","styles","infoTitleRef","translateInfoTitle","AmountControl","_ref$withLabel","withLabel","_ref$withExelIcon","_ref$addIcon","hideAssociate","isHideDeliveryAction","isOpenAssociatePopup","setIsOpenAssociatePopup","isShowAssociate","getAutoMode","isShowAssociateCourier","isCourierStarted","handleAssociatePopupOpen","handleOnChangeOrderState","getButtonConfig","_ref$isShowCancel","isComponent","TimeAsap","_ref$isWithIcon","isComa","withIcon","setIconName","setTitle","newTitle","actionUpdatePortalMapData","paymentBalance","hideRefunds","hideCapture","showDiscardPayment","disableCapture","onDiscardPayment","PaymentData","is_3ds","is_apple_pay","is_google_pay","getSettings","isRefundActive","isExternal","isBonus","isCash","isCaptureActive","getRefundsQuantity","neverRtl","card_mask","captured_bonus","refundType","setRefundType","refundChannel","setRefundChannel","handleOnAmountChange","OnOffSwitch","isBlueColor","cancelOrder","PortalMapContext","createContext","mapRef","GlobalPopupMessage","coloredButton","confirm","onPopupMessageClose","onPopupConfirm","globalPopupMessageInit","getCountOfErrorInBulkCustomers","setOrderDelivered","isHidePagination","isOpenDeliveryConfirm","setIsOpenDeliveryConfirm","_order$status_history","status_history","isReshipmentActive","PaginationControl","Product","_product$ingredientsN","optionIndex","OrderMenuOption","ingredientIndex","DiscountItem","discount_type","AdminOrderInfoStatus","AdminOrderInfoGift","AdminOrderInfoPayments","AdminOrderInfoRestaurant","handleOnDepotClick","pathFrom","AdminOrderInfoClientAndDelivery","handleOnSearchId","reshipment","reshipmentIndex","reshipmentProducts","productIndex","PendingOrdersInfoData","topup_to_minimum","service_fee","weight_adjustment_price_buffer","AdminOrderInfoFooter","onFinish","setCurrentValue","baseValue","setBaseValue","updateCurrentValue","currentValueInterval","_ref$isHideTimeValidC","setInfo","TimeValidControl","OrderOptionMenuComments","handleOnQuantity","onClickProduct","onChangeWeight","editableWeight","getWeightAnfBuffer","buffer","checkValidWeight","_getWeightAnfBuffer2","isEditWeight","orderItem","orderItemIndex","_orderItem$ingredient","_orderItem$ingredient2","isAddDisable","isRemoveDisable","onChangeQuantity","onAdd","_getWeightAnfBuffer","getOrderWeight","weightError","comment3","OrderInfoStatus","createOrdersSectionFilter","orderIntegrationTypeFilterItems","territoriesItems","orderDate","utc","selectedDate","integrationTypes","territoriesFilter","late","InitService","hideRestaurantName","paymentCard","paymentCash","OrderTypeInfo","CustomerOrderStatus","capture","setCapture","isPartial","setIsPartial","_order$consumerInfo","cancellation_datetime","canc","PhoneIcon","_deliveryLabels","deliveryLabels","actual_delivery_datetime","isRedActiveColor","titleOff","titleOn","lableText","isLongTitle","isBlue","mainFunction","showItemsInPlace","isMenuOpen","setMenuOpen","userConnectionData","getAccountName","activeCenter","handleOnLogout","handleOnBilling","handleOnReconciliations","handleOnDepotSquareIntegration","Items","recurlyConfiguration","accountId","FreshChatControl","handleOnInit","getInitConfig","headerProperty","hideChatButton","onInit","showSupportChat","FreshChat","showBillingItem","alarmsBarSetShow","handleOnResize","menuParentRef","refsWidth","headerMenuRefs","updateMenuItems","toggleMobileMenu","isSort","menuItemState","menuItems","filteredMenuItems","MenuService","_assertThisInitialized","hideMenu","headerMenu","relativeIcon","menuPriorityUpdate","NotificationMessage","colorTitle","useSpaces","linkBg","updateAccountTopNotification","isShowModalDialog","isOpenModal","setIsOpenModal","accountTopColor","isClosable","CurrentTime","setTime","showMenu","isCheck","isShowMenu","isMobileMenuOpened","isLoginPage","elem","overflow","AccountTopNotification","HeaderUserControls","UserControlsMenu","listAlarms","getIconName","getBackgroundColor","matches","hasNotes","AlarmsBar","DraggableWrapper","handleOnDragStart","handleOnDragOver","handleOnDragEnd","dndClearData","initDraggableWrapperStyle","draggableWrapper","pageX","pageY","pointerEvents","MapMarkerDepotIcon","MapMarkerOrderNumberIcon","fontColor","getFontColorByBackground","onMouseOver","onMouseOut","markerShake","orderIdOnMap","MapMarkerOrderIcon","MapInfoBox","imageItems","imgPhone","imgAddress","marginBottom","WORLD_DIM","updateBounds","isChangeZoom","isChangeCenter","orderBounds","getBounds","newBounds","getGoogleMapReactBounds","boundsCenter","newState","getZoom","propsCenter","isOnMapClick","circleBounds","getCirclePolygon","circleNorthEast","getNorthEast","circleGetSouthWest","getSouthWest","restBounds","newZoom","getBoundsZoomLevel","regionsZoom","setTrafficLayer","trafficLayer","TrafficLayer","setMap","markerLtLn","markerCenter","latLngBounds","mapDim","isDefaultZoom","ne","sw","latFraction","lngDiff","lngFraction","latZoom","lngZoom","NECorner","SWCorner","nw","se","isGoogleMapRefExist","isSizeChanged","prevSize","fillMapPolygones","businessPolygones","polygones","businessPolygon","getPolygon","regionPolygon","unsetMapPolygones","Polygon","editable","paths","strokeOpacity","Circle","setMapPolygones","showPolygon","infoWindowForCircleRadius","InfoWindow","addListener","onShowRadius","onHideRadius","center_changed","onCircleEdited","radius_changed","onPolygonEdited","onPolygonDelete","oldPath","clearListeners","getRadius","onRegionChange","convertedRadius","setContent","setPosition","vertex","getPaths","getAt","getLength","removeAt","setMapBounds","mapBounds","onChangeMapCenter","getMarkerContentInfo","getOrderContent","depotOrders","getDepotContent","handleOnMarkerClick","clickLocation","onMarkerClick","registerHandlers","onMapClick","unregisterHandlers","handlerOnShowMarkerInfo","existMarker","existMarkerContent","isShowMarker","showInfo","markerInfo","handleOnSetCenter","handleOnMapClick","handleOnDblClick","ctrlKey","isRegistered","childRef","nextProps","nextState","_this$props7","_this$props8","forceUpdate","isShowPolygone","rect","mapRect","bottom","_this$props9","_this$state5","GoogleMapReact","draggableCursor","fullscreenControl","yesIWantToUseGoogleMapApiInternals","resetBoundsOnResize","onGoogleApiLoaded","handleGoogleApiLoaded","shouldUnregisterMapOnUnmount","Marker","MarkerInfoBox","portalMapContext","useContext","TooltipControl","currentPos","setCurrentPos","tooltipPosition","newPositionTop","isTopOverflow","newPositionLeft","isLeftOverflow","isRightOverflow","leftOverflow","rightOverflow","topOverflow","dangerouslySetInnerHTML","__html","globalPortalDataUpdate","popupWindow","setPopupWindow","screen","urlData","changeOrderIndex","onOrderTitleClick","onSetBaseWaiter","handleOnChangeOrderIndex","depotAvatar","vip","readiness","ReadinessTimeInfo","OrderStateControl","_usePreview","usePreview","GroupbarOrderItemPreview","initStart","checkUserAuthentication","getInitialData","getDialogs","setIsChecked","isAccessTokenExist","setIsAccessTokenExist","intervalState","setIntervalState","HTML5toTouch","backends","backend","HTML5Backend","transition","MouseTransition","TouchBackend","enableMouseEvents","ignoreContextMenu","delayTouchStart","preview","TouchTransition","skipDispatchOnTransition","past","mm","hh","MM","yy","fallback","componentStack","resetError","TranslationUIProvider","addCutlery","checkoutFormItem","change","gift","itsGift","namePlaceholder","greetingPlaceholder","phonePlaceholder","bagesPaymentsOrderSummary","bonuses","freeGluten","errorConstructor","selectOneOf","selectAtLeast","for","maximumAvailable","productConstructor","addName","addComment","addCommentPlaceholder","addNamePlaceholder","toppings","half","free","gr","weightAdditionalPayment","portionSizeLabel","portionSizeLabelWeighed","weightProductAcceptable","weightAdjustment","weightAdjustmentTooltip","addRemovedOffer","removedOffer","subtotal","deliveryCost","deliveryCostBase","deliveryCostFinal","minimumOrderCharge","invalidPromocode","placeholderPromocode","driverTooltip","minimumOrderChargeTooltip","serviceFeeTooltip","deliveryControl","MediaQuery","maxWidth","DndProvider","ToastContainer","hideProgressBar","toastClassName","autoClose","Header","AppContent","DndPreviewControl","PortalMap","TooltipPortal","GlobalPopupMessagePortal","IFrameControlPortal","Application","ConnectedRouter","Frontload","noServerRender","App","root","querySelector","hasChildNodes","preloadReady","hydrate"],"mappings":"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U,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,6EACPujM,SAAU,oCACVoxE,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,wDACPujM,SAAU,aACVkhE,UAAU,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,4DACPujM,SAAU,kBACVkhE,UAAU,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,kDACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,KACnBg3C,OAAS,SAAAgkN,GAAM,OAAKA,EAAO58J,kBAE7B,CACEtzG,MAAO,uDACPujM,SAAU,mBACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,sDACPujM,SAAU,OACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,uDACPujM,SAAU,QACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,wDACPujM,SAAU,SACVkhE,UAAU,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,gEACPujM,SAAU,iBACVq9G,UAAW,OACXjsC,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,OACnBk3C,OAAQ,kBAAM,IAEhB,CACElsD,MAAO,6DACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAayD,UAErB,CACEzV,MAAO,uDACPujM,SAAU,QACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,yDACPujM,SAAU,UACVoxE,YAAY,EACZM,WAAY,YACZ/qP,KAAMlY,IAAa8B,QAErB,CACE9T,MAAO,yDACPujM,SAAU,UACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,kEACPujM,SAAU,mBACVoxE,YAAY,EACZM,WAAY,YACZ/qP,KAAMlY,IAAa8B,QAErB,CACE9T,MAAO,+DACPujM,SAAU,gBACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,oCACPujM,SAAU,UACVoxE,YAAY,EACZgC,YAAY,EACZC,WAAW,EACX1sP,KAAMlY,IAAaxP,SAErB,CACExC,MAAO,GACPujM,SAAU,UACVoxE,YAAY,EACZoC,eAAe,EACfC,cAAc,EACd18I,eAAe,EACfpwG,KAAMlY,IAAa2B,aAGvB86G,WAAY3oF,KACZ0kB,WAAY7iB,KACZ+lF,iBAAkB,SAAArgH,GAAI,OAAIyzD,YAAa1+D,KAAW+B,kBAAmBkJ,IACrEsgH,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiC7C,wBAC5C85D,UAAWpjE,KAAyBiB,WACpC+0G,eAAe,EACfW,mBAAoB,CAClBw0J,OAAQ,CAAEnjR,MAAO,qBAAsB6jG,OAAQ,aAASgiC,QAAQ,IAElE3yH,MAAO,2CACPi9G,YAAa,CACX14C,YAAsB,CACpBvkE,MAAO,sCAETukE,YAAsB,CACpBH,SAAU,WACR,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,OAI9B+nD,SAAUD,YAA2B,CACnCpB,YAAmB,CACjBl5E,KAAMpD,KAAmBE,SAG7BwnG,cAAe,SAAAj1F,GAAK,OAAIA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB,Md4hBF4wP,CAA4BziQ,YAAC,CACvFuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiCrC,qBhFprB/B,SAAiCkd,GAAe,IAAT6e,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAtkE,OAC9C6wB,EAAyBC,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAEmT,EAAFnT,GAAIsT,EAAQH,EAARG,SAEZ,OAAO,IAAIk9D,IAAa,CACpBE,cAAeo3J,KACfv0J,eAAe,EACf3C,QAAS,CACL,CACIttH,MAAO,0DACPujM,SAAU,OACVz5I,IAAK,SAAAz8C,GAAI,OACL8W,KAAiCzB,qCACjC,cACCstC,GAAYtT,GACb,OACArvC,EAAKqvC,IAETxyB,KAAMlY,IAAauB,aAEvB,CACIvT,MAAO,4DACPw4E,UAAW,SAASnrE,GAChB,OAAOA,GAAQA,EAAKkiD,QAAU1vD,IAAKC,EAAE,wBAA0BD,IAAKC,EAAE,2BAI9E,CACIE,MAAO,GACP2nR,aAAc,GACdpkF,SAAU,UACVz/F,YAAajkG,IAAKC,EAAE,sEAEpB60Q,YAAY,EACZzqP,KAAMlY,IAAagD,OACnByvP,UAAU,EACVsU,YAAY,GAEhB,CACI/4Q,MAAO,GACPw4E,UAAW,SAASnrE,GAChB,MAAM,GAANU,OAAUlO,IAAKC,EAAE,4DAA2D,MAAAiO,OAAMV,EAAKivB,UACnFjvB,EAAKivB,SAAStvB,QACd,MAKhByhH,WAAY3oF,KACZ0kB,WAAY3iB,KACZymF,cAAe,IACfH,UAAWhqG,KAAiCrC,qBAC5C6rG,WAAY9vE,EAAK8vE,WACjBvyC,UAAWpjE,KAAyBiB,WACpCk3G,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,MAGhC+6B,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAO+a,aAAyB/a,OAI5C+nD,SAAUD,YAA2B,CACjCpB,YAAmB,CACfl5E,KAAMpD,KAAmBE,OAE7Bo8E,YAAmB,CACfI,UAAU,EACVt5E,KAAMpD,KAAmBC,IACzB+iC,IAAK3lC,KAAiCnC,wBAAuB,aAAAjU,OAAgBiiD,GAAYtT,KAE7F0mD,YAAmB,CAAEl5E,KAAMpD,KAAmBK,aAElD2nG,kBAAkB,EAClBC,mBAAoB,CAChB,CACI/uH,MAAO,oBACPmT,KAAM,SAAA9F,GACF,OAAO8W,KAAiCpC,yBAAwB,aAAAhU,OAAgBiiD,GAAYtT,EAAE,QAAA3uC,OAAOV,EAAKqvC,KAE9G8mD,UAAU,GAEd,CACIxjG,MAAO,sBACP6jG,OAAQ77D,KACR84Q,WAAW,IAGnBxxL,KAAM,CACF,CACItvH,MAAO,mDACPmuH,UAAWhqG,KAAiCrC,qBAC5CkH,OAAQ,WACJ,IAAAqnH,EAAyBvgF,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAE2zF,EAAF3zF,GAAIsT,EAAQqgF,EAARrgF,SACZ,MAAM,OAANjiD,OAAciiD,GAAYtT,KAGlC,CACI18C,MAAO,0DACPmuH,UAAWhqG,KAAiClC,2BAC5C+G,OAAQ,WACJ,IAAA4nH,EAAyB9gF,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAEk0F,EAAFl0F,GAAIsT,EAAQ4gF,EAAR5gF,SACZ,MAAM,OAANjiD,OAAciiD,GAAYtT,MAItCsyE,aAAa,EACbC,eAAgBhnF,KAChBmnF,WAAYlnF,KACZh1B,MAAO,mDACPu6G,WAAY,SAASj2G,GACjB,OAAOy6N,aAAWz6N,IAEtBg3G,cAAe,SAAAj1F,GACX,OAAQA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,MgF0jB/CorR,CAAwB3iQ,YAAC,GAAKP,KAAOp9C,YAAAkzS,EAC7FxvR,KAAiCpC,yBAA2BygQ,GAA4BpkO,YAAC,CACxFuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiCnC,wBAA0BwgQ,GAA4BpkO,YAAC,CACvFuvE,WAAYnmG,KAAYhqB,KACrBqgD,KACHp9C,YAAAkzS,EACDxvR,KAAiClC,2BhF/gB/B,SAAsC2mE,GAAe,IAAT/qC,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1a,OACnDyoD,EAAyBvhF,YAAyBjS,EAAK8xF,QAA/CjzF,EAAE20F,EAAF30F,GAAIsT,EAAQqhF,EAARrhF,SAEZ,OAAO,IAAIk9D,IAAa,CACpBE,cAAeq3J,KACfn3J,QAAS,CACL,CACIttH,MAAO,iEACPujM,SAAU,OACVz5I,IAAK,SAAAz8C,GAAI,OACL8W,KAAiChC,+BAA8B,OAAApU,OAAUiiD,GAAYtT,EAAE,WAAA3uC,OAAUV,EAAKqvC,KAC1GxyB,KAAMlY,IAAauB,aAEvB,CACIvT,MAAO,mEACPw4E,UAAW,SAASnrE,GAChB,OAAOA,GAAQA,EAAKkiD,QAAU1vD,IAAKC,EAAE,wBAA0BD,IAAKC,EAAE,2BAG9E,CACIE,MAAO,GACP2nR,aAAc,GACdpkF,SAAU,UACVoxE,YAAY,EACZzqP,KAAMlY,IAAagD,OACnByvP,UAAU,EACVsU,YAAY,GAEhB,CACI/4Q,MAAO,GACPw4E,UAAW,SAASnrE,GAChB,MAAM,GAANU,OAAUlO,IAAKC,EAAE,8DAA6D,KAAAiO,OAAKV,EAAKmqD,SACpFnqD,EAAKmqD,QAAQxqD,QACb,MAIhByhH,WAAY3oF,KACZ0kB,WAAYlgB,KACZgkF,cAAe,IACfH,UAAWhqG,KAAiClC,2BAC5C0rG,WAAY9vE,EAAK8vE,WACjBvyC,UAAWpjE,KAAyBiB,WACpCg3G,eAAe,EACfE,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,MAGhC+6B,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAO+a,aAAyB/a,OAI5CxpC,MAAO,0DACPuxF,SAAUD,YAA2B,CACjCpB,YAAmB,CACfl5E,KAAMpD,KAAmBE,OAE7Bo8E,YAAmB,CACfl5E,KAAMpD,KAAmBC,IACzB+iC,IAAK3lC,KAAiCjC,8BAA6B,OAAAnU,OAAUiiD,GAAYtT,OAGjGoxE,kBAAkB,EAClBgB,kBAAkB,EAClBC,mBAAoB,CAChB,CACI/uH,MAAO,oBACPmT,KAAM,SAAA9F,GACF,OACI8W,KAAiChC,+BAA8B,OAAApU,OAAUiiD,GAAYtT,EAAE,WAAA3uC,OAAUV,EAAKqvC,MAIlH,CACI18C,MAAO,sBACP6jG,OAAQt6D,KACRu3Q,WAAW,IAGnB1xL,WAAY5lF,KACZ8lF,KAAM,CACF,CACItvH,MAAO,mDACPmuH,UAAWhqG,KAAiCrC,qBAC5CkH,OAAQ,WACJ,IAAAgpH,EAAyBliF,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAEs1F,EAAFt1F,GAAIsT,EAAQgiF,EAARhiF,SACZ,MAAM,OAANjiD,OAAciiD,GAAYtT,KAGlC,CACI18C,MAAO,0DACPmuH,UAAWhqG,KAAiClC,2BAC5C+G,OAAQ,WACJ,IAAAopH,EAAyBtiF,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAE01F,EAAF11F,GAAIsT,EAAQoiF,EAARpiF,SACZ,MAAM,OAANjiD,OAAciiD,GAAYtT,MAItC+wE,WAAY,SAASj2G,GACjB,OAAOy6N,aAAWz6N,IAEtBg3G,cAAe,SAAAj1F,GACX,IAAM02B,EAAe12B,EAAMh9B,WAAWs9C,KAAKoW,aAE3C,OADgBA,GAAgBA,EAAaoH,QAAW,IACvC,MgF8ZsC2pP,CAA6B5iQ,YAAC,GAAKP,KAAOp9C,YAAAkzS,EACxGxvR,KAAiCjC,8BAAgCugQ,GAAiCrkO,YAAC,CAClGuvE,WAAYnmG,KAAYhqB,KACrBqgD,KACHp9C,YAAAkzS,EACDxvR,KAAiChC,+BAAiCsgQ,GAAiCrkO,YAAC,CACnGuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiC9B,qCAAuC0gQ,GAAuC3kO,YAAC,CAC/GuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiC7B,oCAAsCygQ,GAAuC3kO,YAAC,CAC9GuvE,WAAYnmG,KAAYhqB,KACrBqgD,KACHp9C,YAAAkzS,EACDxvR,KAAiC3B,2CAA6C6gQ,GAA0CjlO,YAAC,CACtHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAxvR,KAAiC1B,0CAA4C4gQ,GAA0CjlO,YAAC,CACrHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAxvR,KAAiCzB,qChFmhB/B,SAAsCktE,GAAe,IAAT/xC,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1T,OACnD0nH,EAAyBxnJ,YAAyBjS,EAAK8xF,QAA/C3/E,EAAQsnJ,EAARtnJ,SAAUtT,EAAE46J,EAAF56J,GAElB,OAAO,IAAIwwE,IAAa,CACpBE,cAAeq3J,KACfx0J,eAAe,EACf3C,QAAS,CACL,CACIttH,MAAO,GACPw4E,UAAW,SAASnrE,GAChB,OACIsrE,IAAAC,cAACwpM,GAAQ,CAAC1iR,MAAO2N,EAAK2yD,OAAQnoD,SAAU,CAAE2gH,MAAO,GAAID,OAAQ,GAAI1pB,UAAWt/E,IAAUE,QAG9F+oG,MAAO,SAEX,CACIx4H,MAAO,yDACPujM,SAAU,QAEd,CACIvjM,MAAO,2DACPujM,SAAU,cAEd,CACIvjM,MAAO,0DACPujM,SAAU,QACVu1E,UAAU,GAEd,CACI94Q,MAAO,2DACP2nR,aAAc,GACdpkF,SAAU,UACVu1E,UAAU,EACVnE,YAAY,EACZzqP,KAAMlY,IAAagD,QAEvB,CACIhV,MAAO,0BACPw4H,MAAO,OACPsgJ,UAAU,EACVmoC,SAAS,EACT/2R,KAAMlY,IAAamB,KACnBA,KACIgR,KAAiCO,iDAAgD,aAAA3W,OACpEiiD,EAAQ,QAAAjiD,OAAO2uC,GAChCy/M,SAAU,QAEd,CACIn8P,MAAO,oBACPw4H,MAAO,OACPsgJ,UAAU,EACVmoC,SAAS,EACT/2R,KAAMlY,IAAamB,KACnBA,KACIgR,KAAiCvB,yCAAwC,aAAA7U,OAC5DiiD,EAAQ,QAAAjiD,OAAO2uC,GAChCy/M,SAAU,aAGlB1tI,WAAY3oF,KACZ0kB,WAAYriB,KACZmmF,cAAe,IACfc,WAAY/mF,KACZ8lF,UAAWhqG,KAAiCzB,qCAC5CirG,WAAY9vE,EAAK8vE,WACjBvyC,UAAWj3D,KAAiCrC,qBAC5CquG,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQtnB,EAAaF,YAAyBC,OAAOttD,SAASumB,QAAtDgnC,SACR,OAAOiH,YAAgBjH,MAG/BynB,YAAsB,CAClBvkE,MAAO,sDAGfokE,SAAU,WACN,IAAAkjI,EAAyB1qJ,YAAyBC,OAAOttD,SAASumB,QAA1DgnC,EAAQwqJ,EAARxqJ,SAAUtT,EAAE89J,EAAF99J,GAClB,OAAOkb,aAAwB5H,EAAUtT,IAE7C+nD,SAAU,CACNrB,YAAmB,CAAEl5E,KAAMpD,KAAmBE,OAC9Co8E,YAAmB,CACfl5E,KAAMpD,KAAmBC,IACzB+iC,IACI3lC,KAAiCxB,wCAAuC,aAAA5U,OAC3DiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,cAEtC0mD,YAAmB,CAAEl5E,KAAMpD,KAAmBK,YAElDknG,aAAc,CACVjrB,YAAmB,CACf5rF,MAAO8qD,cAA4BrxC,KAAI,SAAAgJ,GAAQ,MAAK,CAChDx6B,IACI0kB,KAAiCzB,qCAAoC,aAAA3U,OACxDiiD,EAAQ,QAAAjiD,OAAOksB,EAASyiB,IACzCh9C,MAAOu6B,EAASZ,SAEpB35B,OAAQ4iE,cAA4Bz5C,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOA,MAAO,IAAU,KACxExyB,KAAMpD,KAAmBI,YAGjC8nG,aAAa,EACbC,eAAgB7mF,KAChBknF,KAAM,CACF,CACItvH,MAAO,yDACPmuH,UAAWhqG,KAAiCzB,qCAC5CsG,OAAO,aAADjb,OAAeiiD,EAAQ,QAAAjiD,OAAO2uC,IAExC,CACI18C,MAAO,0DACPmuH,UAAWhqG,KAAiCnB,mCAC5CgG,OAAO,aAADjb,OAAeiiD,EAAQ,QAAAjiD,OAAO2uC,KAG5C+wE,WAAY,SAASj2G,GACjB,OAAOy6N,aAAWz6N,IAEtBg3G,cAAe,SAAAj1F,GACX,IAAQmjB,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GAIR,SAFKnjB,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,IACjE9M,MAAK,SAAAoR,GAAQ,OAAIA,EAASyiB,KAAOA,MAAO,IACnDpgB,UAAY,IAAIrL,KAAI,SAAAiJ,GAAO,OAAAkkB,wBAAA,GACrClkB,GAAO,IACVgnR,YAAahnR,EAAQm9B,QAAU,IAAIpmC,KAAI,SAAAjH,GAAC,OAAIA,EAAEqP,QAAMg0C,KAAK,cgFtpBI8zO,CAA6B/iQ,YAAC,GAAKP,KAAOp9C,YAAAkzS,EAClHxvR,KAAiCvB,yCAA2CkhQ,GAAiC1lO,YAAC,CAC7GuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiCO,iDOjuB/B,SAA2Dsa,GAAe,IAAT6e,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAtkE,OACxE,OAAO,IAAIkuF,IAAa,CACpBI,QAAS,CACL,CACIttH,MAAO,GACPujM,SAAU,KACVglF,YAAavlP,KACb9vB,MAAO,2BACPgX,KAAMlY,IAAa5D,OACnB89C,OAAQ,SAAA7+C,GAAI,OAAKA,EAAK8F,OAE1B,CACInT,MAAO,GACPujM,SAAU,OACVr5K,KAAMlY,IAAa8D,aACnB6+P,YAAY,EACZoC,eAAe,EACf7qN,OAAQ,SAAA7+C,GAAI,QAAMA,EAAK8F,QAG/Bu6G,iBAAkB,SAAArgH,GACd,OAAOA,GAEX6F,MAAO,0BACPi9G,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQtnB,EAAaF,YAAyBC,OAAOttD,SAASumB,QAAtDgnC,SACR,OAAOiH,YAAgBjH,MAG/BynB,YAAsB,CAClBvkE,MAAO,qDAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAAlnB,EAAyBN,YAAyBC,OAAOttD,SAASumB,QAA1DgnC,EAAQI,EAARJ,SAAUtT,EAAE0T,EAAF1T,GAClB,OAAOkb,aAAwB5H,EAAUtT,MAGjD+6B,YAAsB,CAClBH,SAAU,WACN,IAAA+4D,EAAgCvgF,YAAyBC,OAAOttD,SAASumB,QAAjEgnC,EAAQqgF,EAARrgF,SAAUtT,EAAE2zF,EAAF3zF,GAAIq1C,EAAKs+C,EAALt+C,MACtB,OAAOn6B,aAAwB5H,EAAUtT,EAAIq1C,OAIzD0S,SAAU,CACNrB,YAAmB,CACfl5E,KAAMpD,KAAmBE,QAGjCwjC,WAAY3nB,KACZ4rF,WAAY3oF,KACZ6nF,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCQ,iBAC5Cy2D,UAAWj3D,KAAiCzB,qCAC5CsrG,eAAe,EACfQ,cAAe,SAAAj1F,GAEX,QADqBA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB,IACtCt6B,YAAc,IAAIitC,SAAQ,SAAA5gB,GAAC,OAAIA,EAAE1lB,UAAY,SPkqBW8kR,CAAkDhjQ,YAAC,CACpIuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAxvR,KAAiCxB,wCAA0CmhQ,GAAiC1lO,YAAC,CAC5GuvE,WAAYnmG,KAAYhqB,KACrBqgD,KACHp9C,YAAAkzS,EACDxvR,KAAiCrB,iDAAmD4gQ,GAAsCtlO,YAAC,CACxHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAxvR,KAAiCpB,kDAAoD2gQ,GAAsCtlO,YAAC,CACzHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAxvR,KAAiCnB,mChFE/B,SAAoCmsE,GAAe,IAATtxC,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAnU,OACjDmwG,EAAyBxvI,YAAyBjS,EAAK8xF,QAA/C3/E,EAAQsvI,EAARtvI,SAAUtT,EAAE4iJ,EAAF5iJ,GAElB,OAAO,IAAIwwE,IAAa,CACpBE,cAAeq3J,KACfx0J,eAAe,EACf3C,QAAS,CACL,CACIttH,MAAO,iEACPujM,SAAU,OACVz5I,IAAK,SAAAz8C,GAAI,OACL8W,KAAiCjB,uCACjC,aACA8sC,EACA,OACAtT,EACA,UACArvC,EAAKqvC,IACT87E,MAAO,QACPtuG,KAAMlY,IAAauB,aAEvB,CACIvT,MAAO,mEACPw4E,UAAW,SAASnrE,GAChB,OAAOA,GAAQA,EAAKkiD,QAAU1vD,IAAKC,EAAE,wBAA0BD,IAAKC,EAAE,0BAE1E04H,MAAO,QAEX,CACIx4H,MAAO,GACP2nR,aAAc,GACdpkF,SAAU,UACV/qE,MAAO,QACPm8I,YAAY,EACZzqP,KAAMlY,IAAagD,OACnByvP,UAAU,GAEd,CACIzkQ,MAAO,GACPw4E,UAAW,SAASnrE,GAChB,MAAM,GAANU,OAAUlO,IAAKC,EAAE,8DAA6D,KAAAiO,OAAKV,EAAKmqD,SACpFnqD,EAAKmqD,QAAQxqD,QACb,IAERwrH,MAAO,SAGf/J,WAAYtlF,KACZqhB,WAAYphB,KACZ+kF,UAAWhqG,KAAiCnB,mCAC5C2qG,WAAY9vE,EAAK8vE,WACjBvyC,UAAWj3D,KAAiCrC,qBAC5C2iF,SAAU,CACNrB,YAAmB,CAAEl5E,KAAMpD,KAAmBE,OAC9Co8E,YAAmB,CACfl5E,KAAMpD,KAAmBC,IACzB+iC,IACI3lC,KAAiClB,sCAAqC,aAAAlV,OACzDiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,eAG1CyzE,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQtnB,EAAaF,YAAyBC,OAAOttD,SAASumB,QAAtDgnC,SACR,OAAOiH,YAAgBjH,MAG/BynB,YAAsB,CAClBvkE,MAAO,sDAGfokE,SAAU,WACN,IAAAquH,EAAyB71I,YAAyBC,OAAOttD,SAASumB,QAA1DgnC,EAAQ21I,EAAR31I,SAAUtT,EAAEipJ,EAAFjpJ,GAClB,OAAOkb,aAAwB5H,EAAUtT,IAE7CoxE,kBAAkB,EAClBgB,kBAAkB,EAClBC,mBAAoB,CAChB,CACI/uH,MAAO,oBACPmT,KAAM,SAAA9F,GACF,OACI8W,KAAiCjB,uCAAsC,aAAAnV,OAC1DiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,WAAA3uC,OAAUV,EAAKqvC,MAIzD,CACI18C,MAAO,sBACP6jG,OAAQp5D,KACRq2Q,WAAW,IAGnB1xL,WAAY1kF,KACZ4kF,KAAM,CACF,CACItvH,MAAO,yDACPmuH,UAAWhqG,KAAiCzB,qCAC5CsG,OAAO,aAADjb,OAAeiiD,EAAQ,QAAAjiD,OAAO2uC,IAExC,CACI18C,MAAO,0DACPmuH,UAAWhqG,KAAiCnB,mCAC5CgG,OAAO,aAADjb,OAAeiiD,EAAQ,QAAAjiD,OAAO2uC,KAG5C2xE,aAAc,CACVjrB,YAAmB,CACf5rF,MAAO8qD,cAA4BrxC,KAAI,SAAAgJ,GAAQ,MAAK,CAChDx6B,IACI0kB,KAAiCnB,mCAAkC,aAAAjV,OACtDiiD,EAAQ,QAAAjiD,OAAOksB,EAASyiB,IACzCh9C,MAAOu6B,EAASZ,SAEpB35B,OAAQ4iE,cAA4Bz5C,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOA,MAAO,IAAU,KACxExyB,KAAMpD,KAAmBI,YAGjCumG,WAAY,SAASj2G,GACjB,OAAOy6N,aAAWz6N,IAEtBg3G,cAAe,SAAAj1F,GACX,IAAQmjB,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GAIR,QAFKnjB,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,IACjE9M,MAAK,SAAAoR,GAAQ,OAAIA,EAASyiB,KAAOA,MAAO,IACpD2a,QAAU,MgFpIqCgqP,CAA2BjjQ,YAAC,GAAKP,KAAOp9C,YAAAkzS,EAC9GxvR,KAAiCjB,uCAAyCsgQ,GAA+BplO,YAAC,CACzGuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDxvR,KAAiClB,sCAAwCugQ,GAA+BplO,YAAC,CACxGuvE,WAAYnmG,KAAYhqB,KACrBqgD,KACHp9C,YAAAkzS,EACDxvR,KAAiCf,6CAA+CqgQ,GAAqCrlO,YAAC,CACnHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAxvR,KAAiCd,4CAA8CogQ,GAAqCrlO,YAAC,CAClHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAxvR,KAAiCZ,gDAAkDghQ,GAAwCnmO,YAAC,CACzHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAxvR,KAAiCX,+CAAiD+gQ,GAAwCnmO,YAAC,CACxHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAxvR,KAAiCV,uBAAyBgkQ,GAC3CjgQ,KAAYE,OAC3BjnB,YAAAkzS,EACAxvR,KAAiCQ,iBO1zB/B,SAAoDiX,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OACjE,OAAO,IAAIsxF,IAAa,CACpBI,QAAS,CACL,CACIttH,MAAO,GACPujM,SAAU,KACVglF,YAAarlP,KACbhwB,MAAO,2BACPgX,KAAMlY,IAAa5D,OACnB89C,OAAQ,SAAA7+C,GAAI,OAAKA,EAAK8F,OAE1B,CACInT,MAAO,GACPujM,SAAU,OACVr5K,KAAMlY,IAAa8D,aACnB6+P,YAAY,EACZoC,eAAe,EACf7qN,OAAQ,SAAA7+C,GAAI,QAAMA,EAAK8F,QAG/Bu6G,iBAAkB,SAAArgH,GACd,OAAOA,GAEX6F,MAAO,gCACPi9G,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,OAIpC+nD,SAAUD,YAA2B,CACjCpB,YAAmB,CACfl5E,KAAMpD,KAAmBE,SAGjCwjC,WAAYvnB,KACZwrF,WAAY3oF,KACZ6nF,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCQ,iBAC5Cy2D,UAAWpjE,KAAyBiB,WACpC+0G,eAAe,EACfQ,cAAe,SAAAj1F,GACX,OAAOA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB,MP2wBAqxP,CAA4C,CAC/F3zL,WAAYnmG,KAAYE,QACxBjnB,YAAAkzS,EACDxvR,KAAiCS,a5D7zB/B,SAAoDgX,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OACnE,OAAO,IAAIsxF,IAAa,CACtBE,cAAe+0J,KACf70J,QAAS,CACP,CACEA,QAAS,CACP,CACEttH,MAAO,0CACPujM,SAAU,cACV/qE,MAAO,QACPqgJ,WAAY,SAEd,CACE74Q,MAAO,4CACPujM,SAAU,gBACV/qE,MAAO,QACPqgJ,WAAY,SAEd,CACE74Q,MAAO,8CACPujM,SAAU,iBACV/qE,MAAO,MACPqgJ,WAAY,OAEd,CACE74Q,MAAO,0CACPujM,SAAU,mBACV/qE,MAAO,MACPqgJ,WAAY,MACZ3uP,KAAMlY,IAAaoD,YAGvBmuL,SAAU,eACVoxE,YAAY,EACZzqP,KAAMlY,IAAakE,mBAGvBw3G,iBAAkB,SAAArgH,GAChB,OAAOA,GAETm9C,WAAYhnB,KACZirF,WAAYhrF,KACZkqF,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCS,aAC5Cw2D,UAAWpjE,KAAyBiB,WACpC+0G,eAAe,EACfwC,YAAY,EACZL,YAAa,CACX14C,YAAsB,CACpBvkE,MAAO,sCAETukE,YAAsB,CACpBH,SAAU,WACR,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,OAI9BxpC,MAAO,8BACPw9G,cAAe,CACbjjH,OAAQmE,eACRiyF,OAAQpgE,MAEVghE,SAAUD,YAA2B,CACnCpB,YAAmB,CACjBl5E,KAAMpD,KAAmBE,OAE3Bo8E,YAAmB,CACjBl5E,KAAMpD,KAAmBG,YACzBhnB,KAAM,SACNiV,KAAMrV,IAAKC,EAAE,sCACb+jG,OAAQlgE,OAEVy/D,YAAmB,CACjBl5E,KAAMpD,KAAmBM,WACzBnnB,KAAM,SACNiV,KAAMrV,IAAKC,EAAE,sCACb+jG,OAAQjgE,QAET,CAAC9c,KAAmBE,KAAMF,KAAmBM,aAChDonG,cAAe,SAAAj1F,GAAU,IAADg4B,EACtB,OAA4B,QAA5BA,EAAOh4B,EAAMh9B,WAAWs9C,YAAI,IAAA0X,OAAA,EAArBA,EAAuB3sC,gB4D4uBiB28R,CAA2CnjQ,wBAAC,GACxFP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCU,IAAM4uR,GAAkCr1P,wBAAC,GACtEP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCN,mBhFmiC/B,SAAiC+4R,GAAe,IAADoB,EAARngQ,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAs5M,OAC9C/2F,EAAyC/1J,YAAyBC,OAAOttD,SAASumB,QAA1EgnC,EAAQ61J,EAAR71J,SAAU+hC,EAAK8zH,EAAL9zH,MAAOi/C,EAAO60E,EAAP70E,QAASt0F,EAAEmpK,EAAFnpK,GAC5BuhQ,GAAgBD,EAAA,GAAAv9S,YAAAu9S,EACjBpkR,IAAYC,MACT1V,KAAiCL,cAAa,aAAA/V,OACjCiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,WAAA3uC,OAAUgkF,EAAK,aAAAhkF,OAAYijI,EAAO,YAASvwI,YAAAu9S,EAC5EpkR,IAAYE,OACT3V,KAAiCJ,eAAc,aAAAhW,OAClCiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,WAAA3uC,OAAUgkF,EAAK,aAAAhkF,OAAYijI,EAAO,aAAUvwI,YAAAu9S,EAC7EpkR,IAAYG,UACT5V,KAAiCH,kBAAiB,aAAAjW,OACrCiiD,EAAQ,QAAAjiD,OAAO2uC,EAAE,WAAA3uC,OAAUgkF,EAAK,aAAAhkF,OAAYijI,EAAO,eAAYgtK,GAEpF,OAAO,IAAI9wL,IAAa,CACpBE,cAAes3J,KACfz0J,eAAe,EACfW,aAAc,SAAAmnJ,GAA6B,IAADypC,EAA1BC,EAAM1pC,EAAN0pC,OACNtmO,GAD0B48L,EAAZrhM,aACqD,QAA9D8qO,EAAGC,EAAOt9R,KAAiCN,2BAAmB,IAAA29R,OAAA,EAA3DA,EAA6DrmO,OAC3E,OAAY,OAALA,QAAK,IAALA,OAAK,EAALA,EAAO60C,wBAElB1C,QAAS,CACL,CACIttH,MAAO,4CACPujM,SAAU,OACVr5K,KAAMlY,IAAa0D,WACnBwoS,UAAW,GACXvpC,YAAY,GAEhB,CACI30Q,MAAO,oBACPw4H,MAAO,OACPh1B,UAAU,EACVt5E,KAAMlY,IAAa2D,iBACnBqnB,SAAU,SAAA3vB,GACN,OAAQA,EAAK21D,WAAa,IAAI51D,QAAO,SAAAs0C,GAAC,OAAIA,EAAEhF,KAAOrvC,EAAKqvC,MAAI1vC,QAAU,GAE1E88C,IAAK,SAAAz8C,GAAI,OAAI4wS,EAAiB5wS,EAAK+5G,WAAa/5G,EAAKqvC,IACrDy/M,SAAU,WACVjwM,OAAQ,kBAAM,KAGtBykE,6BAA8B,SAACp3F,GAAW,IAADs4B,EAAAC,EAAA4vP,EACrC,OAAuB,QAAhB7vP,EAAAt4B,EAAMh9B,kBAAU,IAAAs1D,GAAmB,QAAnBC,EAAhBD,EAAkBhY,KAAKoW,oBAAY,IAAA6B,OAAnB,EAAhBA,EAAqCpV,OAA6B,QAA3BglQ,EAAK3oP,YAAa/I,UAAS,IAAA0xP,OAAA,EAAtBA,EAAwBxxP,aAE/E1F,WAAY1kB,KACZ6nF,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCN,mBAC5Cu3D,UAAWj3D,KAAiCvB,yCAC5CutG,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBvkE,MAAO,sDAGfA,MAAO,0DACPw6G,iBAAkB,SAAArgH,GAAI,OAAIyzD,YAAa1+D,KAAWoF,YAAa6F,IAC/DgiH,cAAc,EACdvB,kBAAkB,EAClB0B,wBAAwB,EACxB/qB,SAAU,CAACrB,YAAmB,CAAEl5E,KAAMpD,KAAmBE,QACzDwnG,cAAe,SAAAj1F,GACX,IAAAgwL,EAA+Bz5J,YAAyBC,OAAOttD,SAASumB,QAAhE0zB,EAAE6sK,EAAF7sK,GAAIq1C,EAAKw3H,EAALx3H,MAAOi/C,EAAOu4E,EAAPv4E,QACbxtE,EACDjqC,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAaoH,QAAW,GACnF1hC,EACD4D,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,GACvFsE,EAAWtE,GAAcA,EAAW9M,MAAK,SAAAkmC,GAAE,OAAIA,EAAGrS,KAAOA,KACzDxiB,EAAUD,GAAYA,EAASqC,SAASzT,MAAK,SAAAu6B,GAAC,OAAIA,EAAE1G,KAAOq1C,KAC3D4vN,EAAgBznR,GAAWA,EAAQm9B,OAAOxuC,MAAK,SAAAu6B,GAAC,OAAIA,EAAE1G,KAAOs0F,KAE7Dn3G,EADS2pC,EAAaz1D,OAAQksB,GAAYA,EAASo9B,QAAW,IAC/CxuC,MAAK,SAAAkmC,GAAE,OAAIA,EAAGrS,KAAOs0F,KAC1C,OAAOlwE,YAAa1+D,KAAWoF,YAAaqyB,GAAOggB,KAAK5oB,KAAI,SAAA89B,GAAE,OAAA3Q,wBAAA,GACvD2Q,GAAE,IACLiU,UAAW2+O,GAAiBA,EAAc3+O,kBgF9mCC4+O,CAAwBxjQ,YAAC,GAAKP,KAAOp9C,YAAAkzS,EAC3FxvR,KAAiCL,chF4nC/B,SAA4BsyR,GAAe,IAATv4P,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA8yM,OAClCpmP,EAAYF,YAAyBC,OAAOttD,SAASumB,QAArDgnC,SACP,OAAO,IAAIk9D,IAAa,CACpBI,QAAS,CACL,CACIttH,MAAO,iEACPujM,SAAU,OACVoxE,YAAY,EACZj/B,eAAgB,SAACroO,GAAI,OAAc,OAATA,GAC1B6c,KAAMlY,IAAakD,KACnBgiS,cAAe,SACf3uB,YAAan8O,KACb6qQ,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,UAGzE,CACItN,MAAO,wEACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAasD,SACnB4hS,cAAe,SACf3uB,YAAan8O,KACb6qQ,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,kBAI7EqnQ,YAAY,EACZtlJ,cAAc,EACd7kE,WAAY3e,KACZ6hF,iBAAkB,SAAArgH,GAAI,OAAIyzD,YAAa1+D,KAAWyF,wBAAyBwF,IAC3EsgH,WAAY9vE,EAAK8vE,WACjBgD,6BAA8B,SAACp3F,GAAW,IAADq6B,EAAAC,EAAAguP,EACrC,OAAuB,QAAhBjuP,EAAAr6B,EAAMh9B,kBAAU,IAAAq3D,GAAmB,QAAnBC,EAAhBD,EAAkB/Z,KAAKoW,oBAAY,IAAA4D,OAAnB,EAAhBA,EAAqCnX,OAA6B,QAA3BmlQ,EAAK9oP,YAAa/I,UAAS,IAAA6xP,OAAA,EAAtBA,EAAwB3xP,aAE/Ei+D,UAAWhqG,KAAiCL,cAC5Cs3D,UAAWj3D,KAAiCN,mBAC5CksG,mBAAoB5rG,KAAiCN,mBACrD2qG,cAAe,SAAAj1F,GACX,IAAAwwL,EAAgCj6J,YAAyBC,OAAOttD,SAASumB,QAAjE0zB,EAAEqtK,EAAFrtK,GAAIq1C,EAAKg4H,EAALh4H,MAAO/hC,EAAQ+5J,EAAR/5J,SAIb91B,GAFDX,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,IACjE9M,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOA,KACtBpgB,SAASzT,MAAK,SAAAu6B,GAAC,OAAIA,EAAE1G,KAAOq1C,KAC/C+vN,EAAWv/O,YAAuBvS,EAAUtT,EAAInjB,GAEtD,OAAOi3C,YAAYsxO,GAAY,GAAK5nR,GAAWA,EAAQm9B,QAAW,OgF3qCxB0qP,CAAmB3jQ,wBAAC,GACjEP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCJ,ehF4qC/B,SAA6By0P,GAAe,IAAT36N,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAk1K,OAC1CruD,EAAyBr6J,YAAyBC,OAAOttD,SAASumB,QAA1D0zB,EAAEytK,EAAFztK,GAAIsT,EAAQm6J,EAARn6J,SACZ,OAAO,IAAIk9D,IAAa,CACpB+C,eAAe,EACf3C,QAAS,CACL,CACIttH,MAAO,wEACPujM,SAAU,OACVoxE,YAAY,EACZj/B,eAAgB,SAACroO,GAAI,OAAc,OAATA,GAC1B6c,KAAMlY,IAAakD,KACnBqzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,UAGzE,CACItN,MAAO,+EACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAasD,SACnBizQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,iBAGzE,CACIovC,GAAI,SACJ4wE,QAAS,CACL,CACIttH,MAAO,uEACPujM,SAAU,MACVoxE,YAAY,EACZzqP,KAAMlY,IAAa8B,OACnB6rD,IAAK,SAAAtyD,GAAI,OAAIA,EAAKsyD,KAClB+nC,IAAK,kBAAM,GACXs7K,YAAa,SAAA31Q,GAAI,OAAIA,EAAKq6F,IAAMr6F,EAAKsyD,KAAoB,IAAbtyD,EAAKsyD,KACjD4oN,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,SAGzE,CACItN,MAAO,uEACPujM,SAAU,MACVoxE,YAAY,EACZjtK,IAAK,kBAAM,GACXs7K,YAAa,SAAA31Q,GAAI,OAAIA,EAAKq6F,IAAMr6F,EAAKsyD,KAAoB,IAAbtyD,EAAKq6F,KACjDx9E,KAAMlY,IAAa8B,OACnBy0Q,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,SAGzE,CACItN,MAAOH,IAAKC,EAAE,0EACdyjM,SAAU,cACVoxE,YAAY,EACZjtK,IAAK,kBAAM,GACXx9E,KAAMlY,IAAa8B,OACnBy0Q,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,gBAErE2oQ,YAAa,SAAA5oQ,GAAI,OAAIA,GAAQA,EAAKsyD,KAAOtyD,EAAKo+F,aAC9C9rC,IAAK,SAAAtyD,GAAI,OAAIA,EAAKsyD,KAClBqjN,YAAa,SAAA31Q,GAAI,OAAIA,EAAKo+F,YAAcp+F,EAAKsyD,KAA4B,IAArBtyD,EAAKo+F,cAE7D,CACIzrG,MAAO,iEACPujM,SAAU,MACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,KACnBqzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,UAI7EqnQ,YAAY,EACZzqP,KAAMlY,IAAaY,OAEvB,CACI5S,MAAO,0FACPujM,SAAU,mBACV0/E,eAAgB,CAAC,gBACjBtO,YAAY,EACZzqP,KAAMlY,IAAagD,OACnBuzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,sBAGzE,CACItN,MAAO,4FACPujM,SAAU,2BACVoxE,YAAY,EACZzqP,KAAMlY,IAAagD,OACnBuzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,8BAGzE,CACItN,MAAO,2FACPujM,SAAU,0BACVoxE,YAAY,EACZzqP,KAAMlY,IAAagD,OACnBuzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,6BAGzE,CACItN,MAAO,+EACPujM,SAAU,cACVr3I,OAAQ,WAEJ,OADgBqY,aAAuBvU,EAAUtT,GAClC1vC,OAAS,GAE5B2nQ,YAAY,EACZzqP,KAAMlY,IAAagD,OACnBuzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,iBAGzE,CACItN,MAAO,gFACPujM,SAAU,eACV2/E,qBAAsB,mBACtBvO,YAAY,EACZzqP,KAAMlY,IAAagD,OACnBuzQ,YAAap8O,KACb+qQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,mBAI7E+hH,cAAc,EACdslJ,YAAY,EACZnqN,WAAY1e,KACZ4hF,iBAAkB,SAAArgH,GAAI,OAAIyzD,YAAa1+D,KAAW0F,yBAA0BuF,IAC5EsgH,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCJ,eAC5Cq3D,UAAWj3D,KAAiCnB,mCAC5C+sG,mBAAoB5rG,KAAiCN,mBACrD8sG,6BAA8B,SAACp3F,GAAW,IAADg7B,EAAAC,EAAAwtP,EACrC,OAAuB,QAAhBztP,EAAAh7B,EAAMh9B,kBAAU,IAAAg4D,GAAmB,QAAnBC,EAAhBD,EAAkB1a,KAAKoW,oBAAY,IAAAuE,OAAnB,EAAhBA,EAAqC9X,OAA6B,QAA3BslQ,EAAKjpP,YAAa/I,UAAS,IAAAgyP,OAAA,EAAtBA,EAAwB9xP,aAE/Es+D,cAAe,SAAAj1F,GACX,IAAA0oR,EAA+BnyP,YAAyBC,OAAOttD,SAASumB,QAAhE0zB,EAAEulQ,EAAFvlQ,GAAIq1C,EAAKkwN,EAALlwN,MAAOi/C,EAAOixK,EAAPjxK,QACb/gF,EAAe12B,EAAMh9B,WAAWs9C,KAAKoW,aAErCh2B,GADcg2B,GAAgBA,EAAat6B,YAAe,IACpC9M,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOA,KACzCxiB,EAAUD,GAAYA,EAASqC,SAASzT,MAAK,SAAAu6B,GAAC,OAAIA,EAAE1G,KAAOq1C,KAK3Dl4D,EAJS22C,YACVv2C,GAAYA,EAASo9B,QAAW,GACjCkL,YAAuBvS,EAAUtT,EAAInjB,IAEpB1Q,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOs0F,KAClCkxK,EAAiBhoR,GAAWA,EAAQm9B,OAAOxuC,MAAK,SAAAw4B,GAAC,OAAIA,EAAE3E,KAAO7iB,EAAM6iB,MAM1E,OAJI7iB,GACAA,EAAM29B,SACN39B,EAAM29B,QAAQvmC,KAAI,SAAAowB,GAAC,OAAAjD,wBAAA,GAAUiD,GAAC,IAAE2hB,UAAWk/O,GAAkBA,EAAel/O,gBAEpD,MgF91Cem/O,CAAoB/jQ,wBAAC,GACnEP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCH,kBhF+1C/B,SAAgCm1P,GAAe,IAATt7N,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA61K,OACtCnpN,EAAYF,YAAyBC,OAAOttD,SAASumB,QAArDgnC,SACP,OAAO,IAAIk9D,IAAa,CACpBI,QAAS,CACL,CACIttH,MAAO,2EACPujM,SAAU,OACVoxE,YAAY,EACZj/B,eAAgB,SAACroO,GAAI,OAAc,OAATA,GAC1B6c,KAAMlY,IAAakD,KACnBqzQ,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,UAGzE,CACItN,MAAO,kFACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAasD,SACnBizQ,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,iBAGzE,CACItN,MAAO,4EACPujM,SAAU,QACV77F,IAAK,kBAAM,GACXitK,YAAY,EACZzqP,KAAMlY,IAAa8B,OACnBy0Q,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,WAGzE,CACItN,MAAO,0EACPujM,SAAU,MACV77F,IAAK,kBAAM,GACXitK,YAAY,EACZzqP,KAAMlY,IAAa8B,OACnBy0Q,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,SAGzE,CACItN,MAAO,0EACPujM,SAAU,MACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,KACnBqzQ,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,SAGzE,CACItN,MAAO,uEACPujM,SAAU,MACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,KACnBqzQ,YAAav8O,KACbkrQ,cAAe,SACfD,gBAAiB,SAAA5pS,GACb,OAAOA,EAAK61D,mBAAqB71D,EAAK61D,kBAAkB51D,SAAS,UAI7Ek9C,WAAYze,KACZ2hF,iBAAkB,SAAArgH,GAAI,OAAIyzD,YAAa1+D,KAAW2F,6BAA8BsF,IAChFgiH,cAAc,EACd1B,WAAY9vE,EAAK8vE,WACjBQ,UAAWhqG,KAAiCH,kBAC5C2sG,6BAA8B,SAACp3F,GAAW,IAAD08B,EAAAC,EAAAksP,EACrC,OAAuB,QAAhBnsP,EAAA18B,EAAMh9B,kBAAU,IAAA05D,GAAmB,QAAnBC,EAAhBD,EAAkBpc,KAAKoW,oBAAY,IAAAiG,OAAnB,EAAhBA,EAAqCxZ,OAA6B,QAA3B0lQ,EAAKrpP,YAAa/I,UAAS,IAAAoyP,OAAA,EAAtBA,EAAwBlyP,aAE/EkrB,UAAWj3D,KAAiCzB,qCAC5CqtG,mBAAoB5rG,KAAiCN,mBACrD2qG,cAAe,SAAAj1F,GACX,IAAA8oR,EAAyCvyP,YAAyBC,OAAOttD,SAASumB,QAA1E0zB,EAAE2lQ,EAAF3lQ,GAAIs0F,EAAOqxK,EAAPrxK,QAASj/C,EAAKswN,EAALtwN,MAAO/hC,EAAQqyP,EAARryP,SAGtB/1B,GADDV,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAat6B,YAAe,IACjE9M,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOA,KAKzC7iB,EAJS22C,YACXjO,YAAuBvS,EAAUtT,EAAInjB,GACpCU,GAAYA,EAASo9B,QAAW,IAEhBxuC,MAAK,SAAAqQ,GAAC,OAAIA,EAAEwjB,KAAOs0F,KAClCx5E,EAAW39B,GAASA,EAAM29B,SAAY,GACtCt9B,EAAUD,GAAYA,EAASqC,SAASzT,MAAK,SAAAu6B,GAAC,OAAIA,EAAE1G,KAAOq1C,KAC3DmwN,EAAiBhoR,GAAWA,EAAQm9B,OAAOxuC,MAAK,SAAAw4B,GAAC,OAAIA,EAAE3E,KAAO7iB,EAAM6iB,MAC1E,OAAO8a,EACJoL,SAAQ,SAAA7T,GAAE,OAAIA,EAAG0Q,cACjBxuC,KAAI,SAAA89B,GAAE,OAAA3Q,wBAAA,GACA2Q,GAAE,IACLiU,UAAWk/O,GAAkBA,EAAel/O,kBgFp8CJs/O,CAAuBlkQ,wBAAC,GACzEP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCzc,QhFs8C/B,WACH,IAAQg1C,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAO,IAAIwwE,IAAa,CACpB9xC,UAAWpjE,KAAyBiB,WACpCuxC,WAAYnd,KACZ+/E,cAAey3J,KACf12J,UAAWhqG,KAAiCzc,QAC5C4lH,QAAS,CACL,CACIttH,MAAO,GACPw4E,UAAW,SAASnrE,GAChB,OACIsrE,IAAAC,cAACwpM,GAAQ,CAAC1iR,MAAO2N,EAAKkmE,KAAM17D,SAAU,CAAE2gH,MAAO,GAAID,OAAQ,GAAI1pB,UAAWt/E,IAAUE,QAG5F+oG,MAAO,SAEX,CACI+qE,SAAU,QACVvjM,MAAO,kCACPkqB,KAAMlY,IAAakD,MAEvB,CACIlV,MAAO,oBACPw4H,MAAO,OACPsgJ,UAAU,EACV5uP,KAAMlY,IAAamB,KACnBA,KAAMgR,KAAiCF,YACvCk4O,SAAU,aAGlBhsI,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOuV,YAAiBvV,OAIpC+nD,SAAUD,YAA2B,CACjCpB,YAAmB,CACfl5E,KAAMpD,KAAmBE,OAE7Bo8E,YAAmB,CACfl5E,KAAMpD,KAAmBC,IACzB+iC,IAAK3lC,KAAiCD,WAAU,OAAAnW,OAAU2uC,KAE9D0mD,YAAmB,CAAEl5E,KAAMpD,KAAmBK,aAElD8nG,eAAgBxhF,KAChBghF,WAAY3oF,KACZ5yB,MAAO,kCACPw6G,iBAAkB,SAAArgH,GAAI,OAAIA,GAC1BmhH,cAAe,SAAAj1F,GACX,IAAM02B,EAAe12B,EAAMh9B,WAAWs9C,MAAQtgB,EAAMh9B,WAAWs9C,KAAKoW,aACpE,OAAQA,GAAgBA,EAAavoD,SAAY,MgFhgDb66S,IAAuB9hT,YAAAkzS,EAClExvR,KAAiCF,YAAc0gQ,GAAwBvmO,wBAAC,GACpEP,GAAI,IACP8vE,WAAYnmG,KAAYE,SACxBjnB,YAAAkzS,EACDxvR,KAAiCD,WAAaygQ,GAAwBvmO,wBAAC,GACnEP,GAAI,IACP8vE,WAAYnmG,KAAYhqB,QACxBiD,YAAAkzS,EAEDzyR,KAA6CC,2B/D/1B3C,SAA4Cya,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OACzD,OAAO,IAAIsxF,IAAa,CACpBE,cAAe80J,KACfjyJ,eAAe,EACf3C,QAAS,CACL,CACIttH,MAAO,uDACPujM,SAAU,OACVoxE,YAAY,EACZupC,UAAW,GACXh0R,KAAMlY,IAAa0D,YAEvB,CACI6tL,SAAU,UACVoxE,YAAY,EACZn8L,UAAW,SAASnrE,GAChB,OAAOA,GAAQA,EAAKkiD,QACd1vD,IAAKC,EAAE,wBACPD,IAAKC,EAAE,0BAEjBoqB,KAAMlY,IAAagD,OACnBwjH,MAAO,QAEX,CACIx4H,MAAO,GACP2nR,aAAc,GACdpkF,SAAU,UACV/qE,MAAO,QACPm8I,YAAY,EACZzqP,KAAMlY,IAAagD,OACnByvP,UAAU,IAGlB32I,kBAAkB,EAClBW,WAAYx1E,IACZuR,WAAYxR,IACZo2E,WAAYl2E,IACZi1E,UAAWjtG,KAA6CC,2BACxDwsG,WAAY9vE,EAAK8vE,WACjBlpB,SAAU,CACNrB,YAAmB,CACfl5E,KAAMpD,KAAmBE,QAGjC9T,MAAO,kDACPi9G,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,oDAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOga,aAAwBha,OAI3C8xE,cAAe,SAAAj1F,GACX,IAAM02B,EAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,cAAiB,GAC7F1oD,EAAcgyB,EAAMh9B,WAAWs9C,KAAKtyC,YAAcgyB,EAAMh9B,WAAWs9C,KAAKtyC,YAAe,GAC7F,OAAOu5D,YAAa1+D,KAAWmF,WAAY,CAAC0oD,eAAc1oD,eAAasyC,Q+DoyBJ2oQ,CAAmCpkQ,YAAC,GAC1GP,KACHp9C,YAAAkzS,EACDzyR,KAA6CE,+B/DlyB3C,SAAgD4d,GAAe,IAAT6e,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAAtkE,OAC7D,OAAO,IAAIkuF,IAAa,CACpBI,QAAS,CACL,CACIttH,MAAO,uDACPujM,SAAU,OACVr5K,KAAMlY,IAAakD,MAEvB,CACIlV,MAAO,oDACPujM,SAAU,UACVoxE,YAAY,EACZzqP,KAAMlY,IAAagD,SAG3By5G,WAAYx1E,IACZuR,WAAYxR,IACZ00E,iBAAkB,SAAArgH,GAAI,OAAIA,GAC1BsgH,WAAY9vE,EAAK8vE,WACjBQ,UAAWjtG,KAA6CC,2BACxDi6D,UAAWl6D,KAA6CC,2BACxDqtG,cAAe,SAAAj1F,GACX,IAAM02B,EAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,cAAiB,GAC7F1oD,EAAcgyB,EAAMh9B,WAAWs9C,KAAKtyC,YAAcgyB,EAAMh9B,WAAWs9C,KAAKtyC,YAAe,GAC7F,OAAOu5D,YAAa1+D,KAAWmF,WAAY,CAAC0oD,eAAc1oD,eAAasyC,Q+D0wBA4oQ,CAAuCrkQ,YAAC,CACnHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAzyR,KAA6CG,iBnE/yB3C,SAAkDua,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OAC/D,OAAO,IAAIsxF,IAAa,CACpBI,QAAS,GACTmB,WAAY3oF,KACZ0kB,WAAY3kB,KACZ6nF,iBAAkB,SAAArgH,GAAI,OAAIA,GAAQA,EAAK4iD,cACvC09D,WAAY9vE,EAAK8vE,WACjBQ,UAAWjtG,KAA6CG,iBACxD+5D,UAAWn9D,KAA2B9W,aACtCqnH,cAAe,SAAAj1F,GAAK,OAAIA,EAAMh9B,WAAWs9C,KAAK3/B,QAAU,MmEsyBKwoS,CAAyCtkQ,YAAC,CACzGuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDzyR,KAA6CM,0BhEn2B3C,SAAmDoa,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OAC1D8gB,EAAOoT,YAAyBjS,EAAK8xF,QAArCjzF,GAER,OAAO,IAAIwwE,IAAa,CACtBE,cAAe80J,KACf50J,QAAS,CACP,CACEttH,MAAO,iDACPujM,SAAU,OACVy1E,mBAAoB,SAAA3rQ,GAAI,OAAGA,EAAK4uM,eAChCzjF,MAAO,QACPqgJ,WAAY,SAEd,CACE74Q,MAAO,oDACPujM,SAAU,UACVu1E,UAAU,EACVtgJ,MAAO,QACPqgJ,WAAY,SAEd,CACE74Q,MAAO,kDACPujM,SAAU,QACVu1E,UAAU,EACVtgJ,MAAO,QACPqgJ,WAAY,SAEd,CACE74Q,MAAO,sDACPujM,SAAU,oBACVu1E,UAAU,EACVtgJ,MAAO,OACPqgJ,WAAY,QAEd,CAEE74Q,MAAO,oBACPujM,SAAU,UACV/qE,MAAO,OACPqgJ,WAAY,OACZ3uP,KAAMlY,IAAakB,MACnBuxP,UAAU,EACVv4M,OAAQ,SAAA7+C,GAAI,OAAIA,EAAK6uM,eAEvB,CACEl8M,MAAO,oBACPw4H,MAAO,OACPsgJ,UAAU,EACVG,cAAc,EACd/uP,KAAMlY,IAAamB,KACnBA,KAAM+N,KAA6CO,8BACnD06O,SAAU,WACVr4J,YAAajkG,IAAKC,EAAE,0DACpBosD,OAAQ,SAAA7+C,GAAI,OAAKA,EAAK4uM,gBAAkB5uM,EAAK6uM,eAE/C,CACEl8M,MAAO,GACP2nR,aAAc,GACdpkF,SAAU,UACVz/F,YAAajkG,IAAKC,EAAE,sDACpBoT,MAAO,CACLwvQ,QAAS,gEACTC,SAAU,+DAEZhO,YAAY,EACZzqP,KAAMlY,IAAagD,OACnB+jQ,YAAY,EACZtU,UAAU,EACVv4M,OAAQ,SAAC7+C,GAAI,OAAIA,EAAK4uM,gBAAkB5uM,EAAK6uM,eAE/C,CACEl8M,MAAO,GACPw4H,MAAO,OACPygJ,cAAc,EACd11E,SAAU,UACVu1E,UAAU,EACVnE,YAAY,EACZoE,YAAY,EACZ7uP,KAAMlY,IAAagD,OACnB9B,MAAO,CACLwvQ,QAAS,gEACTC,SAAU,+DAEZz2N,OAAQ,SAAC7+C,GAAI,OAAIA,EAAK6uM,cACtB88D,mBAAoB,kBAAM,KAG9BvqJ,WAAY3oF,KACZ0kB,WAAY5jB,KACZ0nF,cAAe,IACfc,WAAYjoF,KACZgnF,UAAWjtG,KAA6CM,0BACxDmsG,WAAY9vE,EAAK8vE,WACjBvyC,UAAWn9D,KAA2B9W,aACtCgpH,YAAa,CACX14C,YAAsB,CACpBvkE,MAAO,qCAETukE,YAAsB,CACpBvkE,MAAO,sCAETukE,YAAsB,CACpBH,SAAU,WACR,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOga,aAAwBha,OAIrC+nD,SAAU,CACRrB,YAAmB,CACjBl5E,KAAMpD,KAAmBE,OAE3Bo8E,YAAmB,CACjBl5E,KAAMpD,KAAmBC,IACzB+iC,IAAK5oC,KAA6CQ,6BAA4B,aAAA3T,OAAgB2uC,MAGlGxpC,MAAO,4CACPs7G,cAAe,SAAAj1F,GACb,IAAMumR,EAASvmR,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAa8C,gBAAmB,GACrG+uN,EAAgBvoP,EAAMh9B,WAAWs9C,MAAQtgB,EAAMh9B,WAAWs9C,KAAK16B,eAAkB,GACjFihS,EAA2BN,EAC5B1yS,QAAO,SAAAslD,GAAI,OAAIA,EAAK7Y,KAAK8nB,yBAA2BjP,EAAK7Y,KAAK8nB,wBAAwBK,WAErFq+O,EAAsBv+B,EAAY7wP,KAAI,SAAAyhC,GAC1C,IAAM7pC,EAAOu3R,EAAyBv3R,MAAK,SAAA+4O,GAAC,OAAIA,EAAE/nN,KAAK8nB,wBAAwBK,UAAYtP,EAAKhW,MAChG,OAAA0B,wBAAA,GACKsU,GAAI,IACP7Y,KAAIuE,wBAAA,GACCsU,EAAK7Y,MAAI,IACZ8nB,wBAAyB,CACvBK,QAAStP,EAAKhW,MAGlBA,GAAI7zB,GAAQA,EAAK6zB,GACjB6S,UAAW1mC,EACXqB,KAAMgE,IAAmBI,sBACzB4tL,cAAc,OAIlB,OAAO4jG,EAAM1yS,QAAO,SAAAslD,GAAI,OAAIA,EAAKxoC,OAASgE,IAAmBI,yBAAuBvgB,OAAOsyS,IAAwB,MgEstB3CsC,CAA0CvkQ,YAAC,CACjH+vE,aAActwE,KACjBp9C,YAAAkzS,EACAzyR,KAA6CO,8BAAgCqmQ,GAA6C1pO,YAAC,CACxHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAzyR,KAA6CQ,6BAA+BomQ,GAA6C1pO,YAAC,CACvHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAzyR,KAA6CK,qBep3B3C,SAAiDqa,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OAChE,OAAO,IAAIsxF,IAAa,CACtBI,QAAS,CACP,CACEttH,MAAO,0DACPujM,SAAU,WACVoxE,YAAY,EACZoC,eAAe,EACf7sP,KAAMlY,IAAaiB,WAGvBw7G,WAAY3oF,KACZ0kB,WAAYnjB,KACZqmF,iBAAkB,SAAArgH,GAChB,OAAA+wC,wBAAA,GACM/wC,GAAQ,IAAI,GAAF,CACd4F,SAAU6tD,YAAa1+D,KAAW2C,cAAesI,GAAQA,EAAK4F,aAGlE06G,WAAY9vE,EAAK8vE,WACjBQ,UACEjtG,KAA6CK,qBAC/C65D,UAAWn9D,KAA2B9W,aACtC6mH,eAAe,EACfW,mBAAoB,CAClBw0J,OAAQ,CACNt/K,OAAQ,SAACx2F,EAAM/N,GACbA,EAAQ8J,KACN8X,KAA6CK,qBAC3CjiB,EAAQmD,SAASumB,UAIzBo6P,KAAM,CACJv/K,OAAQ,SAACx2F,EAAM/N,GACbA,EAAQ8J,KACN8X,KAA6CK,qBAC3CjiB,EAAQmD,SAASumB,WAK3By7E,SAAU,CACRrB,YAAmB,CACjBl5E,KAAMpD,KAAmBE,QAG7B9T,MAAO,8CACPi9G,YAAa,CACX14C,YAAsB,CACpBvkE,MAAO,qCAETukE,YAAsB,CACpBvkE,MAAO,sCAETukE,YAAsB,CACpBH,SAAU,WACR,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOga,aAAwBha,OAIrC8xE,cAAe,SAAAj1F,GAAK,OAAIA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB,MfszBO2yP,CAAwCxkQ,YAAC,CAC5GuvE,WAAYnmG,KAAYE,MACrBm2B,KACHp9C,YAAAkzS,EACDzyR,KAA6CS,sBjEj2B3C,SAAkDia,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OACvD8gB,EAAOoT,YAAyBjS,EAAK8xF,QAArCjzF,GAER,OAAO,IAAIwwE,IAAa,CACpBE,cAAe83J,KACf53J,QAAS,CACL,CACIttH,MAAO,mDACPujM,SAAU,kBACV/qH,UAAW,SAAAnrE,GAAI,OAAGs4D,aAAsBt4D,EAAKkkG,kBAAoB,MACjEunK,UAAU,GAEd,CACI94Q,MAAO,uDACPujM,SAAU,aACV/qH,UAAW,SAAAnrE,GAAI,OAAIq4D,aAA0Br4D,EAAKikG,aAClDwnK,UAAU,GAEd,CACI94Q,MAAO,iDACPujM,SAAU,OACV/qH,UAAW,SAAAnrE,GAAI,OAAI03D,aAAqB13D,EAAK6c,OAAS,MACtD4uP,UAAU,GAEd,CACI94Q,MAAO,6CACPujM,SAAU,YACV/qH,UAAW,SAAAnrE,GAAI,OACXA,EAAK8jG,UAAY,EACbx4B,IAAAC,cAACgsL,IAAU,CACPxI,QAAQ,EACRD,SAAU9uP,EAAK8jG,YAAcxiF,KAAUC,QAAU,UAAY,OAC7Dk1E,YACIz2F,EAAK8jG,YAAcxiF,KAAUC,QACvB/uB,IAAKC,EAAE,mDACPD,IAAKC,EAAE,8CAEjBy5P,QAAS5lL,MAEb,MACRmlM,UAAU,GAEd,CACI94Q,MAAO,iDACPujM,SAAU,OACVu1E,UAAU,GAEd,CACI94Q,MAAO,4DACPujM,SAAU,mBACV/qH,UAAW,SAAAnrE,GAAI,OAAGu4D,aAA+Bv4D,EAAKmkG,mBAAqB,MAC3EsnK,UAAU,GAEd,CACI94Q,MAAO,oDACPujM,SAAU,UACVu1E,UAAU,GAEd,CACI94Q,MAAO,kDACPujM,SAAU,QACVu1E,UAAU,GAEd,CACI94Q,MAAO,iDACPujM,SAAU,OACVu1E,UAAU,GAEd,CACI94Q,MAAO,oBACPw4H,MAAO,OACPsgJ,UAAU,EACV5uP,KAAMlY,IAAamB,KACnBA,KAAM+N,KAA6CW,0BACnDs6O,SAAU,WACVr4J,YAAajkG,IAAKC,EAAE,6DAG5B2uH,WAAY3oF,KACZ0kB,WAAYjjB,KACZ4mF,UAAWjtG,KAA6CS,sBACxDgsG,WAAY9vE,EAAK8vE,WACjBW,cAAe,KACflzC,UAAWn9D,KAA2B9W,aACtCs9F,SAAU,CACNrB,YAAmB,CACfl5E,KAAMpD,KAAmBE,OAE7Bo8E,YAAmB,CACfl5E,KAAMpD,KAAmBC,IACzB+iC,IAAK5oC,KAA6CU,yBAAwB,aAAA7T,OAAgB2uC,MAGlGyzE,YAAa,CACT14C,YAAsB,CAClBvkE,MAAO,qCAEXukE,YAAsB,CAClBvkE,MAAO,sCAEXukE,YAAsB,CAClBH,SAAU,WACN,IAAQ56B,EAAOoT,YAAyBC,OAAOttD,SAASumB,QAAhD0zB,GACR,OAAOga,aAAwBha,OAI3CxpC,MAAO,uCACPs7G,cAAe,SAAAj1F,GACX,OAAQA,EAAMh9B,WAAWs9C,KAAKoW,cAAgB12B,EAAMh9B,WAAWs9C,KAAKoW,aAAa7xC,QAAW,MiEovB9BykS,CAAyCzkQ,YAAC,GAC3GP,KACHp9C,YAAAkzS,EACDzyR,KAA6CU,yBAA2BimQ,GAA4CzpO,YAAC,CAClHuvE,WAAYnmG,KAAYhqB,KAAQqgD,KACnCp9C,YAAAkzS,EACAzyR,KAA6CW,0BAA4BgmQ,GAA4CzpO,YAAC,CACnHuvE,WAAYnmG,KAAYE,MAASm2B,KACpCp9C,YAAAkzS,EACAzyR,KAA6CI,wBlEp3B3C,SAAiDsa,GAAe,IAATiiB,EAAIrwC,OAAA6gD,OAAA,IAAAi1C,YAAA1nE,OAChE,OAAO,IAAIsxF,IAAa,CACtBI,QAAS,CACP,CACEttH,MAAO,GACPujM,SAAU,SACV4zE,kBAAmB,kBACnBxC,YAAY,EACZzqP,KAAMlY,IAAac,WAErB,CACE4pC,GAAI,SACJ4wE,QAAS,CACP,CACEttH,MAAO,yDACPujM,SAAU,UACVoxE,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,kEACPujM,SAAU,mBACV+kF,UAAW7xP,KAA0B77B,IACrC+5Q,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,kEACPujM,SAAU,mBACV+kF,UAAW7xP,KAA0B77B,IACrC+5Q,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,yDACPujM,SAAU,UACVoxE,YAAY,EACZzqP,KAAMlY,IAAasD,WAGvBq/P,YAAY,EACZzqP,KAAMlY,IAAaY,OAErB,CACE5S,MAAO,oEACPujM,SAAU,2BACVoxE,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,iEACPujM,SAAU,kBACVoxE,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,wDACPujM,SAAU,aACVoxE,YAAY,EACZlQ,UAAU,EACVv6O,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,sDACPujM,SAAU,OACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,uDACPujM,SAAU,QACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAGrB,CACElV,MAAO,wDACPujM,SAAU,SACVkhE,UAAU,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,gEACPujM,SAAU,iBACVkhE,UAAU,EACVkQ,YAAY,EACZzqP,KAAMlY,IAAagD,QAErB,CACEhV,MAAO,uDACPujM,SAAU,QACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,6DACPujM,SAAU,cACVoxE,YAAY,EACZzqP,KAAMlY,IAAayD,UAErB,CACEzV,MAAO,uDACPujM,SAAU,QACVoxE,YAAY,EACZzqP,KAAMlY,IAAakD,MAErB,CACElV,MAAO,yDACPujM,SAAU,UACVoxE,YAAY,EACZzqP,KAAMlY,IAAa8B,QAErB,CACE9T,MAAO,yDACPujM,SAAU,UACVoxE,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","file":"static/js/main.647073a1.chunk.js","sourcesContent":["import i18n from '../i18n';\n\nexport const TYPE_STORE_DATA = {\n orders: 0,\n noAssistanceOrders: 1,\n couriers: 2,\n billingInfo: 3,\n};\n\nexport const STATUSES = {\n notInitialized: 0,\n inProcess: 1,\n success: 2,\n failed: 3,\n};\n\nexport const COURIER_LOCATION_COLORS = {\n yellow: 'yellow',\n red: 'red',\n green: 'green',\n};\n\nexport const COURIER_LOCATION_STATE = {\n lost: 0,\n standing: 1,\n moving: 2,\n};\n\nexport const CYCLE_STATE = {\n started: 0,\n approved: 1,\n deliveryStart: 2,\n comingBack: 3,\n closed: 4,\n away: 5,\n};\n\nexport const GROUPING_STRATEGY = {\n courierBased: 0,\n immediateCooking: 1,\n onDemand: 2,\n};\n\nexport const ICONS_MARKER_TYPE = {\n empty: 1,\n point: 2,\n checked: 3,\n canseled: 4,\n};\n\nexport const ICONS_COURIER_MARKER = {\n courier: 1,\n courierletter: 2,\n courierlight: 3,\n};\n\nexport const TYPE_MARKER = {\n restaurant: 'restaurant',\n depot: 'depot',\n courier: 'courier',\n order: 'order',\n place: 'place',\n serviceCity: 'serviceCity',\n depotFromBusiness: 'depotFromBusiness',\n};\n\nexport const DELIVERY_STRATEGY = {\n asap: 0,\n concreteTime: 1,\n};\n\nexport const DEFAULT_ORDERS_GROUPS = {\n groups: 'groups',\n courierGroup: 'courierGroup',\n assistance: 'assistance',\n takeawayOrders: 'takeawayOrders',\n preOrders: 'preOrders',\n Unsorted: 'Unsorted',\n};\n\nexport const ORDER_STATE = {\n new: 0,\n kitchen: 1,\n ready: 2,\n onroute: 3,\n delivered: 4,\n canceled: 5,\n};\n\nexport const ORDER_TYPE = {\n delivery: 0,\n takeAway: 1,\n pickUp: 2,\n};\n\nexport const DELIVERY_TYPE = {\n delivery: 1,\n takeAway: 2,\n dinein: 4,\n}\n\nexport const PICKUP_STATE = {\n pending: 0,\n arrived: 1,\n};\n\nexport const PENDING_ORDER_TYPE = {\n any: 0,\n delivery: 1,\n takeAway: 2,\n virtual: 3,\n dinein: 4,\n};\n\nexport const ADMIN_ORDER_DELIVERY_TYPE = {\n default: 0,\n delivered: 1,\n};\n\nexport const OFFER_SOURCE_TYPE = {\n business: 0,\n account: 1,\n};\n\nexport const ACCOUNT_ORDER_STATUS = {\n pending: 0,\n accepted: 1,\n ready: 2,\n delivering: 3,\n finished: 4,\n canceled: 5,\n};\n\nexport const ORDER_PROCESS_STEP = {\n waitingForApproval: 0,\n waitingForCourierAssignment: 1,\n waitingForPickup: 2,\n delivering: 3,\n processingFinished: 4,\n};\n\nexport const PENDING_ORDERS_FILTER_TYPE = {\n pending: 'pending',\n cooking: 'cooking',\n ready: 'ready',\n preorders: 'preorders',\n history: 'history',\n active: 'active',\n delivering: 'delivering',\n};\n\nexport const getAccountOrderStatusList = () => [\n { key: ACCOUNT_ORDER_STATUS.pending, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.pending) },\n { key: ACCOUNT_ORDER_STATUS.accepted, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.accepted) },\n { key: ACCOUNT_ORDER_STATUS.ready, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.ready) },\n { key: ACCOUNT_ORDER_STATUS.delivering, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.delivering) },\n { key: ACCOUNT_ORDER_STATUS.finished, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.finished) },\n { key: ACCOUNT_ORDER_STATUS.canceled, value: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.canceled) },\n];\n\nexport function getAccountOrderStatusTitle(status) {\n switch (status) {\n case ACCOUNT_ORDER_STATUS.pending:\n return i18n.t('enums.accountOrderStatus.PENDING');\n case ACCOUNT_ORDER_STATUS.accepted:\n return i18n.t('enums.accountOrderStatus.ACCEPTED');\n case ACCOUNT_ORDER_STATUS.ready:\n return i18n.t('enums.accountOrderStatus.READY');\n case ACCOUNT_ORDER_STATUS.delivering:\n return i18n.t('enums.accountOrderStatus.DELIVERING');\n case ACCOUNT_ORDER_STATUS.finished:\n return i18n.t('enums.accountOrderStatus.FINISHED');\n case ACCOUNT_ORDER_STATUS.canceled:\n return i18n.t('enums.accountOrderStatus.CANCELED');\n default:\n return '';\n }\n}\n\nexport function getAccountOrderStatusInfo(order) {\n const title = getAccountOrderStatusTitle((order || {}).status);\n switch ((order || {}).status) {\n case ACCOUNT_ORDER_STATUS.pending:\n return {\n title: (order || {}).cooking\n ? i18n.t(\"pending-orders.COOKING\")\n : title,\n icon: (order || {}).cooking ? \"orderStatusCooking\" : \"orderStatusNotCooking\"\n };\n case ACCOUNT_ORDER_STATUS.accepted:\n return {\n title: (order || {}).cooking\n ? i18n.t(\"pending-orders.COOKING\")\n : title,\n icon: (order || {}).cooking ? \"orderStatusCooking\" : \"orderStatusNotCooking\"\n };\n case ACCOUNT_ORDER_STATUS.ready:\n return { title, icon: \"orderStatusReady\" };\n case ACCOUNT_ORDER_STATUS.finished:\n return { title, icon: \"orderStatusFinished\" };\n case ACCOUNT_ORDER_STATUS.canceled:\n return { title, icon: \"orderStatusCanceled\" };\n default:\n return {};\n }\n}\n\nexport function getAccountOrderDeliveryStrategyList() {\n return [\n { key: DELIVERY_STRATEGY.asap, value: i18n.t('enums.accountOrderDeliveryStrategy.ASAP') },\n { key: DELIVERY_STRATEGY.concreteTime, value: i18n.t('enums.accountOrderDeliveryStrategy.CONCRETETIME') },\n ];\n}\n\nexport function getOfficeSourceTypes() {\n return [\n { key: OFFER_SOURCE_TYPE.business, value: i18n.t('enums.officeSourceType.BUSINESS') },\n { key: OFFER_SOURCE_TYPE.account, value: i18n.t('enums.officeSourceType.ACCOUNT') },\n ];\n}\n\nexport const SHIFT_TYPE = {\n Normal: 0,\n Backup: 1,\n ControlCenter: 2,\n};\n\nexport const SHIFT_TYPE_VALUES = {\n [SHIFT_TYPE.Normal]: i18n.t('shifts.type.NORMAL'),\n [SHIFT_TYPE.Backup]: i18n.t('shifts.type.BACKUP'),\n [SHIFT_TYPE.ControlCenter]: i18n.t('shifts.type.CONTROL_CENTER'),\n}\n\nexport const ORDER_STATE_COLOR = {\n blue: 'blue',\n white: 'white',\n};\n\nexport const SINGLE_EVENTS = {\n pusherEvent: 'pusherEvent',\n};\n\nexport const TYPE_NOTIFICATION = {\n notificationType: 0,\n warningType: 1,\n errorType: 2,\n importantWarningType: 4,\n};\n\nexport const SEVERITY_NOTIFICATION = {\n lostCommunication: 0,\n orderNotDeliveredInTime: 1,\n courierLost: 2,\n boxLost: 3,\n courierStopped: 4,\n orderCanLate: 5,\n assistanceExists: 6,\n courierCommingBack: 7,\n courierReadyToDispatch: 8,\n courierWrongRoute: 9,\n consumerOrderCreated: 10,\n orderIsNotAssignedTimeout: 11,\n};\n\nexport const NOTIFICATION_COLOR_TYPE = {\n red: '#ff5b2e',\n blue: '#007aff',\n};\n\nexport const SOUND_NOTIFICATION = {\n [SEVERITY_NOTIFICATION.assistanceExists]: 'sounds.soundNotification.ASSISTANCE_ADDED_SOUND',\n [SEVERITY_NOTIFICATION.courierCommingBack]: 'sounds.soundNotification.COURIER_COMING_BACK_SOUND',\n [SEVERITY_NOTIFICATION.orderNotDeliveredInTime]: 'sounds.soundNotification.ORDER_ERROR_SOUND',\n [SEVERITY_NOTIFICATION.orderCanLate]: 'sounds.soundNotification.ORDER_WARNING_SOUND',\n [SEVERITY_NOTIFICATION.courierReadyToDispatch]: 'sounds.soundNotification.READY_COURIER_SOUND',\n [SEVERITY_NOTIFICATION.orderIsNotAssignedTimeout]: 'sounds.soundNotification.ORDER_NOT_ASSIGNED_SOUND',\n [SEVERITY_NOTIFICATION.courierWrongRoute]: 'sounds.soundNotification.COURIER_WRONG_ROUTE_SOUND',\n [SEVERITY_NOTIFICATION.consumerOrderCreated]: 'sounds.soundNotification.CONSUMER_ORDER_CREATED_SOUND',\n newConsumerOrderCreatedFromLoop: 'sounds.soundNotification.NEW_ORDER_CREATED',\n newOrderCreated: 'sounds.soundNotification.NEW_ORDER_CREATED',\n newUnreadMessage: 'sounds.soundNotification.NEW_UNREAD_MESSAGE',\n newDialogItem: 'sounds.soundNotification.NEW_DIALOG_ITEM',\n};\n\nexport const SOUND_ERRORS = {\n notAllowedError: 'NotAllowedError',\n};\n\nexport const MODEL_TYPE = {\n order: 'order',\n orderEdit: 'orderEdit',\n referralSettings: 'referralSettings',\n categoryProductModelOverride: 'categoryProductModelOverride',\n address: 'address',\n location: 'location',\n payments: 'payments',\n content: 'content',\n controlCenterInfo: 'controlCenterInfo',\n externalCycleModel: 'externalCycleModel',\n driverInfoModel: 'driverInfoModel',\n routeEstimation: 'routeEstimation',\n addon: 'addon',\n user: 'user',\n cloudPrinters: 'cloudPrinters',\n depot: 'depotModel',\n region: 'regionModel',\n providers: 'providersModel',\n reshipmentOrder: 'reshipmentOrder',\n userServerModel: 'userServerModel',\n restaurantRegionServerModel: 'restaurantRegionServerModel',\n depotUserModel: 'depotUserModel',\n depotDeliveryPriceModel: 'depotDeliveryPriceModel',\n depotDeliveryPriceServerModel: 'depotDeliveryPriceServerModel',\n regionDeliveryPriceModel: 'regionDeliveryPriceModel',\n travelDataModel: 'travelDataModel',\n namedPlaces: 'namedPlaces',\n serviceCities: 'serviceCities',\n shifts: 'shifts',\n currentShift: 'currentShift',\n deliveryZoneModel: 'deliveryZoneModel',\n offerModel: 'offerModel',\n businessInfoModel: 'businessInfoModel',\n categoryModelOverride: 'categoryModelOverride',\n categoryModelForOverride: 'categoryModelForOverride',\n categoryModel: 'categoryModel',\n categoryProductModel: 'categoryProductModel',\n categoryProductModelForOverride: 'categoryProductModelForOverride',\n productOptionModel: 'productOptionModel',\n extraModel: 'extraModel',\n extraModelOverride: 'extraModelOverride',\n optionModelOverride: 'optionModelOverride',\n suboptionsOverride: 'suboptionsOverride',\n extraSuboptionModel: 'extraSuboptionModel',\n scheduleModel: 'scheduleModel',\n refundModel: 'refundModel',\n serviceFeeModel: 'serviceFeeModel',\n cancelOrderModel: 'cancelOrderModel',\n courierDeliveryFees: 'courierDeliveryFees',\n courierDeliveryFeesServer: 'courierDeliveryFeesServer',\n listPromotionModel: 'listPromotionModel',\n depotIntegrationModel: 'depotIntegrationModel',\n depotIntegrationServerModel: 'depotIntegrationServerModel',\n serviceFeeServerModel: 'serviceFeeServerModel',\n listPromotionServerModel: 'listPromotionServerModel',\n refundServerModel: 'refundServerModel',\n extraSuboptionServerModel: 'extraSuboptionServerModel',\n extraServerModel: 'extraServerModel',\n productOptionServerModel: 'productOptionServerModel',\n categoryProductServerModel: 'categoryProductServerModel',\n categoryServerModel: 'categoryServerModel',\n businessInfoServerModel: 'businessInfoServerModel',\n namedPlacesServerModel: 'namedPlacesServerModel',\n contentServerModel: 'contentServerModel',\n assistanceServerModel: 'assistanceServerModel',\n addonServerModel: 'addonServerModel',\n addressServerModel: 'addressServerModel',\n locationServerModel: 'locationServerModel',\n credentialsServerModel: 'credentialsServerModel',\n depotServerModel: 'depotServerModel',\n visualSettingsServerModel: 'visualSettingsServerModel',\n shiftServerModel: 'shiftServerModel',\n currentShiftDepotServerModel: 'currentShiftDepotServerModel',\n currentShiftServerModel: 'currentShiftServerModel',\n controlCenterActivateServerModel: 'controlCenterActivateServerModel',\n controlCenterDeactivateServerModel: 'controlCenterDeactivateServerModel',\n controlCenterEdit: 'controlCenterEdit',\n adminOrderProductServerModel: 'adminOrderProductServerModel',\n driverTip: 'driverTip',\n marketplacePages: 'marketplacePages',\n menuTemplate: 'menuTemplate',\n depotsMenuCopy: 'depotsMenuCopy',\n marketplace: 'marketplace',\n marketplaceSettings: 'marketplaceSettings',\n parentMenu: 'parentMenu',\n reviewExtra: 'reviewExtra',\n billingAddressModel: 'billingAddressModel',\n gallery: 'gallery',\n provider: 'provider',\n operationTiming: 'operationTiming',\n extraModelWithOverrides: 'extraModelWithOverrides',\n optionModelWithOverrides: 'optionModelWithOverrides',\n suboptionsModelWithOverrides: 'suboptionsModelWithOverrides',\n courierAppSettings: 'courierAppSettings',\n courierDisplaySettings: 'courierDisplaySettings',\n courierInterfaceSettings: 'courierInterfaceSettings',\n courierConfirmationSettings: 'courierConfirmationSettings',\n courierConfirmationSettingsServerModel: 'courierConfirmationSettingsServerModel',\n messageGallery: 'messageGallery',\n messageGalleryServerModel: 'messageGalleryServerModel',\n editCustomerOrder: 'editCustomerOrder',\n consumerServerModel: 'consumerServerModel',\n fleet: 'fleetModel',\n fleetTelemetry: 'fleetTelemetryModel',\n marketplaceCampaignModel: 'marketplaceCampaignModel',\n reconciliations: 'reconciliations',\n reconciliationsSettingsTemplateModel: 'reconciliationsSettingsTemplateModel',\n reconciliationsPeriodsTemplateModel: 'reconciliationsPeriodsTemplateModel',\n reconciliationsPeriodTemplateModel: 'reconciliationsPeriodTemplateModel',\n creditCard: 'creditCard',\n loyaltyRegisterVoucher: 'loyaltyRegisterVoucher',\n loyaltyRegisterVoucherServerModel: 'loyaltyRegisterVoucherServerModel',\n};\n\n// Loyalty campaign\n\nexport const CAMPAIGN_TYPES = {\n push: 0,\n}\n\nexport const CAMPAIGN_RECURRING_TYPES = {\n none: 0,\n daily: 1,\n weekly: 2,\n biWeekly: 3,\n monthly: 4\n}\n\nexport const CAMPAIGN_AUDIENCE_FILTER_TYPES = {\n equal: 1,\n notEqual: 2,\n less: 3,\n more: 4,\n lessOrEqual: 5,\n moreOrEqual: 6\n}\n\nexport const CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES = {\n creationDateTime: 0,\n birthdate: 1,\n consumerProfile_FirstOrderDate: 2,\n consumerProfile_LastOrderDate: 3,\n consumerProfile_LastRatingDate: 11\n}\n\nexport const CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES = {\n language: 4,\n gender: 5,\n currentTerritory: 6,\n depot: 18,\n consumerProfile_LastDepot: 19,\n consumerProfile_LastTerritory: 20,\n}\n\nexport const CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES = {\n consumerProfile_TotalOrders: 7,\n consumerProfile_TotalTakeAwayOrders: 8,\n consumerProfile_TotalDeliveryOrders: 9,\n consumerProfile_AverageOrderAmount: 10,\n consumerProfile_AmountOfPositiveReviews: 12,\n consumerProfile_AmountOfNegativeReviews: 13,\n consumerProfile_AmountOfPositiveDeliveryReviews: 14,\n consumerProfile_AmountOfNegativeDeliveryReviews: 15,\n consumerProfile_LastRating: 16,\n consumerProfile_LastDeliveryRating: 17,\n loyaltyLevel: 21,\n}\n\nexport const CAMPAIGN_PERIOD_TYPES = {\n hours: 'hours',\n days: 'days',\n weeks: 'weeks',\n months: 'months'\n}\n\nexport const getCampaignTypes = () => [\n // { key: CAMPAIGN_TYPES.email, value: i18n.t('enums.campaign.CAMPAIGN_TYPE_EMAIL') },\n { key: CAMPAIGN_TYPES.push, value: i18n.t('enums.campaign.CAMPAIGN_TYPE_PUSH') },\n];\n\nexport const AUDIENCE_FILTER_SELECT_GROUP_TYPES = {\n lookup: 0,\n timeSpan: 1,\n numeric: 2\n}\n\nexport const AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES = {\n yesterday: -1,\n today: 0,\n tomorrow: 1,\n after: 2,\n before: 3\n}\n\nexport const CAMPAIGN_EXECUTION_STATE_TYPES= {\n pending: 0,\n active: 1,\n finished: 2\n}\n\nexport const CAMPAIGN_GANDER = {\n male: '0',\n female: '1',\n}\n\nexport const CAMPAIGN_AUDIENCE_FILTER_TYPE = {\n ByChannel: 'By Channel',\n ByCriteria: 'By Criteria'\n}\n\nexport const CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPES = {\n All: 1,\n Anonymous: 2\n}\n\nexport const getAudienceFilterType = () => [\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPE.ByChannel, value: i18n.t('enums.campaign.CAMPAIGN_AUDIENCE_FILTER_TYPE_BY_CHANNEL') },\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPE.ByCriteria, value: i18n.t('enums.campaign.CAMPAIGN_AUDIENCE_FILTER_TYPE_BY_CRITERIA') },\n]\n\nexport const getAudienceFilterChannel = () => [\n { key: CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPES.All, value: i18n.t('enums.campaign.CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPE_ALL') },\n { key: CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPES.Anonymous, value: i18n.t('enums.campaign.CAMPAIGN_AUDIENCE_FILTER_CHANNEL_TYPE_ANONYMOUS') },\n]\n\nexport const getAudienceFilterSelectTypes = (isRemoveTerritories = false) => {\n let defaultSelect = [\n //Lookup\n { value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_GROUP_LABEL'), isGroupTitle: true },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.language, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_LANGUAGE') },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.gender, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_GENDER') },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.currentTerritory, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_CURRENT_TERRITORY') },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.depot, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_DEPOT') },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.consumerProfile_LastDepot, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_LAST_DEPOT') },\n { key: CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.consumerProfile_LastTerritory, value: i18n.t('enums.campaign.AUDIENCE_LOOKUP_TYPES_LAST_TERRITORY') },\n //TimeSpan\n { value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_GROUP_LABEL'), isGroupTitle: true },\n { key: CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES.creationDateTime, value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_TYPES_CREATION_DATE_TIME') },\n { key: CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES.birthdate, value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_TYPES_BIRTH_DATE') },\n { key: CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES.consumerProfile_FirstOrderDate, value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_TYPES_FIRST_ORDER_DATE') },\n { key: CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES.consumerProfile_LastOrderDate, value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_TYPES_LAST_ORDER_DATE') },\n { key: CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES.consumerProfile_LastRatingDate, value: i18n.t('enums.campaign.AUDIENCE_TIME_SPAN_TYPES_LAST_RATING_DATE') },\n //Numeric\n { value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_GROUP_LABEL'), isGroupTitle: true },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_TotalOrders, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_TOTAL_ORDERS') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_TotalTakeAwayOrders, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_TOTAL_TAKE_AWAY_ORDERS') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_TotalDeliveryOrders, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_TOTAL_DELIVERY_ORDERS') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_AverageOrderAmount, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_AVERAGE_ORDER_AMOUNT') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_AmountOfPositiveReviews, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_AMOUNT_OF_POSITION_REVIEW') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_AmountOfNegativeReviews, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_AMOUNT_OF_NEGATIVE_REVIEW') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_AmountOfPositiveDeliveryReviews, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_AMOUNT_OF_POSITIVE_DELIVERY_REVIEWS') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_AmountOfNegativeDeliveryReviews, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_AMOUNT_OF_NEGATIVE_DELIVERY_REVIEWS') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_LastRating, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_LAST_RATING') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.consumerProfile_LastDeliveryRating, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_LAST_DELIVERY_RATING') },\n { key: CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.loyaltyLevel, value: i18n.t('enums.campaign.AUDIENCE_NUMERIC_TYPES_LOYALTY_LEVEL') },\n ];\n\n if(isRemoveTerritories) {\n defaultSelect = defaultSelect.filter(item =>\n ![CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.currentTerritory, CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.consumerProfile_LastTerritory].includes(item.key)\n )\n }\n\n return defaultSelect\n}\n\nexport const audienceFilterTimeStampTypes = () => Object.values(CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES);\n\nexport const getCampaignRecurringTypes = () => [\n { key: CAMPAIGN_RECURRING_TYPES.none, value: i18n.t('enums.campaign.RECURRING_TYPES_NONE') },\n { key: CAMPAIGN_RECURRING_TYPES.daily, value: i18n.t('enums.campaign.RECURRING_TYPES_DAILY') },\n { key: CAMPAIGN_RECURRING_TYPES.weekly, value: i18n.t('enums.campaign.RECURRING_TYPES_WEEKLY') },\n { key: CAMPAIGN_RECURRING_TYPES.biWeekly, value: i18n.t('enums.campaign.RECURRING_TYPES_BI_WEEKLY') },\n { key: CAMPAIGN_RECURRING_TYPES.monthly, value: i18n.t('enums.campaign.RECURRING_TYPES_MONTHLY') },\n];\n\nexport const getAudienceFilterTypes = (isLookupOnly = false, timestamp) => {\n const lookupTypes = [\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.equal, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_EQUAL`) },\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.notEqual, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_NOT_EQUAL`) },\n ]\n\n if(isLookupOnly) {\n return lookupTypes\n }\n\n return [\n ...lookupTypes,\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.less, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_LESS`) },\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.more, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_MORE`) },\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.lessOrEqual, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_LESS_OR_EQUAL`) },\n { key: CAMPAIGN_AUDIENCE_FILTER_TYPES.moreOrEqual, value: i18n.t(`enums.campaign.${timestamp ? 'TIMESTAMP_' : ''}AUDIENCE_FILTER_TYPES_MORE_OR_EQUAL`) },\n ]\n}\n\nexport const getCampaignPeriodTypes = () => [\n { key: CAMPAIGN_PERIOD_TYPES.hours, value: i18n.t('enums.campaign.CAMPAIGN_PERIOD_TYPES_HOUR') },\n { key: CAMPAIGN_PERIOD_TYPES.days, value: i18n.t('enums.campaign.CAMPAIGN_PERIOD_TYPES_DAY') },\n { key: CAMPAIGN_PERIOD_TYPES.weeks, value: i18n.t('enums.campaign.CAMPAIGN_PERIOD_TYPES_WEEK') },\n { key: CAMPAIGN_PERIOD_TYPES.months, value: i18n.t('enums.campaign.CAMPAIGN_PERIOD_TYPES_MONTH') },\n]\n\nexport const getCampaignDaysOffsetTypes = () => [\n { key: AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.yesterday, value: i18n.t('enums.campaign.AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES_YESTERDAY') },\n { key: AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.today, value: i18n.t('enums.campaign.AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES_TODAY') },\n { key: AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.tomorrow, value: i18n.t('enums.campaign.AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES_TOMORROW') },\n { key: AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after, value: i18n.t('enums.campaign.AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES_AFTER') },\n { key: AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.before, value: i18n.t('enums.campaign.AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES_BEFORE') },\n]\n\nexport const getCampaignGenders = () => ([\n {key: CAMPAIGN_GANDER.male, value: i18n.t('gender.MALE')},\n {key: CAMPAIGN_GANDER.female, value: i18n.t('gender.FEMALE')},\n]);\n\n// Loyalty campaign end\n\nexport const WAITER_TYPES = {\n button: 'button',\n buttonSvg: 'buttonSvg',\n buttonSpan: 'buttonSpan',\n buttonDiv: 'buttonDiv',\n svg: 'svg',\n span: 'span',\n};\n\nexport const RESTAURANT_STATES = {\n autoMode: 0,\n manualMode: 1,\n};\n\nexport const COURIER_ASSOCIATION_MODE = {\n push: 0,\n pull: 1,\n manualPull: 2,\n autoPuch: 3\n};\n\nexport const COURIER_GROUP_MODEL_TYPE = {\n onRouteGroup: 0,\n approvedGroup: 1,\n comingBackGroup: 2,\n awayGroup: 3,\n waitingGroup: 4,\n backupGroup: 5,\n externalCycle: 6,\n};\n\nexport const CONFIRM_DIALOG_TYPE = {\n goAwayShift: 0,\n cancelShift: 1,\n finishShift: 2,\n deleteItem: 3,\n reload: 4,\n default: 5,\n};\n\nexport const COURIER_STATE = {\n startBackup: 'startBackup',\n startShift: 'startShift',\n endShift: 'endShift',\n cancelShift: 'cancelShift',\n finishShift: 'finishShift',\n goAwayShift: 'goAwayShift',\n endBackup: 'endBackup',\n default: null,\n};\n\nexport const PUBLIC_DATA_KEYS = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n tokenType: 'tokenType',\n rememberMe: 'rememberMe',\n currentUserName: 'currentUserName',\n};\n\nexport const COUNTRY_CURRENCY_CODES = {\n IL: 'ILS',\n ME: 'EUR',\n RS: 'EUR',\n RU: 'RUB',\n UA: 'UAH',\n US: 'USD',\n RO: 'RON',\n MX: 'MXN',\n KZ: 'KZT',\n};\n\nexport const DATECONTROL_TYPE = {\n time: 'time',\n date: 'date',\n datetime: 'datetime',\n};\n\nexport const SHOW_DROPDOWN_NAME = {\n history: 0,\n suggest: 1,\n};\n\nexport function groupingStrategies() {\n return [\n {\n key: 0,\n value: i18n.t('settings.settings.numericalSettings.ALGO_STRATEGY_COURIER_BASED'),\n },\n {\n key: 1,\n value: i18n.t('settings.settings.numericalSettings.ALGO_STRATEGY_IMMEDIATE_COOKING'),\n },\n {\n key: 2,\n value: i18n.t('settings.settings.numericalSettings.ALGO_STRATEGY_IMMEDIATE_COOKING_ON_DEMAND'),\n },\n ];\n}\n\nexport function optimizationStrategies() {\n return [\n {\n key: 0,\n value: i18n.t('settings.settings.numericalSettings.ALGO_OPTIMIZATION_STRATEGY_BY_TIME'),\n },\n {\n key: 1,\n value: i18n.t('settings.settings.numericalSettings.ALGO_OPTIMIZATION_STRATEGY_BY_DISTANCE'),\n },\n ];\n}\n\nexport function courierAssociationModes() {\n return [\n {\n key: 0,\n value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_PUSH'),\n },\n {\n key: 1,\n value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_PULL'),\n },\n // {\n // key: 2,\n // value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_MANUAL_PULL'),\n // },\n {\n key: 3,\n value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_AUTO_PUSH'),\n },\n // {\n // key: 5,\n // value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_AUTO_PUSH_WITH_CONFIRM'),\n // },\n {\n key: 4,\n value: i18n.t('settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE_LINES_AUTO_PUSH'),\n }\n ];\n}\n\nexport function languages() {\n return [\n {\n key: \"en\",\n value: \"English\"\n },\n {\n key: \"he\",\n value: \"Hebrew\"\n },\n {\n key: \"de\",\n value: \"Deutsch\"\n },\n {\n key: \"ru\",\n value: \"Russian\"\n },\n {\n key: \"es\",\n value: \"Spanish\"\n },\n {\n key: \"el\",\n value: \"Greek\"\n },\n {\n key: \"ar\",\n value: \"Arabian\"\n },\n {\n key: \"pl\",\n value: \"Polish\",\n },\n {\n key: \"uk\",\n value: \"Ukrainian\",\n }\n ];\n}\n\nexport function sellerBankCodes() {\n return [\n { key: 4, value: 'בנק יהב לעובדי המדינה' },\n { key: 9, value: 'בנק הדואר' },\n { key: 10, value: 'בנק לאומי' },\n { key: 11, value: 'בנק דיסקונט' },\n { key: 12, value: 'בנק הפועלים' },\n { key: 13, value: 'בנק אגוד לישראל' },\n { key: 14, value: 'בנק אוצר החייל' },\n { key: 17, value: 'בנק מרכנתיל דסקונט' },\n { key: 20, value: 'בנק מזרחי-טפחות' },\n { key: 22, value: 'סיטיבנק' },\n { key: 23, value: 'HSBC' },\n { key: 26, value: 'UBANK' },\n { key: 31, value: 'הבין לאומי הראשון' },\n { key: 34, value: 'בנק ערבי ישראלי' },\n { key: 39, value: 'בנק אוף אינדיה' },\n { key: 46, value: 'בנק מסד' },\n { key: 52, value: 'בנק פאגי' },\n { key: 54, value: 'בנק ירושלים' },\n { key: 68, value: 'דקסיה ישראל' },\n { key: 77, value: 'בנק לאומי למשכנתאות' },\n { key: 90, value: 'בנק דיסקונט למשכנתאות' },\n { key: 91, value: 'משכן בנהפ למשכנתאות' },\n { key: 92, value: 'הבין לאומי למשכנתאות' },\n ];\n}\n\nexport function sellerPersonBusinessTypes() {\n return [\n { key: 1608, value: 'אביזרי אופנה' },\n { key: 1816, value: 'שירותי ייעוץ' },\n { key: 1313, value: 'אהילים ונברשות' },\n { key: 1504, value: 'אולם שמחות' },\n { key: 1408, value: 'אופטיקה' },\n { key: 119, value: 'אופנועים' },\n { key: 114, value: 'אופניים' },\n { key: 1118, value: 'שמרטפים' },\n { key: 1507, value: 'אכסניות וכפרי נופש' },\n { key: 1511, value: 'אסטרולוגיה גרפולוגיה' },\n { key: 1814, value: 'ארנק אלקטרוני' },\n { key: 1212, value: 'ארנקים תיקים ומזודות' },\n { key: 1510, value: 'אתרי בידור' },\n { key: 1201, value: 'בגדי גברים' },\n { key: 1203, value: 'בגדי ילדים' },\n { key: 1202, value: 'בגדי נשים' },\n { key: 1207, value: 'בדי רפוד' },\n { key: 1213, value: 'בדים וטכסטיל' },\n { key: 1106, value: 'בזאר' },\n { key: 1705, value: 'בזק' },\n { key: 1606, value: 'בטוח' },\n { key: 1709, value: 'ביטוח לאומי' },\n { key: 1822, value: 'בית לוויות' },\n { key: 1615, value: 'בית ספר לנהיגה' },\n { key: 1831, value: 'בניית אתרי אינטרנט' },\n { key: 1105, value: 'בשר דגים ועופות' },\n { key: 1512, value: 'בתי דפוס' },\n { key: 1506, value: 'בתי הבראה ומרגוע' },\n { key: 1001, value: 'בתי כל בו' },\n { key: 1004, value: 'בתי כל בו ארציים' },\n { key: 1505, value: 'בתי מלון ופנסיון' },\n { key: 1406, value: 'בתי מרקחת' },\n { key: 1818, value: 'בתי מרקחת חו\"ל' },\n { key: 1114, value: 'בתי ספר' },\n { key: 1503, value: 'בתי קפה ומילק בר' },\n { key: 1627, value: 'גלידריות' },\n { key: 1314, value: 'גלריות' },\n { key: 1836, value: 'גמח הלוואות' },\n { key: 1220, value: 'גני ילדים' },\n { key: 1508, value: 'דיסקוטק, פאבים' },\n { key: 1321, value: 'דלק לחימום ביתי' },\n { key: 116, value: 'דלק שרות עצמי' },\n { key: 1003, value: 'דרגאסטורים' },\n { key: 1125, value: 'דשנים וכימיקלים' },\n { key: 1120, value: 'הובלות והסעות' },\n { key: 1513, value: 'הוצאות לאור' },\n { key: 1607, value: 'היכרויות ושדוכים' },\n { key: 1800, value: 'היפר שוק תנובה' },\n { key: 1200, value: 'עצוב אפנה ' },\n { key: 1803, value: 'הלוואות פקדונות חסכו' },\n { key: 1804, value: 'העברת כספים לכרטיס' },\n { key: 1830, value: 'תקליטן DJ' },\n { key: 1620, value: 'הרבלייף' },\n { key: 1311, value: 'השכרת רכב' },\n { key: 117, value: 'וידאו אוטומט' },\n { key: 1215, value: 'וילונות ודקורטיבים' },\n { key: 1621, value: 'ועדי בתים' },\n { key: 1419, value: 'חב. ציי רכב )כ. דלק(' },\n { key: 1625, value: 'חברות בניה' },\n { key: 1704, value: 'חברות עירוניות' },\n { key: 118, value: 'חברות תעופה' },\n { key: 1707, value: 'חברת חשמל' },\n { key: 1415, value: 'חומרי ניקוי' },\n { key: 1413, value: 'חיות' },\n { key: 1630, value: 'חלפני כספים' },\n { key: 1310, value: 'חלקי חלוף לרכב' },\n { key: 1315, value: 'חנויות ללא מכס' },\n { key: 1509, value: 'חניוני נופש' },\n { key: 1808, value: 'חניונים' },\n { key: 1113, value: 'שירותי בטחון ושמירה' },\n { key: 1412, value: 'טבק וצרכי עישון' },\n { key: 1626, value: 'טלפונים סלולריים' },\n { key: 1214, value: 'טפטים' },\n { key: 1210, value: 'כובעים' },\n { key: 1300, value: 'כלי בית ומטבח' },\n { key: 1217, value: 'כלי מיטה' },\n { key: 1414, value: 'כלי נגינה ותקליטים' },\n { key: 1401, value: 'כלי עבודה ובנין צבע' },\n { key: 1309, value: 'כלי רכב' },\n { key: 1205, value: 'לבני נשים וגברים' },\n { key: 1825, value: 'לוטו טוטו' },\n { key: 1622, value: 'ליסינג' },\n { key: 1806, value: 'מבוגרים' },\n { key: 1122, value: 'מגרשי מכוניות משומשות' },\n { key: 1112, value: 'מדליות מטבעות ובולים' },\n { key: 1123, value: 'מוניות' },\n { key: 1312, value: 'מוסכים' },\n { key: 111, value: 'מועדוני ספורט' },\n { key: 1418, value: 'מועצות ועיריות' },\n { key: 1500, value: 'מופעי בידור ותרבות' },\n { key: 1402, value: 'מוצרי גומי ופלסטיק' },\n { key: 1302, value: 'מוצרי גז' },\n { key: 1301, value: 'מוצרי חשמל גדולים' },\n { key: 1219, value: 'מוצרי חשמל קטנים' },\n { key: 1614, value: 'מוצרי פרסום' },\n { key: 1110, value: 'מזון טבעי' },\n { key: 1817, value: 'מזון מהיר' },\n { key: 1305, value: 'מזכרות מתנות חפצי חן' },\n { key: 1411, value: 'מחנאות וספורט' },\n { key: 1116, value: 'מחשבים' },\n { key: 1128, value: 'נגריות/רפדיות' },\n { key: 1802, value: 'מים ומטהרי מים' },\n { key: 1101, value: 'מינימרקטים' },\n { key: 1619, value: 'מכבסות/מתפרות' },\n { key: 1628, value: 'מכון רפואי' },\n { key: 1124, value: 'מכונות כתיבה/תפירה' },\n { key: 1308, value: 'מכונות לתעשיה חקלאות' },\n { key: 1319, value: 'מכוני לימוד והדרכה' },\n { key: 1603, value: 'מכוני קוסמטיקה' },\n { key: 1623, value: 'מכירות פומביות' },\n { key: 1711, value: 'מכירת דירות /נדל\"ן' },\n { key: 1702, value: 'מכירת יחידות נופש' },\n { key: 1121, value: 'מכירת כלי רכב' },\n { key: 1320, value: 'מכירת מכשירי גז' },\n { key: 112, value: 'מכשירי בריאות' },\n { key: 1218, value: 'מלכ\"ר (מוסד ללא רווח)' },\n { key: 1824, value: 'מנויי לוטו טוטו' },\n { key: 1126, value: 'מסגרות לתמונות' },\n { key: 1127, value: 'מסגריות' },\n { key: 1827, value: 'מסחר במט\"ח' },\n { key: 1501, value: 'מסעדות' },\n { key: 1602, value: 'מספרות ופאות' },\n { key: 1601, value: 'מעבדות' },\n { key: 1103, value: 'מעדניה/קונדיטוריה' },\n { key: 1009, value: 'מפעל הפיס/טוטו' },\n { key: 1409, value: 'צלמים' },\n { key: 1811, value: 'משחקים און ליין' },\n { key: 1108, value: 'משקאות חריפים וקלים' },\n { key: 1708, value: 'משרדי ממשלה' },\n { key: 1317, value: 'משרדי פרסום' },\n { key: 1838, value: 'מתן אשרות שהיה' },\n { key: 1616, value: 'מתנ\"ס' },\n { key: 113, value: 'מתנ\"סים' },\n { key: 1208, value: 'נעליים' },\n { key: 1629, value: 'נשק ותחמושת' },\n { key: 1211, value: 'סדקית ומוצרי תפירה' },\n { key: 1303, value: 'רהיטים' },\n { key: 1703, value: 'סוכנויות ביטוח' },\n { key: 1631, value: 'סוכני דלק' },\n { key: 1100, value: 'סופרמרקטים' },\n { key: 1502, value: 'סטקיות ומזנונים' },\n { key: 1624, value: 'סיטונאים' },\n { key: 1223, value: 'סינמטק/בתי קולנוע' },\n { key: 1216, value: 'סלון לכלות' },\n { key: 1812, value: 'סליקה פנים קיבוצית' },\n { key: 1117, value: 'סניטציה' },\n { key: 500, value: 'סניפים' },\n { key: 1810, value: 'ספא' },\n { key: 1801, value: 'ספק אינטרנט' },\n { key: 1799, value: 'ספק תוכן אינטרנט' },\n { key: 1115, value: 'ספריות וידיאו' },\n { key: 1405, value: 'ספרים' },\n { key: 1400, value: 'עו\"ד' },\n { key: 1828, value: 'עמותות ואגודות' },\n { key: 1835, value: 'עמותות חרדיות - תרומות' },\n { key: 1834, value: 'עמותות חרדיות-חינוך' },\n { key: 1837, value: 'עמותות כלליות' },\n { key: 1832, value: 'עמותות מוסלמיות' },\n { key: 1833, value: 'עמותות נוצריות' },\n { key: 1306, value: 'עתיקות ותשמישי קדושה' },\n { key: 1813, value: 'פיצריות' },\n { key: 1104, value: 'פירות וירקות' },\n { key: 1204, value: 'פרוות ובגדי עור' },\n { key: 1410, value: 'פרחים ומשתלות' },\n { key: 1304, value: 'ציוד לתינוק' },\n { key: 1404, value: 'ציוד משרדי' },\n { key: 1613, value: 'ציוד משרדי' },\n { key: 1807, value: 'ציוד רפואי' },\n { key: 1209, value: 'צמר וסריגה' },\n { key: 1416, value: 'צעצועים' },\n { key: 1005, value: 'קו-אופ' },\n { key: 1006, value: 'קואופ ירושלים' },\n { key: 1107, value: 'קונדיטוריות וממתקים' },\n { key: 1007, value: 'קופות חולים' },\n { key: 1710, value: 'קזינו' },\n { key: 1109, value: 'קיוסק' },\n { key: 1221, value: 'קייטנה' },\n { key: 1823, value: 'קייטרינג' },\n { key: 1821, value: 'קפה ותבלינים' },\n { key: 1612, value: 'רואה חשבון/מהנדסים' },\n { key: 1712, value: 'רכישת ניירות ערך' },\n { key: 1600, value: 'רפואת שיניים' },\n { key: 1706, value: 'רשות השידור' },\n { key: 1002, value: 'רשתות מזון ארציות' },\n { key: 1206, value: 'שטיחים' },\n { key: 1805, value: 'שיווק ישיר' },\n { key: 1119, value: 'שירותי רכב' },\n { key: 1316, value: 'שירותים ממשלתיים' },\n { key: 1819, value: 'שירותים משרדיים' },\n { key: 1129, value: 'שלטים' },\n { key: 1131, value: 'שמאים' },\n { key: 2000, value: 'שק\"ם' },\n { key: 1605, value: 'שרותי רפואה/בתי חולי' },\n { key: 1609, value: 'תוכנות מחשבים' },\n { key: 1403, value: 'תחנות דלק' },\n { key: 1318, value: 'תיווך' },\n { key: 1829, value: 'תיירות למרפא' },\n { key: 1307, value: 'תכשיטים ושעונים' },\n { key: 1407, value: 'תמרוקיות' },\n { key: 1611, value: 'תנועות נוער' },\n { key: 1604, value: 'תעופה תיירות ונסיעות' },\n { key: 1809, value: 'תערוכות וכנסים' },\n { key: 1417, value: 'תקליטים' },\n { key: 1610, value: 'תקשורת וטלפונים' },\n { key: 115, value: 'תקשורת טלויזיה בכבלי' },\n { key: 1815, value: 'תרומה' },\n { key: 1130, value: 'תריסים' },\n ];\n}\n\nexport function sellerIncList() {\n return [\n { key: 0, value: 'Private Individual/Sole Proprietorship' },\n { key: 2, value: 'Licensed Company' },\n { key: 3, value: 'Corporation' },\n { key: 4, value: 'Registered Partnership' },\n { key: 5, value: 'Exempt Company' },\n { key: 6, value: 'Non Profit' },\n { key: 7, value: 'LLC Limited Liability Company' },\n ];\n}\n\nexport const CONTROL_TYPE = {\n address: 'address',\n arrayItems: 'arrayItems',\n checkbox: 'checkbox',\n controlCentersList: 'controlCentersList',\n usersPopup: 'usersPopup',\n groupCheckbox: 'groupCheckbox',\n columnGroupCheckbox: 'columnGroupCheckbox',\n cityAddress: 'cityAddress',\n date: 'date',\n inlineLabel: 'inlineLabel',\n squareAssociatedLocations: 'squareAssociatedLocations',\n editTable: 'editTable',\n frame: 'frame',\n group: 'group',\n image: 'image',\n imageEdit: 'imageEdit',\n languageEditor: 'languageEditor',\n lapse: 'lapse',\n schedule: 'schedule',\n label: 'label',\n link: 'link',\n dateLink: 'dateLink',\n linkAction: 'linkAction',\n linkIconComponent: 'linkIconComponent',\n linkControl: 'linkControl',\n linkDownload: 'linkDownload',\n linkSvg: 'linkSvg',\n listItem: 'listItem',\n mapAddress: 'mapAddress',\n mapRegion: 'mapRegion',\n mapByLocation: 'mapByLocation',\n number: 'number',\n password: 'password',\n icon: 'icon',\n iconsSelector: 'iconsSelector',\n allowedDepotsList: 'AllowedDepotsList',\n paymeConfiguration: 'paymeConfiguration',\n paymeRadioButtons: 'paymeRadioButtons',\n depotPaymentSelector: 'depotPaymentSelector',\n presetTiming: 'presetTiming',\n roleSelector: 'roleSelector',\n sectionGroup: 'sectionGroup',\n sectionName: 'sectionName',\n sectionTab: 'sectionTab',\n select: 'select',\n multiselect: 'multiselect',\n selectInterval: 'selectInterval',\n selectWithAdd: 'selectWithAdd',\n slider: 'slider',\n keywords: 'keywords',\n switch: 'switch',\n switchGroups: 'switchGroups',\n text: 'text',\n inputNumber: 'inputNumber',\n inputText: 'inputText',\n inputPercent: 'inputPercent',\n textArea: 'textArea',\n vehicleSelector: 'vehicleSelector',\n radioButton: 'radioButton',\n button: 'button',\n richText: 'richText',\n nestedItem: 'nestedItem',\n iconWithQuantity: 'iconWithQuantity',\n copyToClipboard: 'copyToClipboard',\n mobileMenu: 'mobileMenu',\n deepLinkStat: 'deepLinkStat',\n audienceFilter: 'audienceFilter',\n bonusVoucher: 'bonusVoucher',\n modalSelect: 'modalSelect',\n translationTable: 'translationTable',\n reconciliationFeesTable: 'reconciliationFeesTable',\n reconciliationPeriodsTable: 'reconciliationPeriodsTable',\n reconciliationMultiSelect: 'reconciliationMultiSelect',\n defaultMultiSelect: 'defaultMultiSelect',\n};\n\nexport const MODAL_COMPONENT_TYPE = {\n customersList: 'customersList'\n}\n\nexport const CONTROL_STYLE_TYPE = {\n inline: 'inline',\n};\n\nexport const FILTER_TYPE = {\n and: 'and',\n or: 'or',\n from: 'from',\n to: 'to',\n};\n\nexport const PRODUCER_FLEET_TYPE = {\n None: 0,\n NuiFleet: 1,\n}\n\nexport const VEHICLE_FLEET_TYPE = {\n motorScooter: 0,\n bicycle: 1,\n car: 2\n\n}\n\n\nexport const VEHICLE_TYPE = {\n delivery: 0,\n kickScooter: 1,\n car: 2,\n};\nexport const VEHICLE_CYCLE_TYPE = {\n delivery: 1,\n kickScooter: 0,\n car: 2,\n};\n\nexport const MODE_SWITCHER_TYPE = {\n takeAway: 0,\n delivery: 1,\n extraSize: 2,\n};\n\nexport const getModeSwitcherValues = withExtraSize => {\n const items = [\n {\n key: MODE_SWITCHER_TYPE.delivery,\n value: 'scooter_delivery',\n tooltip: i18n.t('dashboard.orders.DELIVERY_ORDERS_MODE_LABEL'),\n },\n {\n key: MODE_SWITCHER_TYPE.takeAway,\n value: 'basket',\n tooltip: i18n.t('dashboard.orders.TAKEAWAY_ORDERS_MODE_LABEL'),\n },\n ];\n\n if (withExtraSize) {\n items.push({\n key: MODE_SWITCHER_TYPE.extraSize,\n value: 'extraSize',\n tooltip: i18n.t('dashboard.orders.EXTRA_SIZE_ORDERS_MODE_LABEL'),\n });\n }\n\n return items;\n};\n\nexport function getVehicleTypeTooltip(vehicleType) {\n switch (vehicleType) {\n case 'delivery':\n return i18n.t('settings.users.VEHICLE_DELIVERY_TOOLTIP');\n case 'kickScooter':\n return i18n.t('settings.users.VEHICLE_KICK_SCOOTER_TOOLTIP');\n case 'car':\n return i18n.t('settings.users.VEHICLE_CAR_TOOLTIP');\n default:\n return '';\n }\n}\n\nexport const SECTION_MODEL_FACTORY_TYPE = {\n settings: 'settings',\n shifts: 'shifts',\n orderingMenu: 'orderingMenu',\n marketplaceSettings: 'marketplaceSettings',\n marketplaceOrderingMenu: 'marketplaceOrderingMenu',\n reconciliations: 'reconciliations',\n};\n\nexport const TYPE_SECTION_DEPOT_MODEL = {\n depotMenu: '/settings/depots/depotmenu',\n depotsMenuCopy: '/settings/depots/createMenu',\n depotsEditPrice: '/settings/depots/editprice',\n depotusers: '/settings/depots/users',\n depotusersEdit: '/settings/depots/users/edit',\n depotusersNew: '/settings/depots/users/new',\n depotusersConfirmPassword: '/settings/depots/users/confirmPassword',\n depotIntegrations: '/settings/depots/integrations',\n depotIntegrationsNew: '/settings/depots/integrations/new',\n depotIntegrationsEdit: '/settings/depots/integrations/edit',\n depotDefaultRegionControlCenters: '/settings/depots/regionControls',\n depotDefaultRegionControlCentersNew: '/settings/depots/regionControls/new',\n depotDefaultRegionControlCentersEdit: '/settings/depots/regionControls/edit',\n provider: '/settings/depots/provider',\n providerNew: '/settings/depots/provider/new',\n providerEdit: '/settings/depots/provider/edit',\n depotPaymeCreditInfo: '/settings/depots/paymecreditinfo',\n depotPaymeCreditInfoEdit: '/settings/depots/paymecreditinfo/edit',\n depotsEdit: '/settings/depots/depot/edit',\n telegram: '/settings/depots/telegram',\n reconciliation: '/settings/depots/reconciliation',\n operationMode: '/settings/depots/operationMode',\n operationModeEdit: '/settings/depots/operationMode/edit',\n operationModeNew: '/settings/depots/operationMode/new',\n operationModeActive: '/settings/depots/operationModeActive',\n};\n\nexport const TYPE_SECTION_MODEL = {\n geoSettings: '/settings/geoSettings',\n integrations: '/settings/integrations',\n operationsManagement: '/settings/operationsManagement',\n users: '/settings/users',\n usersEdit: '/settings/users/edit',\n usersNew: '/settings/users/new',\n cloudPrinters: '/settings/cloudPrinters',\n cloudPrintersEdit: '/settings/cloudPrinters/edit',\n cloudPrintersNew: '/settings/cloudPrinters/new',\n userConfirmPassword: '/settings/users/confirmPassword',\n depots: '/settings/depots',\n depotsEdit: '/settings/depots/edit',\n depotsNew: '/settings/depots/new',\n depotsPriceApplyTo: '/settings/depots/depotsPriceApplyTo',\n depotsMenu: '/settings/depots/menu',\n depotpaymewallet: '/settings/depotpaymewallet',\n depotpaymewalletNew: '/settings/depotpaymewallet/new',\n depotsCategories: '/settings/depots/categories',\n depotsCategoriesEdit: '/settings/depots/categories/edit',\n depotSquareAssociatedLocation: '/settings/depots/depotSquareAssociatedLocation',\n generalSettings: '/settings/generalsettings',\n courierManagement: '/settings/courierManagement',\n personalSettings: '/settings/personalSettings',\n personalSettingsConfirmPassword: '/settings/personalSettings/confirmPassword',\n telegramSettings: '/settings/integrations/telegramsettings',\n restaurantPaymeWallet: '/settings/restaurantPaymeWallet',\n restaurantPaymeWalletNew: '/settings/restaurantPaymeWallet/new',\n regions: '/settings/geoSettings/regions',\n regionsEdit: '/settings/geoSettings/regions/edit',\n regionsNew: '/settings/geoSettings/regions/new',\n serviceCities: '/settings/geoSettings/serviceCities',\n serviceCitiesNew: '/settings/geoSettings/serviceCities/new',\n serviceCitiesEdit: '/settings/geoSettings/serviceCities/edit',\n searchShortcuts: '/settings/operationsManagement/searchShortcuts',\n searchShortcutsNew: '/settings/operationsManagement/searchShortcuts/new',\n searchShortcutsEdit: '/settings/operationsManagement/searchShortcuts/edit',\n marketplace: '/settings/marketplace',\n marketplaceNew: '/settings/marketplace/new',\n marketplaceEdit: '/settings/marketplace/edit',\n marketplaceSettings: '/settings/marketplaceSettings',\n namedPlaces: '/settings/geoSettings/namedPlaces',\n namedPlacesNew: '/settings/geoSettings/namedPlaces/new',\n namedPlacesEdit: '/settings/geoSettings/namedPlaces/edit',\n controlCenters: '/settings/operationsManagement/controlCenters',\n controlCentersEdit: '/settings/operationsManagement/controlCenters/edit',\n controlCentersActivate: '/settings/operationsManagement/controlCenters/activate',\n controlCentersDeactivate: '/settings/operationsManagement/controlCenters/deactivate',\n controlCentersChangeuser: '/settings/operationsManagement/controlCenters/changeUser',\n operationTiming: '/settings/operationsManagement/operationTiming',\n operationTimingEdit: '/settings/operationsManagement/operationTiming/edit',\n operationTimingNew: '/settings/operationsManagement/operationTiming/new',\n courierDeliveryFees: '/settings/courierManagement/courierDeliveryFees',\n courierDeliveryFeesTemplate: '/settings/courierManagement/courierDeliveryFeesTemplate',\n courierDeliveryFeesTemplateEdit: '/settings/courierManagement/courierDeliveryFeesTemplate/edit',\n courierDeliveryFeesTemplateNew: '/settings/courierManagement/courierDeliveryFeesTemplate/new',\n courierAppSettings: '/settings/courierManagement/courierAppSettings',\n businessAppSettings: '/settings/businessAppSettings',\n fleet: '/settings/operationsManagement/fleet',\n fleetEdit: '/settings/operationsManagement/fleet/edit',\n fleetNew: '/settings/operationsManagement/fleet/new',\n fleetTelemetry: '/settings/operationsManagement/fleet/telemetry',\n providers: '/settings/integrations/providers',\n providersEdit: '/settings/integrations/providers/edit',\n providersNew: '/settings/integrations/providers/new',\n deliveryProviders: '/settings/deliveryProviders',\n deliveryProvidersEdit: '/settings/deliveryProviders/edit',\n deliveryProvidersNew: '/settings/deliveryProviders/new',\n};\n\nexport const SHIFTS_MODEL = {\n history: '/shifts/history',\n providers: '/shifts/providers',\n historyEdit: '/shifts/history/edit',\n shiftHistory: '/shifts/history/shiftHistory',\n currentShiftUsers: '/shifts/currentShift/users',\n currentShiftDepots: '/shifts/currentShift/depots',\n currentShiftDepotEdit: '/shifts/currentShift/depot/edit',\n currentShiftHistory: '/shifts/currentShift/history',\n currentShiftProviderHistory: '/shifts/currentShiftProvider/history',\n currentShiftProviderHistoryOrder: '/shifts/currentShiftProvider/history/orders',\n};\n\nexport const TYPE_SECTION_MENUTEMPLATE_MODEL = {\n menuTemplateMenu: '/marketplace-settings/app-builder/orderingmenu',\n menuTemplateMenuCopy: '/marketplace-settings/app-builder/menuTemplates/createMenu',\n menuTemplateEdit: '/marketplace-settings/app-builder/menuTemplates/menuTemplate/edit',\n};\n\nexport const TYPE_SECTION_MESSAGE_MODEL = {\n messageInfo: '/marketplace-settings/app-builder/marketplace/message/edit',\n messageGallery: '/marketplace-settings/app-builder/marketplace/message/gallery',\n messageGalleryEdit: '/marketplace-settings/app-builder/marketplace/message/gallery/edit',\n messageGalleryNew: '/marketplace-settings/app-builder/marketplace/message/gallery/new',\n};\n\nexport const MARKETPLACE_SETTINGS_MODEL = {\n marketplaceSettings: '/marketplace-settings/marketplaceSettings',\n paymentsConfiguration: '/marketplace-settings/paymentsConfiguration',\n serviceFee: '/marketplace-settings/serviceFee',\n offers: '/marketplace-settings/offers',\n offersEdit: '/marketplace-settings/offers/edit',\n offersNew: '/marketplace-settings/offers/new',\n //loyalty\n loyalty: '/marketplace-settings/loyalty',\n giftCard: '/marketplace-settings/loyalty/giftCard',\n giftCardCategoryProducts: '/marketplace-settings/loyalty/giftCardCategoryProducts',\n giftCardCategoryProductsNew: '/marketplace-settings/loyalty/giftCardCategoryProducts/new',\n giftCardCategoryProductsEdit: '/marketplace-settings/loyalty/giftCardCategoryProducts/edit',\n referral: '/marketplace-settings/loyalty/referral',\n campaigns: '/marketplace-settings/loyalty/campaigns',\n campaignsNew: '/marketplace-settings/loyalty/campaigns/new',\n campaignsEdit: '/marketplace-settings/loyalty/campaigns/edit',\n campaignsExecutions: '/marketplace-settings/loyalty/campaigns/executions',\n loyaltySettingsRegistrationBonus: '/marketplace-settings/loyalty/registrationBonus',\n loyaltySettingsCashback: '/marketplace-settings/loyalty/cashback',\n //loyalty end\n //delivery\n delivery: '/marketplace-settings/delivery',\n deliveryZones: '/marketplace-settings/delivery/deliveryZones',\n deliveryZonesEdit: '/marketplace-settings/delivery/deliveryZones/edit',\n deliveryZonesNew: '/marketplace-settings/delivery/deliveryZones/new',\n customerDeliveryPrice: '/marketplace-settings/delivery/customerDeliveryPrice',\n driverTip: '/marketplace-settings/delivery/driverTip',\n listPromotion: '/marketplace-settings/app-builder/listPromotion',\n //delivery end\n //app builder\n appBuilder: '/marketplace-settings/app-builder',\n listPromotionNew: '/marketplace-settings/app-builder/listPromotion/new',\n listPromotionEdit: '/marketplace-settings/app-builder/listPromotion/edit',\n marketplace: '/marketplace-settings/app-builder/marketplace',\n marketplaceNew: '/marketplace-settings/app-builder/marketplace/new',\n marketplaceEdit: '/marketplace-settings/app-builder/marketplace/edit',\n businessCategories: '/marketplace-settings/app-builder/businessCategories',\n businessCategoriesNew: '/marketplace-settings/app-builder/businessCategories/new',\n businessCategoriesEdit: '/marketplace-settings/app-builder/businessCategories/edit',\n menuTemplate: '/marketplace-settings/app-builder/menuTemplates',\n menuTemplateNew: '/marketplace-settings/app-builder/menuTemplates/new',\n menuTemplateEdit: '/marketplace-settings/app-builder/menuTemplates/edit',\n cancelReason: '/marketplace-settings/app-builder/cancelReason',\n cancelReasonNew: '/marketplace-settings/app-builder/cancelReason/new',\n cancelReasonEdit: '/marketplace-settings/app-builder/cancelReason/edit',\n pages: '/marketplace-settings/app-builder/pages',\n pagesNew: '/marketplace-settings/app-builder/pages/new',\n pagesEdit: '/marketplace-settings/app-builder/pages/edit',\n //app builder end\n deepLink: '/marketplace-settings/deepLink'\n};\n\nexport const CUSTOMER_SERVICE_MODEL = {\n order: '/adminorders/order',\n supportChat: '/adminorders/supportChat',\n reviews: '/adminorders/reviews',\n customers: '/adminorders/customers',\n sales: '/adminorders/sales',\n}\n\nexport const RECONCILIATIONS_MODEL = {\n settings: '/reconciliations/settings',\n settingsTemplateNew: '/reconciliations/settings/template/new',\n settingsTemplateEdit: '/reconciliations/settings/template/edit',\n periods: '/reconciliations/periods',\n periodsView: '/reconciliations/periods/view',\n periodsEdit: '/reconciliations/periods/edit',\n configuration: '/reconciliations/configuration',\n};\n\nexport const ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL = {\n orderingBusinessParentMenu: '/marketplace-settings/app-builder/orderingmenu/parentMenu',\n orderingBusinessParentMenuEdit: '/settings/app-builder/orderingmenu/parentMenu/edit',\n orderingMenu: '/marketplace-settings/app-builder/orderingmenu',\n orderingMenuEdit: '/marketplace-settings/app-builder/orderingmenu/edit',\n orderingMenuBusinesInfo: '/marketplace-settings/app-builder/orderingmenu/businesInfo',\n orderingMenuSchedule: '/marketplace-settings/app-builder/orderingmenu/schedule',\n orderingMenuDeliveryZones: '/marketplace-settings/app-builder/orderingmenu/deliveryZones',\n orderingMenuDeliveryZonesEdit: '/marketplace-settings/app-builder/orderingmenu/deliveryZones/edit',\n orderingMenuDeliveryZonesNew: '/marketplace-settings/app-builder/orderingmenu/deliveryZones/new',\n orderingMenuDiscounts: '/marketplace-settings/app-builder/orderingmenu/discounts',\n orderingMenuDiscountsNew: '/marketplace-settings/app-builder/orderingmenu/discounts/new',\n orderingMenuDiscountsEdit: '/marketplace-settings/app-builder/orderingmenu/discounts/edit',\n orderingBusinessMenu: '/marketplace-settings/app-builder/orderingmenu/menu',\n orderingBusinessMenuEdit: '/marketplace-settings/app-builder/orderingmenu/menu/edit',\n orderingBusinessMenuNew: '/marketplace-settings/app-builder/orderingmenu/menu/new',\n orderingBusinessMenuExtras: '/marketplace-settings/app-builder/orderingmenu/menuExtras',\n orderingBusinessMenuExtrasNew: '/marketplace-settings/app-builder/orderingmenu/menuExtras/new',\n orderingBusinessMenuExtrasEdit: '/marketplace-settings/app-builder/orderingmenu/menuExtras/edit',\n orderingBusinessMenuExtrasOption: '/marketplace-settings/app-builder/orderingmenu/menuExtras/option',\n orderingBusinessMenuExtrasOptionEdit: '/marketplace-settings/app-builder/orderingmenu/menuExtras/option/edit',\n orderingBusinessMenuExtrasOptionNew: '/marketplace-settings/app-builder/orderingmenu/menuExtras/option/new',\n orderingBusinessMenuExtrasSuboption: '/marketplace-settings/app-builder/orderingmenu/menuExtras/suboption',\n orderingBusinessMenuExtrasSubsuboptionEdit: '/marketplace-settings/app-builder/orderingmenu/menuExtras/suboption/edit',\n orderingBusinessMenuExtrasSubsuboptionNew: '/marketplace-settings/app-builder/orderingmenu/menuExtras/suboption/new',\n orderingBusinessMenuCategoryProducts: '/marketplace-settings/app-builder/orderingmenu/categoryProducts',\n orderingBusinessMenuCategoryProductsNew: '/marketplace-settings/app-builder/orderingmenu/categoryProducts/new',\n orderingBusinessMenuCategoryProductsEdit: '/marketplace-settings/app-builder/orderingmenu/categoryProducts/edit',\n orderingBusinessMenuCategoryProductIngredient: '/marketplace-settings/app-builder/orderingmenu/categoryProductIngredient',\n orderingBusinessMenuCategoryProductIngredientNew:\n '/marketplace-settings/app-builder/orderingmenu/categoryProductIngredient/new',\n orderingBusinessMenuCategoryProductIngredientEdit:\n '/marketplace-settings/app-builder/orderingmenu/categoryProductIngredient/edit',\n orderingBusinessMenuCategoryExtras: '/marketplace-settings/app-builder/orderingmenu/categoryExtras',\n orderingBusinessMenuCategoryExtrasNew: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/new',\n orderingBusinessMenuCategoryExtrasEdit: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/edit',\n orderingBusinessMenuCategoryExtrasOption: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/option',\n orderingBusinessMenuCategoryExtrasOptionEdit: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/option/edit',\n orderingBusinessMenuCategoryExtrasOptionNew: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/option/new',\n orderingBusinessMenuCategoryExtrasSuboption: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/suboption',\n orderingBusinessMenuCategoryExtrasSuboptionEdit: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/suboption/edit',\n orderingBusinessMenuCategoryExtrasSuboptionNew: '/marketplace-settings/app-builder/orderingmenu/categoryExtras/suboption/new',\n orderingMenuCategories: '/marketplace-settings/app-builder/orderingmenu/orderingMenuCategories',\n orderingMenuTranslations: '/marketplace-settings/app-builder/orderingmenu/orderingMenuTranslations',\n orderingMenuSku: '/marketplace-settings/app-builder/orderingmenu/orderingMenuSku',\n orderingMenuCategoriesNew: '/marketplace-settings/app-builder/orderingmenu/orderingMenuCategories/new',\n reviewProductExtra: '/marketplace-settings/app-builder/orderingmenu/reviewExtra',\n overrideExtra: '/marketplace-settings/app-builder/orderingmenu/overrideExtra',\n overrideOption: '/marketplace-settings/app-builder/orderingmenu/overrideOption',\n overrideSuboption: '/marketplace-settings/app-builder/orderingmenu/overrideSuboption',\n gallery: '/marketplace-settings/app-builder/orderingmenu/gallery',\n galleryEdit: '/marketplace-settings/app-builder/orderingmenu/gallery/edit',\n galleryNew: '/marketplace-settings/app-builder/orderingmenu/gallery/new',\n referral: '/settings/referral',\n driverTip: '/settings/driverTip',\n listPromotion: '/settings/listPromotion',\n listPromotionNew: '/settings/listPromotion/new',\n listPromotionEdit: '/settings/listPromotion/edit',\n serviceFee: '/settings/serviceFee',\n deliveryZones: '/settings/deliveryZones',\n deliveryZonesEdit: '/settings/deliveryZones/edit',\n deliveryZonesNew: '/settings/deliveryZones/new',\n pages: '/settings/pages',\n pagesNew: '/settings/pages/new',\n pagesEdit: '/settings/pages/edit',\n menuTemplate: '/settings/menuTemplate',\n menuTemplateNew: '/settings/menuTemplate/new',\n menuTemplateEdit: '/settings/menuTemplate/edit',\n provider: '/settings/provider',\n providerEdit: '/settings/provider/edit',\n providerNew: '/settings/provider/new',\n};\n\nexport const ORDERING_MENU_TYPE_SECTION_MODEL = {\n parentMenuProductOverride: '/settings/orderingmenu/parentMenu/productOverride',\n parentMenuSuboptionsOverride: '/settings/orderingmenu/parentMenu/suboptionOverride',\n parentMenuCategoryOverride: '/settings/orderingmenu/parentMenu/categoryOverride',\n parentMenuOptionsOverride: '/settings/orderingmenu/parentMenu/optionOverride',\n parentMenuExtraOverride: '/settings/orderingmenu/parentMenu/extraOverride',\n orderingBusinessParentMenu: '/settings/orderingmenu/parentMenu',\n orderingBusinessParentMenuEdit: '/settings/orderingmenu/parentMenu/edit',\n orderingMenu: '/settings/orderingmenu',\n orderingMenuEdit: '/settings/orderingmenu/edit',\n orderingMenuBusinesInfo: '/settings/orderingmenu/businesInfo',\n orderingMenuSchedule: '/settings/orderingmenu/schedule',\n orderingMenuDeliveryZones: '/settings/orderingmenu/deliveryZones',\n orderingMenuDeliveryZonesEdit: '/settings/orderingmenu/deliveryZones/edit',\n orderingMenuDeliveryZonesGlobalEdit: '/settings/orderingmenu/deliveryZones/global/edit',\n orderingMenuDeliveryZonesNew: '/settings/orderingmenu/deliveryZones/new',\n orderingMenuDiscounts: '/settings/orderingmenu/discounts',\n orderingMenuDiscountsNew: '/settings/orderingmenu/discounts/new',\n orderingMenuDiscountsEdit: '/settings/orderingmenu/discounts/edit',\n orderingBusinessMenu: '/settings/orderingmenu/menu',\n orderingBusinessMenuEdit: '/settings/orderingmenu/menu/edit',\n orderingBusinessMenuNew: '/settings/orderingmenu/menu/new',\n orderingBusinessMenuExtras: '/settings/orderingmenu/menuExtras',\n orderingBusinessMenuExtrasNew: '/settings/orderingmenu/menuExtras/new',\n orderingBusinessMenuExtrasEdit: '/settings/orderingmenu/menuExtras/edit',\n orderingBusinessMenuExtrasOption: '/settings/orderingmenu/menuExtras/option',\n orderingBusinessMenuExtrasOptionEdit: '/settings/orderingmenu/menuExtras/option/edit',\n orderingBusinessMenuExtrasOptionNew: '/settings/orderingmenu/menuExtras/option/new',\n orderingBusinessMenuExtrasSuboption: '/settings/orderingmenu/menuExtras/suboption',\n orderingBusinessMenuExtrasSubsuboptionEdit: '/settings/orderingmenu/menuExtras/suboption/edit',\n orderingBusinessMenuExtrasSubsuboptionNew: '/settings/orderingmenu/menuExtras/suboption/new',\n orderingBusinessMenuCategoryProducts: '/settings/orderingmenu/categoryProducts',\n orderingBusinessMenuCategoryProductsNew: '/settings/orderingmenu/categoryProducts/new',\n orderingBusinessMenuCategoryProductsEdit: '/settings/orderingmenu/categoryProducts/edit',\n orderingBusinessMenuCategoryProductsDeepLinkEdit: '/settings/orderingmenu/categoryProducts/deepLink',\n orderingBusinessMenuCategoryProductIngredient: '/settings/orderingmenu/categoryProductIngredient',\n orderingBusinessMenuCategoryProductIngredientNew: '/settings/orderingmenu/categoryProductIngredient/new',\n orderingBusinessMenuCategoryProductIngredientEdit: '/settings/orderingmenu/categoryProductIngredient/edit',\n orderingBusinessMenuCategoryExtras: '/settings/orderingmenu/categoryExtras',\n orderingBusinessMenuCategoryExtrasNew: '/settings/orderingmenu/categoryExtras/new',\n orderingBusinessMenuCategoryExtrasEdit: '/settings/orderingmenu/categoryExtras/edit',\n orderingBusinessMenuCategoryExtrasOption: '/settings/orderingmenu/categoryExtras/option',\n orderingBusinessMenuCategoryExtrasOptionEdit: '/settings/orderingmenu/categoryExtras/option/edit',\n orderingBusinessMenuCategoryExtrasOptionNew: '/settings/orderingmenu/categoryExtras/option/new',\n orderingBusinessMenuCategoryExtrasSuboption: '/settings/orderingmenu/categoryExtras/suboption',\n orderingBusinessMenuCategoryExtrasSuboptionEdit: '/settings/orderingmenu/categoryExtras/suboption/edit',\n orderingBusinessMenuCategoryExtrasSuboptionNew: '/settings/orderingmenu/categoryExtras/suboption/new',\n orderingMenuCategories: '/settings/orderingmenu/orderingMenuCategories',\n orderingMenuLink: '/settings/orderingmenu/link',\n reviewProductExtra: '/settings/orderingmenu/reviewExtra',\n overrideExtra: '/settings/orderingmenu/overrideExtra',\n overrideOption: '/settings/orderingmenu/overrideOption',\n overrideSuboption: '/settings/orderingmenu/overrideSuboption',\n gallery: '/settings/orderingmenu/gallery',\n galleryEdit: '/settings/orderingmenu/gallery/edit',\n galleryNew: '/settings/orderingmenu/gallery/new',\n translations: '/settings/orderingmenu/translations',\n sku: '/settings/orderingmenu/sku',\n};\n\nexport const BILLING_PATHS = {\n billing: '/billing',\n payment: '/billing/payment',\n address: '/billing/address',\n plan: '/billing/plan',\n usages: '/billing/usages',\n};\n\nexport const CHART_MODEL = {\n controlCenters: 'controlCenters',\n controlCentersTable: 'controlCentersTable',\n depotTableData: 'depotTableData',\n inProcessOrders: 'inProcessOrders',\n ordersAverage: 'ordersAverage',\n ordersAveragePerHours: 'ordersAveragePerHours',\n reportDeliveryTimeItems: 'reportDeliveryTimeItems',\n reportAverageDeliveryTimeItems: 'reportAverageDeliveryTimeItems',\n reportAverageDeliveryTime: 'reportAverageDeliveryTime',\n reportControlCenterAverageDeliveryTime: 'reportControlCenterAverageDeliveryTime',\n reportDayAverageDeliveryTime: 'reportDayAverageDeliveryTime',\n controlCentersAverageDeliveryTime: 'controlCentersAverageDeliveryTime',\n sales: 'sales',\n deepLinkStats: 'deepLinkStats',\n};\n\nexport const TYPE_CHART = {\n comboChart: 'ComboChart',\n pieChart: 'PieChart',\n columnChart: 'ColumnChart',\n table: 'Table',\n gauge: 'Gauge',\n barChartStacked: 'BarChartStacked',\n areaChart: 'AreaChart',\n line: 'Line',\n};\n\nexport const POPUP_ITEM_TYPE = {\n managerItem: 'managerItem',\n courierShiftItem: 'courierShiftItem',\n shiftsFilterItem: 'shiftsFilterItem',\n dateRange: 'dateRange'\n}\n\nexport const MODEL_CONTROL_TYPE = {\n default: 'default',\n add: 'add',\n back: 'back',\n iconControl: 'iconControl',\n comboUrl: 'comboUrl',\n sortMode: 'sortMode',\n filter: 'filter',\n importFile: 'importFile',\n actionButton: 'actionButton',\n listItems: 'listItems',\n dropdown: 'dropdown'\n};\n\nexport const TYPE_ACTION = {\n view: 'view',\n new: 'new',\n edit: 'edit',\n};\n\nexport const TYPE_EDIT_ACTION = {\n add: 'add',\n edit: 'edit',\n delete: 'delete',\n reorder: 'reorder',\n};\n\nexport const USER_FILTER_ROLES = {\n supervisor: 'Supervisor',\n deliveryManager: 'DeliveryManager',\n depot: 'Depot',\n courier: 'Courier',\n supportOperator: 'SupportOperator',\n controlCenterManager: 'ControlCenterManager',\n}\n\nexport const USER_ROLES = {\n all: '*',\n supervisor: 'supervisor',\n deliveryManager: 'deliveryManager',\n depot: 'depot',\n courier: 'courier',\n supportOperator: 'supportOperator',\n controlCenterManager: 'controlCenterManager',\n};\n\nexport const ROLES_MANAGER_TYPE = {\n menu: 'menu',\n [CONTROL_TYPE.linkAction]: CONTROL_TYPE.linkAction,\n [CONTROL_TYPE.linkIconComponent]: CONTROL_TYPE.linkIconComponent,\n sectionItemEdit: 'sectionItemEdit',\n readonlyPage: 'readonlyPage',\n};\n\nexport const TYPE_STORAGE = {\n local: 'local',\n session: 'session',\n db: 'db',\n};\n\nexport const FIND_ADDRESS_TYPE_ACTION = {\n find: 'find',\n findByAddress: 'findByAddress',\n history: 'history',\n restore: 'restore',\n search: 'search',\n};\n\nexport const TYPE_STATUS = {\n textActive: 'textActive',\n textDisabled: 'textDisabled',\n};\n\nexport const TYPE_MENU = {\n header: 'header',\n settings: 'settings',\n shifts: 'shifts',\n marketplaceSettings: 'marketplaceSettings',\n depotSettings: 'depotSettings',\n menuTemplate: 'menuTemplate',\n loyaltyMenu: 'loyaltyMenu',\n deliveryMenu: 'deliveryMenu',\n appBuilderMenu: 'appBuilderMenu',\n orderingMenu: 'orderingMenu',\n orderingMenuMenuTemplate: 'orderingMenuMenuTemplate',\n messageSettings: 'messageSettings',\n reconciliations: 'reconciliations',\n customerService: 'customerService',\n geoSettings: 'geoSettings',\n courierManagement: 'courierManagement',\n integrations: 'integrations',\n operationsManagement: 'operationsManagement',\n};\n\nexport const FORMAT_RELATIVE_TIME_ONLY_TYPE = {\n d: 'd',\n h: 'h',\n m: 'm',\n};\n\nexport const TITLE_RELATIVE_TIME = type => {\n switch (type) {\n case 'd':\n return i18n.t('covertTime.TIME_DAY');\n case 'h':\n return i18n.t('covertTime.TIME_HOUR');\n case 'm':\n return i18n.t('covertTime.TIME_MIN');\n default:\n return '';\n }\n};\n\nexport const PUSHER_EVENTS = {\n OrderStateUpdate: 'Order State Update Event',\n LocationUpdate: 'Location Update Event',\n NewOrder: 'New Order Event',\n UpdateOrder: 'Update Order Event',\n NewTakeaway: 'New Takeaway Event',\n UpdateTakeaway: 'Update Takeaway Event',\n CycleStateUpdate: 'Cycle State Update Event',\n CycleDispatched: 'Cycle Dispatched Event',\n AssociateUpdate: 'Associate Update Event',\n GroupUpdate: 'Group Update Event',\n CycleReorder: 'Cycle Reorder Event',\n CycleRouteUpdate: 'Cycle Route Update Event',\n AssistanceUpdate: 'Assistance Update Event',\n UserUpdated: 'User Updated Event',\n UserDeleted: 'User Deleted Event',\n CourierShiftCreated: 'Courier Shift Created Event',\n ManualAssociateUpdate: 'Manual Associate Update Event',\n GroupReorder: 'Group Reorder Event',\n ResaurantStateUpdate: 'Restaurant State Update Event',\n ConnectionStateChanged: 'Connection State Changed Event',\n NotificationAdded: 'Notification Added Event',\n notificationServiceRestarted: 'Notification Service Restart',\n NotificationDeleted: 'Notification Deleted Event',\n GroupLockUpdate: 'Group Lock Update Event',\n CourierLockUpdate: 'Courier Lock Update Event',\n ManualUnassociateUpdate: 'Manual Unassociate Update Event',\n SetAway: 'Set Away Event',\n SoundNotificationMessage: 'Sound Notification Message Event',\n ManualUnassociateUpdateList: 'Manual Unassociate Update List Event',\n};\n\nexport const START_MODULE = {\n main: 'main',\n restaurateur: 'restaurateur',\n};\n\nexport const COUNTRY_CURRENCY_CODES_VALUE = {\n IL: '₪',\n ME: '€',\n RS: '€',\n RU: 'руб',\n UA: 'грн',\n US: '$',\n PL: 'zł',\n};\n\nexport const TYPE_PATTERN = {\n email: 'email',\n userName: 'userName',\n userNameWithSpaces: 'userNameWithSpaces',\n userPassword: 'userPassword',\n onlyNumbers: 'onlyNumbers',\n slug: 'slug',\n};\n\nexport const DIALOG_TYPE_CONFIRM = {\n accept: 'accept',\n acknowledge: 'acknowledge',\n reject: 'reject',\n delay: 'delay',\n ready: 'ready',\n delivery: 'delivery',\n delivered: 'delivered',\n kitchen: 'kitchen',\n cooking: 'cooking',\n};\n\nexport const CREDIT_ACCEPT = {\n off: 0,\n infoOnly: 1,\n selling: 2,\n};\n\nexport const INTEGRATION_TYPE = {\n none: 0,\n box: 1,\n email: 2,\n presto: 3,\n beeComm: 4,\n telegram: 5,\n paidIt: 6,\n netlunch: 7,\n sms: 8,\n clickeat: 9,\n wix: 10,\n ordering: 11,\n foodNinjas: 12,\n bamps: 13,\n nikosha: 14,\n caspit: 15,\n aviv: 16,\n uber: 17,\n mcDonalds: 18,\n wooCommerce: 19,\n tabit: 20,\n livraro: 21,\n shopify: 22,\n beeCommCloud: 23,\n deliverect: 24,\n gloriaFood: 25,\n kitchenHub: 26,\n valueCard: 27,\n squareUp: 28,\n noga: 29,\n mishloha: 31,\n halalDeliveryUk: 32,\n wolt: 33,\n wixMarketPlace: 34,\n forgastro: 40,\n merkus: 42,\n portel: 43,\n restimo: 44,\n cibeez: 47,\n appyRo: 48,\n kiosk: 50,\n internalOutsourcing: 100,\n};\n\nexport const HALF_OPTION = {\n 0: i18n.t('pending-orders.PENDING_ORDER_HALF_OPTION_ZERRO_LABEL'),\n 1: i18n.t('pending-orders.PENDING_ORDER_HALF_OPTION_FIRST_LABEL'),\n 2: i18n.t('pending-orders.PENDING_ORDER_HALF_OPTION_SECOND_LABEL'),\n};\n\nexport const DELIVERY_ZONE_TYPE = {\n circle: 1,\n polygon: 2,\n reference: 3,\n deliveryZoneReference: 4,\n};\n\nexport function getDeliveryZoneTypes(withDeliveryZoneReference = false) {\n const types = [\n { key: DELIVERY_ZONE_TYPE.circle, value: i18n.t('settings.orderingmenu.DELIVERY_ZONE_CIRCLE_TYPE_LABEL') },\n { key: DELIVERY_ZONE_TYPE.polygon, value: i18n.t('settings.orderingmenu.DELIVERY_ZONE_POLYGON_TYPE_LABEL') },\n {\n key: DELIVERY_ZONE_TYPE.reference,\n value: i18n.t('settings.orderingmenu.DELIVERY_ZONE_REFERENCE_TYPE_LABEL'),\n },\n ];\n\n if (withDeliveryZoneReference) {\n types.push({\n key: DELIVERY_ZONE_TYPE.deliveryZoneReference,\n value: i18n.t('settings.orderingmenu.DELIVERY_ZONE_GLOBAL_REFERENCE_TYPE_LABEL'),\n });\n }\n\n return types;\n}\n\nexport const WEEK_DAYS = {\n 0: i18n.t('basic.days.SUNDAY'),\n 1: i18n.t('basic.days.MONDAY'),\n 2: i18n.t('basic.days.TUESDAY'),\n 3: i18n.t('basic.days.WEDNESDAY'),\n 4: i18n.t('basic.days.THURSDAY'),\n 5: i18n.t('basic.days.FRIDAY'),\n 6: i18n.t('basic.days.SATURDAY'),\n};\n\nexport function getWeekDays() {\n return [\n { key: 0, value: i18n.t('basic.days.SUNDAY') },\n { key: 1, value: i18n.t('basic.days.MONDAY') },\n { key: 2, value: i18n.t('basic.days.TUESDAY') },\n { key: 3, value: i18n.t('basic.days.WEDNESDAY') },\n { key: 4, value: i18n.t('basic.days.THURSDAY') },\n { key: 5, value: i18n.t('basic.days.FRIDAY') },\n { key: 6, value: i18n.t('basic.days.SATURDAY') },\n ];\n}\n\nexport const RATE_TYPE = {\n percent: 1,\n price: 2,\n};\n\nexport const DISCOUNT_TYPE = {\n promotion: 1,\n coupon: 2,\n};\n\nexport const DISCOUNT_ORDER_TYPE = {\n any: 0,\n delivery: 1,\n takeAway: 2,\n virtual: 3,\n dinein: 4,\n};\n\nexport const SPICY_TYPE = {\n no: 0,\n spicy: 1,\n extraSpicy: 2,\n};\n\nexport function rateTypes() {\n return [\n { key: RATE_TYPE.percent, value: i18n.t('settings.orderingmenu.MENU_RATE_TYPE_PERCENTAGE') },\n { key: RATE_TYPE.price, value: i18n.t('settings.orderingmenu.MENU_RATE_TYPE_PRICE') },\n ];\n}\n\nexport function discountTypes() {\n return [\n { key: DISCOUNT_TYPE.promotion, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_PROMOTION') },\n { key: DISCOUNT_TYPE.coupon, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_COUPON') },\n ];\n}\n\nexport function discountOrderTypes() {\n return [\n { key: DISCOUNT_ORDER_TYPE.any, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_ANY') },\n { key: DISCOUNT_ORDER_TYPE.delivery, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_DELIVERY') },\n { key: DISCOUNT_ORDER_TYPE.takeAway, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_TAKEAWAY') },\n { key: DISCOUNT_ORDER_TYPE.dinein, value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_DINEIN') },\n ];\n}\n\nexport function spicyTypes() {\n return [\n { key: SPICY_TYPE.no, value: i18n.t('settings.orderingmenu.MENU_BUSINESS_PRODUCT_NO_SPICY') },\n { key: SPICY_TYPE.spicy, value: i18n.t('settings.orderingmenu.MENU_BUSINESS_PRODUCT_SPICY') },\n { key: SPICY_TYPE.extraSpicy, value: i18n.t('settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_SPICY') },\n ];\n}\n\n\nexport const CROP_MODE = {\n fill: 0,\n pad: 1,\n fit: 2,\n mfit: 3,\n scale: 4,\n limit: 5,\n lpad: 6,\n mpad: 7,\n crop: 8,\n fill_pad: 9,\n thumb: 10,\n};\n\nexport const GRAVITY_MODE = {\n center: 0,\n north_east: 1,\n north: 2,\n north_west: 3,\n west: 4,\n south_west: 5,\n south: 6,\n south_east: 7,\n east: 8,\n liquid: 9,\n auto: 10,\n};\n\nexport function getCropModes() {\n return Object.keys(CROP_MODE).map(key => ({\n key: CROP_MODE[key],\n value: key,\n }));\n}\n\nexport function getGravityModes() {\n return Object.keys(GRAVITY_MODE).map(key => ({\n key: GRAVITY_MODE[key],\n value: key,\n }));\n}\n\nexport const QUALITY_MODE = {\n default: 0,\n best: 1,\n good: 2,\n eco: 3,\n low: 4,\n custom: 5,\n};\n\nexport function getQualityModes() {\n return Object.keys(QUALITY_MODE).map(key => ({\n key: QUALITY_MODE[key],\n value: key,\n }));\n}\n\nexport const RESHIPMENT_TYPE = {\n marketplaceResponsibility: 0,\n restaurantResponsibility: 1,\n};\n\nexport function getReshipmentTypes(depot) {\n const reshipments = [{\n key: RESHIPMENT_TYPE.marketplaceResponsibility,\n value: i18n.t('admin-orders.RESHIPMENT_TYPE_MARKETPLACE_RESPONSIBILITY'),\n }];\n if(depot) {\n return [{\n key: RESHIPMENT_TYPE.restaurantResponsibility,\n value: i18n.t('admin-orders.RESHIPMENT_TYPE_RESTAURANT_RESPONSIBILITY'),\n }];\n }\n\n return reshipments.concat({\n key: RESHIPMENT_TYPE.restaurantResponsibility,\n value: i18n.t('admin-orders.RESHIPMENT_TYPE_RESTAURANT_RESPONSIBILITY'),\n });\n}\n\nexport const RESHIPMENT_TYPE_VALUE = {\n 0: 'admin-orders.RESHIPMENT_TYPE_MARKETPLACE_RESPONSIBILITY',\n 1: 'admin-orders.RESHIPMENT_TYPE_RESTAURANT_RESPONSIBILITY',\n};\n\nexport const REFOUND_CHANNEL_TYPE = {\n creditCard: 0,\n loyalty: 1,\n};\n\nexport function getRefoundChannelType() {\n return [\n {\n key: REFOUND_CHANNEL_TYPE.creditCard,\n value: i18n.t('admin-orders.RESTAURANT_TYPE_REFOUND_CHANNEL_CREDIT_CARD'),\n },\n { key: REFOUND_CHANNEL_TYPE.loyalty, value: i18n.t('admin-orders.RESTAURANT_TYPE_REFOUND_CHANNEL_LOYALTY') },\n ];\n}\n\nexport function getRefoundBonusChannelType() {\n return [\n { key: REFOUND_CHANNEL_TYPE.loyalty, value: i18n.t('admin-orders.RESTAURANT_TYPE_REFOUND_CHANNEL_LOYALTY') },\n ];\n}\n\nexport const PAY_METHOD = {\n creditCard: 1,\n cash: 2,\n bonus: 3,\n discount: 4,\n // doesn't exist in global api, only for dev\n voucher: 100, // instead of bonus\n terminal: 101, //\n};\n\nexport const getPaymethodNames = {\n [PAY_METHOD.creditCard]: i18n.t('edit-customer-order.CREDIT_CARD'),\n [PAY_METHOD.cash]: i18n.t('edit-customer-order.CASH'),\n [PAY_METHOD.bonus]: i18n.t('edit-customer-order.BONUS'),\n [PAY_METHOD.discount]: i18n.t('edit-customer-order.DISCOUNT'),\n [PAY_METHOD.terminal]: i18n.t('edit-customer-order.EXTERNAL_PROVIDER'),\n}\n\nexport const ORDER_INTEGRATION_TYPE_FILTER = {\n application: 0,\n external: 1,\n allOrders: 2,\n allMarketplaceOrders: 3,\n};\n\nexport function getOrderIntegrationTypeFilterItems() {\n return [\n {\n key: ORDER_INTEGRATION_TYPE_FILTER.application,\n value: i18n.t('dashboard.orders.ORDER_INTEGRATION_TYPE_FILTER_APP_LABEL'),\n },\n {\n key: ORDER_INTEGRATION_TYPE_FILTER.external,\n value: i18n.t('dashboard.orders.ORDER_INTEGRATION_TYPE_FILTER_EXTERNAL_LABEL'),\n },\n {\n key: ORDER_INTEGRATION_TYPE_FILTER.allOrders,\n value: i18n.t('dashboard.orders.ORDER_INTEGRATION_TYPE_FILTER_ALL_ORDERS_LABEL'),\n },{\n key: ORDER_INTEGRATION_TYPE_FILTER.allMarketplaceOrders,\n value: i18n.t('dashboard.orders.ORDER_INTEGRATION_TYPE_FILTER_APP_FROM_ALL_SOURCES_LABEL'),\n },\n ];\n}\n\nexport const ADMIN_ORDER_FILTER_TYPE = {\n search: 'search',\n business: 'business',\n dateStart: 'dateStart',\n dateEnd: 'dateEnd',\n status: 'status',\n deliveryStrategy: 'deliveryStrategy',\n territory: 'territory',\n\n deviceType: 'deviceType',\n paymentMethod: 'paymentMethod',\n orderSource: 'orderSource',\n};\n\nexport const LAYOUT_TYPE = {\n adminOrderInfo: 'adminOrderInfo',\n};\n\nexport const PENDING_ORDERS_FILTER = {\n byDate: 1,\n byId: 2,\n};\n\nexport const PRICE_CALCULATION_MODE = {\n fixedRegionBased: 0,\n distanceBased: 2,\n mixed: 4,\n};\n\nexport function getPendingOrdersFilter() {\n return [\n { key: PENDING_ORDERS_FILTER.byDate, value: i18n.t('pending-orders.FILTER_TYPE_BYDATE') },\n { key: PENDING_ORDERS_FILTER.byId, value: i18n.t('pending-orders.FILTER_TYPE_BYID') },\n ];\n}\n\nexport const PERIOD_TYPE = {\n today: \"today\",\n yesterday: \"yesterday\",\n week: \"week\",\n month: \"month\",\n prevMonth: \"prevMonth\",\n year: \"year\",\n selectDate: \"selectDate\"\n}\n\nexport const getPeriodTypeTranslate = type => {\n switch (type) {\n case PERIOD_TYPE.today:\n return i18n.t(\"datetimepicker.TODAY\");\n case PERIOD_TYPE.yesterday:\n return i18n.t(\"datetimepicker.YESTERDAY\");\n case PERIOD_TYPE.week:\n return i18n.t(\"datetimepicker.WEEK\");\n case PERIOD_TYPE.month:\n return i18n.t(\"datetimepicker.MONTH\");\n case PERIOD_TYPE.prevMonth:\n return i18n.t(\"datetimepicker.PREVIOUS_MONTH\");\n case PERIOD_TYPE.year:\n return i18n.t(\"datetimepicker.YEAR\");\n case PERIOD_TYPE.selectDate:\n return i18n.t(\"datetimepicker.SELECT_DATE\");\n default:\n return \"\";\n }\n}\n\nexport function getBasePeriods(isShowSelect = true) {\n const items = [\n { key: PERIOD_TYPE.today, value: getPeriodTypeTranslate(PERIOD_TYPE.today) },\n { key: PERIOD_TYPE.yesterday, value: getPeriodTypeTranslate(PERIOD_TYPE.yesterday) },\n { key: PERIOD_TYPE.week, value: getPeriodTypeTranslate(PERIOD_TYPE.week) },\n { key: PERIOD_TYPE.month, value: getPeriodTypeTranslate(PERIOD_TYPE.month) },\n { key: PERIOD_TYPE.prevMonth, value: getPeriodTypeTranslate(PERIOD_TYPE.prevMonth) },\n { key: PERIOD_TYPE.year, value: getPeriodTypeTranslate(PERIOD_TYPE.year) },\n ];\n\n return isShowSelect\n ? items.concat({ key: PERIOD_TYPE.selectDate, value: getPeriodTypeTranslate(PERIOD_TYPE.selectDate) })\n : items;\n}\n\nexport function getPendingOrdersHistoryPeriods() {\n const excludedItems = [PERIOD_TYPE.year];\n return getBasePeriods()\n .filter(period=> !excludedItems.includes(period.key));\n}\n\nexport function getPriceCalculationModeItems() {\n return [\n {\n key: PRICE_CALCULATION_MODE.fixedRegionBased,\n value: i18n.t('enums.priceCalculationModeItems.FIXED_REGION_BASED'),\n },\n { key: PRICE_CALCULATION_MODE.distanceBased, value: i18n.t('enums.priceCalculationModeItems.DISTANCE_BASED') },\n ];\n}\n\nexport function getMerchantDeliveryCostCalculationModeItems() {\n return [\n {\n key: PRICE_CALCULATION_MODE.fixedRegionBased,\n value: i18n.t('enums.priceCalculationModeItems.FIXED_REGION_BASED'),\n },\n { key: PRICE_CALCULATION_MODE.distanceBased, value: i18n.t('enums.priceCalculationModeItems.DISTANCE_BASED') },\n { key: PRICE_CALCULATION_MODE.mixed, value: i18n.t('enums.priceCalculationModeItems.MIXED_MODE') },\n ];\n}\n\nexport function newOrderNotificationMode() {\n return [\n {\n key: 0,\n value: i18n.t('settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_MODE_RADIUS'),\n },\n {\n key: 1,\n value: i18n.t('settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_MODE_FAIRNESS'),\n },\n {\n key: 2,\n value: i18n.t('settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_MODE_DISTANCE'),\n },\n ];\n}\n\nexport function salaryCalculationMode() {\n return [\n {\n key: 0,\n value: i18n.t('settings.users.SALARY_HOURLY_PAYMENT'),\n },\n {\n key: 1,\n value: i18n.t('settings.users.SALARY_PER_ORDER_PAYMENT'),\n },\n ];\n}\n\nexport const POSITIONING_TYPES = {\n row: 0,\n banner: 1,\n table: 2,\n}\n\nexport const getPositioningTypes = () => ([\n { key: POSITIONING_TYPES.row, value: i18n.t('settings.marketplaceMessage.ROW') },\n { key: POSITIONING_TYPES.banner, value: i18n.t('settings.marketplaceMessage.BANNER') },\n { key: POSITIONING_TYPES.table, value: i18n.t('settings.marketplaceMessage.TABLE') },\n]);\n\nexport const FORM_FACTOR = {\n f5x3: 0,\n f5x4: 1,\n f1x1: 3,\n}\n\nexport const getFormatTypes = () => ([\n { key: FORM_FACTOR.f5x3, value: i18n.t('settings.marketplaceMessage.5X3') },\n { key: FORM_FACTOR.f5x4, value: i18n.t('settings.marketplaceMessage.5X4') },\n { key: FORM_FACTOR.f1x1, value: i18n.t('settings.marketplaceMessage.1X1') },\n]);\n\nexport const MARKETPLACE_SEARCH_TYPES = {\n none: 0,\n new: 1,\n offers: 2,\n favorites: 3,\n history: 4,\n mostPopular: 5,\n fastestDelivery: 6,\n distance: 7,\n deliveryPrice: 8,\n freeDelivery: 9,\n instagram: 99,\n categories: 100,\n messages: 101,\n voucher: 102,\n};\n\nexport function getMarketplaceSearchTypesFilter() {\n return [\n { key: MARKETPLACE_SEARCH_TYPES.none, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_NONE') },\n { key: MARKETPLACE_SEARCH_TYPES.offers, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_OFFERS') },\n { key: MARKETPLACE_SEARCH_TYPES.favorites, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FAVORITES') },\n { key: MARKETPLACE_SEARCH_TYPES.history, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_HISTORY') },\n {\n key: MARKETPLACE_SEARCH_TYPES.mostPopular,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_MOST_POPULAR'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.fastestDelivery,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FASTEST_DELIVERY'),\n },\n { key: MARKETPLACE_SEARCH_TYPES.distance, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_DISTANCE') },\n {\n key: MARKETPLACE_SEARCH_TYPES.deliveryPrice,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_DELIVERY_PRICE'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.freeDelivery,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FREE_DELIVERY'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.categories,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_CATEGORIES'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.messages,\n value: i18n.t('settings.marketplaceMessage.MESSAGES'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.voucher,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FREE_VOUCHER'),\n },\n ]\n}\n\nexport function getMarketplaceSearchTypes() {\n return [\n { key: MARKETPLACE_SEARCH_TYPES.none, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_NONE') },\n { key: MARKETPLACE_SEARCH_TYPES.new, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_NEW') },\n { key: MARKETPLACE_SEARCH_TYPES.offers, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_OFFERS') },\n { key: MARKETPLACE_SEARCH_TYPES.favorites, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FAVORITES') },\n { key: MARKETPLACE_SEARCH_TYPES.history, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_HISTORY') },\n {\n key: MARKETPLACE_SEARCH_TYPES.categories,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_CATEGORIES'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.mostPopular,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_MOST_POPULAR'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.fastestDelivery,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FASTEST_DELIVERY'),\n },\n { key: MARKETPLACE_SEARCH_TYPES.distance, value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_DISTANCE') },\n {\n key: MARKETPLACE_SEARCH_TYPES.deliveryPrice,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_DELIVERY_PRICE'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.freeDelivery,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FREE_DELIVERY'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.messages,\n value: i18n.t('settings.marketplaceMessage.MESSAGES'),\n },\n {\n key: MARKETPLACE_SEARCH_TYPES.voucher,\n value: i18n.t('settings.marketplaceMessage.SEARCH_TYPE_FREE_VOUCHER'),\n },\n ];\n}\n\nexport const MARKETPLACE_MESSAGE_TYPE = {\n generalWarning: 0,\n banner: 1,\n article: 2,\n bussinesPromotion: 3,\n listPromotion: 4,\n referral: 5,\n customList: 8,\n serviceShutdown: 255,\n};\n\nexport function getMarketplaceMessageTypes() {\n return [\n {\n key: MARKETPLACE_MESSAGE_TYPE.generalWarning,\n value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_GENERAL_WARNING'),\n },\n { key: MARKETPLACE_MESSAGE_TYPE.banner, value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_BANNER') },\n { key: MARKETPLACE_MESSAGE_TYPE.article, value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_ARTICLE') },\n {\n key: MARKETPLACE_MESSAGE_TYPE.bussinesPromotion,\n value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_BUSINESS_PROMOTION'),\n },\n { key: MARKETPLACE_MESSAGE_TYPE.listPromotion, value: i18n.t(\"settings.marketplaceMessage.MESSAGE_TYPE_LIST_PROMOTION\") },\n {\n key: MARKETPLACE_MESSAGE_TYPE.referral,\n value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_LIST_REFERRAL'),\n },\n {\n key: MARKETPLACE_MESSAGE_TYPE.customList,\n value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_LIST_CUSTOM'),\n },\n {\n key: MARKETPLACE_MESSAGE_TYPE.serviceShutdown,\n value: i18n.t('settings.marketplaceMessage.MESSAGE_TYPE_SERVICE_SHUTDOWN'),\n },\n ];\n}\n\nexport const MARKETPLACE_LANGUAGE = {\n en: 'en',\n he: 'he',\n ru: 'ru',\n ar: 'ar',\n es: 'es',\n ro: 'ro',\n de: 'de',\n el: 'el',\n pl: 'pl',\n};\n\nexport function getMarketplaceLanguages() {\n return [\n { key: '', value: '' },\n { key: MARKETPLACE_LANGUAGE.en, value: i18n.t('settings.marketplaceMessage.EN') },\n { key: MARKETPLACE_LANGUAGE.he, value: i18n.t('settings.marketplaceMessage.HE') },\n { key: MARKETPLACE_LANGUAGE.ru, value: i18n.t('settings.marketplaceMessage.RU') },\n { key: MARKETPLACE_LANGUAGE.ar, value: i18n.t('settings.marketplaceMessage.AR') },\n { key: MARKETPLACE_LANGUAGE.es, value: i18n.t('settings.marketplaceMessage.ES') },\n { key: MARKETPLACE_LANGUAGE.ro, value: i18n.t('settings.marketplaceMessage.RO') },\n { key: MARKETPLACE_LANGUAGE.de, value: i18n.t('settings.marketplaceMessage.DE') },\n { key: MARKETPLACE_LANGUAGE.el, value: i18n.t('settings.marketplaceMessage.EL') },\n { key: MARKETPLACE_LANGUAGE.pl, value: i18n.t('settings.marketplaceMessage.PL') },\n ];\n}\n\nexport const TYPE_SWITCH_CONTROL_COLOR = {\n blue: 'blue',\n blueSubmit: 'blueSubmit',\n red: 'red',\n crown: 'crown',\n extraSize: 'extraSize',\n};\n\nexport const getCurrencyIcons = currency => {\n const icons = {\n RUB: '₽',\n USD: '$',\n EUR: '€',\n GBP: '£',\n UAH: '₴',\n AED: 'د.',\n IL: '₪',\n ILS: '₪',\n JPY: '¥',\n KZT: '₸',\n PLN: \"zł\"\n };\n\n if (currency) {\n return icons[currency.toUpperCase()] ? icons[currency.toUpperCase()] : currency.toUpperCase();\n } else {\n return '';\n }\n};\n\nexport function getUserError(error) {\n switch (error) {\n case 'Invalid phone number':\n return i18n.t('settings.users.PHONE_NUMBER_ERROR');\n default:\n return error || i18n.t('settings.FORM_SEND_ERROR_MSG');\n }\n}\n\nexport const STREET_CONTROL_TYPE_BUTTON = {\n notes: 'notes',\n search: 'search',\n};\n\nexport const TYPE_INFO_MESSAGE = {\n emptyControlcenter: i18n.t('settings.users.PHONE_NUMBER_ERROR'),\n};\n\nexport const PUSHER_CONNECTION_STATE = {\n connected: 'connected',\n connecting: 'connecting',\n};\n\nexport function getDepotIntegrationTypes() {\n return [\n { key: INTEGRATION_TYPE.none, value: i18n.t('enums.integrationTypes.NONE') },\n { key: INTEGRATION_TYPE.box, value: i18n.t('enums.integrationTypes.BOX') },\n { key: INTEGRATION_TYPE.email, value: i18n.t('enums.integrationTypes.EMAIL') },\n { key: INTEGRATION_TYPE.presto, value: i18n.t('enums.integrationTypes.PRESTO') },\n { key: INTEGRATION_TYPE.beeComm, value: i18n.t('enums.integrationTypes.BEE_COMM') },\n { key: INTEGRATION_TYPE.telegram, value: i18n.t('enums.integrationTypes.TELEGRAM') },\n { key: INTEGRATION_TYPE.paidIt, value: i18n.t('enums.integrationTypes.PAIDIT') },\n { key: INTEGRATION_TYPE.netlunch, value: i18n.t('enums.integrationTypes.NET_LUNCH') },\n { key: INTEGRATION_TYPE.sms, value: i18n.t('enums.integrationTypes.SMS') },\n { key: INTEGRATION_TYPE.clickeat, value: i18n.t('enums.integrationTypes.CLICK_EAT') },\n { key: INTEGRATION_TYPE.wix, value: i18n.t('enums.integrationTypes.WIX') },\n { key: INTEGRATION_TYPE.ordering, value: i18n.t('enums.integrationTypes.ORDERING') },\n { key: INTEGRATION_TYPE.foodNinjas, value: i18n.t('enums.integrationTypes.FOOD_NINJAS') },\n { key: INTEGRATION_TYPE.bamps, value: i18n.t('enums.integrationTypes.BAMPS') },\n { key: INTEGRATION_TYPE.nikosha, value: i18n.t('enums.integrationTypes.NIKOSHA') },\n { key: INTEGRATION_TYPE.caspit, value: i18n.t('enums.integrationTypes.CASPIT') },\n { key: INTEGRATION_TYPE.aviv, value: i18n.t('enums.integrationTypes.AVIV') },\n { key: INTEGRATION_TYPE.uber, value: i18n.t('enums.integrationTypes.UBER') },\n { key: INTEGRATION_TYPE.mcDonalds, value: i18n.t('enums.integrationTypes.MCDONALDS') },\n { key: INTEGRATION_TYPE.wooCommerce, value: i18n.t('enums.integrationTypes.WOO_COMMERCE') },\n { key: INTEGRATION_TYPE.tabit, value: i18n.t('enums.integrationTypes.TABIT') },\n { key: INTEGRATION_TYPE.livraro, value: i18n.t('enums.integrationTypes.LIVRARO') },\n { key: INTEGRATION_TYPE.shopify, value: i18n.t('enums.integrationTypes.SHOPIFY') },\n { key: INTEGRATION_TYPE.beeCommCloud, value: i18n.t('enums.integrationTypes.BEECOMM_CLOUD') },\n { key: INTEGRATION_TYPE.deliverect, value: i18n.t('enums.integrationTypes.DELIVERECT') },\n { key: INTEGRATION_TYPE.gloriaFood, value: i18n.t('enums.integrationTypes.GLORIA_FOOD') },\n { key: INTEGRATION_TYPE.kitchenHub, value: i18n.t('enums.integrationTypes.KITCHEN_HUB') },\n { key: INTEGRATION_TYPE.valueCard, value: i18n.t('enums.integrationTypes.VALUE_CARD') },\n { key: INTEGRATION_TYPE.squareUp, value: i18n.t('enums.integrationTypes.SQUAREUP') },\n { key: INTEGRATION_TYPE.noga, value: i18n.t('enums.integrationTypes.NOGA') },\n { key: INTEGRATION_TYPE.mishloha, value: i18n.t('enums.integrationTypes.MISHLOHA') },\n { key: INTEGRATION_TYPE.halalDeliveryUk, value: i18n.t('enums.integrationTypes.HALAL_DELIVERY') },\n { key: INTEGRATION_TYPE.wixMarketPlace, value: i18n.t('enums.integrationTypes.WIX_MARKET_PLACE') },\n { key: INTEGRATION_TYPE.forgastro, value: i18n.t('enums.integrationTypes.FORGASTRO') },\n { key: INTEGRATION_TYPE.merkus, value: i18n.t('enums.integrationTypes.MERKUS') },\n { key: INTEGRATION_TYPE.portel, value: i18n.t('enums.integrationTypes.PORTEL') },\n { key: INTEGRATION_TYPE.restimo, value: i18n.t('enums.integrationTypes.RESTIMO') },\n { key: INTEGRATION_TYPE.cibeez, value: i18n.t('enums.integrationTypes.CIBEEZ') },\n { key: INTEGRATION_TYPE.internalOutsourcing, value: i18n.t('enums.integrationTypes.INTERNAL_OUTSOURCING') },\n { key: INTEGRATION_TYPE.appyRo, value: i18n.t('enums.integrationTypes.APPYRO') },\n { key: INTEGRATION_TYPE.wolt, value: i18n.t('enums.integrationTypes.WOLT') },\n ];\n}\n\nexport function getDepotIntegrationAddTypes() {\n return [\n { key: INTEGRATION_TYPE.squareUp, value: i18n.t('enums.integrationTypes.SQUAREUP') },\n { key: INTEGRATION_TYPE.presto, value: i18n.t('enums.integrationTypes.PRESTO') },\n { key: INTEGRATION_TYPE.mcDonalds, value: i18n.t('enums.integrationTypes.MCDONALDS') },\n { key: INTEGRATION_TYPE.gloriaFood, value: i18n.t('enums.integrationTypes.GLORIA_FOOD') },\n { key: INTEGRATION_TYPE.foodNinjas, value: i18n.t('enums.integrationTypes.FOOD_NINJAS') },\n { key: INTEGRATION_TYPE.mishloha, value: i18n.t('enums.integrationTypes.MISHLOHA') },\n { key: INTEGRATION_TYPE.halalDeliveryUk, value: i18n.t('enums.integrationTypes.HALAL_DELIVERY') },\n { key: INTEGRATION_TYPE.kitchenHub, value: i18n.t('enums.integrationTypes.KITCHEN_HUB') },\n { key: INTEGRATION_TYPE.beeComm, value: i18n.t('enums.integrationTypes.BEE_COMM') },\n { key: INTEGRATION_TYPE.beeCommCloud, value: i18n.t('enums.integrationTypes.BEECOMM_CLOUD') },\n { key: INTEGRATION_TYPE.aviv, value: i18n.t('enums.integrationTypes.AVIV') },\n { key: INTEGRATION_TYPE.netlunch, value: i18n.t('enums.integrationTypes.NET_LUNCH') },\n { key: INTEGRATION_TYPE.wixMarketPlace, value: i18n.t('enums.integrationTypes.WIX_MARKET_PLACE') },\n { key: INTEGRATION_TYPE.forgastro, value: i18n.t('enums.integrationTypes.FORGASTRO') },\n { key: INTEGRATION_TYPE.merkus, value: i18n.t('enums.integrationTypes.MERKUS') },\n { key: INTEGRATION_TYPE.portel, value: i18n.t('enums.integrationTypes.PORTEL') },\n { key: INTEGRATION_TYPE.restimo, value: i18n.t('enums.integrationTypes.RESTIMO') },\n { key: INTEGRATION_TYPE.cibeez, value: i18n.t('enums.integrationTypes.CIBEEZ') },\n { key: INTEGRATION_TYPE.tabit, value: i18n.t('enums.integrationTypes.TABIT') },\n { key: INTEGRATION_TYPE.email, value: i18n.t('enums.integrationTypes.EMAIL') },\n { key: INTEGRATION_TYPE.appyRo, value: i18n.t('enums.integrationTypes.APPYRO') },\n { key: INTEGRATION_TYPE.clickeat, value: i18n.t('enums.integrationTypes.CLICK_EAT') },\n ];\n}\n\nexport const EXTERNAL_COURIER_PROVIDER = {\n delivApp: 1,\n yango: 2,\n wolt: 3,\n doorDash: 4,\n haat: 6,\n external: 10,\n gett: 7,\n};\n\nexport const EXTERNAL_CYCLE_STATE = {\n started: 0,\n estimationFailed: 1,\n estimated: 2,\n approved: 3,\n driverAssigned: 4,\n driverNotFound: 5,\n deliveryStart: 6,\n closed: 7,\n canceled: 8,\n};\n\nexport function getExternalCourierProviderNameByProvider(provider, isReturnArray = false) {\n const items = [\n { key: EXTERNAL_COURIER_PROVIDER.delivApp, value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_DELIVAPP') },\n { key: EXTERNAL_COURIER_PROVIDER.yango, value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_YANGO') },\n { key: EXTERNAL_COURIER_PROVIDER.wolt, value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_WOLT') },\n {\n key: EXTERNAL_COURIER_PROVIDER.doorDash,\n value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_DOOR_DASH'),\n },\n {\n key: EXTERNAL_COURIER_PROVIDER.gett,\n value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_GETT'),\n },\n { key: EXTERNAL_COURIER_PROVIDER.external, value: i18n.t('externalCycles.EXTERNAL_COURIER_PROVIDER_EXTERNAL') },\n ];\n\n if (isReturnArray) return items;\n\n const item = items.find(f => f.key === provider);\n return (item && item['value']) || '';\n}\n\nexport function getExternalCourierProviderName(provider) {\n if (provider.providerName || provider.name) {\n return provider.providerName || provider.name;\n }\n\n return getExternalCourierProviderNameByProvider(provider.provider);\n}\n\nexport function getExternalCourierState(state) {\n switch (state) {\n case EXTERNAL_CYCLE_STATE.started:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_STARTED');\n case EXTERNAL_CYCLE_STATE.estimationFailed:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_ESTIMATION_FAILED');\n case EXTERNAL_CYCLE_STATE.estimated:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_ESTIMATED');\n case EXTERNAL_CYCLE_STATE.approved:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_APPROVED');\n case EXTERNAL_CYCLE_STATE.driverAssigned:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_DRIVER_ASSIGNED');\n case EXTERNAL_CYCLE_STATE.driverNotFound:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_DRIVER_NOT_FOUND');\n case EXTERNAL_CYCLE_STATE.deliveryStart:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_DELIVERY_START');\n case EXTERNAL_CYCLE_STATE.closed:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_CLOSED');\n case EXTERNAL_CYCLE_STATE.canceled:\n return i18n.t('externalCycles.EXTERNAL_CYCLE_STATE_CANCELED');\n default:\n return '';\n }\n}\n\nexport const NEW_BUSINESS_MENU_TYPE = {\n empty: 0,\n template: 1,\n business: 2,\n fromtemplate: 3\n};\n\nexport const getNewBusinessMenuTypes = () => [\n { key: NEW_BUSINESS_MENU_TYPE.empty, value: i18n.t('settings.createMenu.CREATE_MENU') },\n { key: NEW_BUSINESS_MENU_TYPE.template, value: i18n.t('settings.createMenu.CREATE_FROM_TEMPLATE') },\n { key: NEW_BUSINESS_MENU_TYPE.business, value: i18n.t('settings.createMenu.CREATE_FROM_ANOTHER_BUSINESS') },\n { key: NEW_BUSINESS_MENU_TYPE.fromtemplate, value: i18n.t('settings.createMenu.CREATE_COPY_FROM_TEMPLATE') },\n];\n\nexport const EXTRA_TYPES = {\n extra: 'extra',\n option: 'option',\n suboption: 'suboption',\n};\n\nexport const PARENT_MENU_UNIT_TYPES = {\n category: 'category',\n product: 'product',\n extra: 'extra',\n option: 'option',\n suboption: 'suboption',\n}\n\nexport const INFO_ITEM_TYPE = {\n phone: 'phone',\n address: 'address',\n notes: 'notes',\n serviceNotes: 'serviceNotes',\n};\n\nexport const SUBSCRIPTION_STATE = {\n undefined: 0,\n active: 1,\n canceled: 2,\n expired: 3,\n failed: 4,\n future: 5,\n paused: 6,\n};\n\nexport const INTERVAL_UNIT = {\n undefined: 0,\n days: 1,\n months: 2,\n};\n\nexport const CARD_TYPE = {\n undefined: 0,\n americanExpress: 1,\n dankort: 2,\n dinersClub: 3,\n discover: 4,\n forbrugsforeningen: 5,\n jcb: 6,\n laser: 7,\n maestro: 8,\n mastercard: 9,\n testCard: 10,\n unionPay: 11,\n unknown: 12,\n visa: 13,\n tarjetaNaranja: 14,\n};\n\nexport const PAYMENT_PROVIDER = {\n PayMe: 0,\n Stripe: 1,\n Tranzila: 2,\n};\n\nexport const getPaymentProviders = provider => {\n const items = [\n { key: PAYMENT_PROVIDER.Stripe, value: i18n.t('payment-provider.STRIPE') },\n { key: PAYMENT_PROVIDER.PayMe, value: i18n.t('payment-provider.PAYME') },\n ];\n\n if (provider || provider === 0) {\n return (items.find(p => p.key === provider) || {}).value || '';\n }\n\n return items;\n};\n\nexport const SOURCE_TYPE = {\n logistic: -1,\n app: 0,\n admin: 1,\n mishloha: 2,\n tenBis: 3,\n wolt: 4,\n cibus: 5,\n delivapp: 6,\n};\n\nexport const getOrderSourceTypes = () => {\n const types = orderSourceType();\n return [\n { key: SOURCE_TYPE.app, value: types[SOURCE_TYPE.app] },\n { key: SOURCE_TYPE.admin, value: types[SOURCE_TYPE.admin] },\n { key: SOURCE_TYPE.mishloha, value: types[SOURCE_TYPE.mishloha] },\n { key: SOURCE_TYPE.tenBis, value: types[SOURCE_TYPE.tenBis] },\n { key: SOURCE_TYPE.wolt, value: types[SOURCE_TYPE.wolt] },\n { key: SOURCE_TYPE.cibus, value: types[SOURCE_TYPE.cibus] },\n { key: SOURCE_TYPE.delivapp, value: types[SOURCE_TYPE.delivapp] },\n ];\n}\n\nexport const isMarketplaceOrder = sourceType => [SOURCE_TYPE.app, SOURCE_TYPE.admin].includes(sourceType);\nexport const isLogisticOrder = sourceType => sourceType === SOURCE_TYPE.logistic;\nexport const isValidForRepeat = (order) => (\n isMarketplaceOrder(order?.order_source) && [ACCOUNT_ORDER_STATUS.finished, ACCOUNT_ORDER_STATUS.canceled].includes(order?.status)\n);\n\nexport const orderSourceType = () => ({\n [SOURCE_TYPE.logistic]: i18n.t(\"enums.orderSourceTypes.LOGISTIC\"),\n [SOURCE_TYPE.app]: i18n.t(\"enums.orderSourceTypes.APP\"),\n [SOURCE_TYPE.admin]: i18n.t(\"enums.orderSourceTypes.ADMIN\"),\n [SOURCE_TYPE.mishloha]: i18n.t(\"enums.orderSourceTypes.MISHLOHA\"),\n [SOURCE_TYPE.tenBis]: i18n.t(\"enums.orderSourceTypes.TEN_BIS\"),\n [SOURCE_TYPE.wolt]: i18n.t(\"enums.orderSourceTypes.WOLT\"),\n [SOURCE_TYPE.cibus]: i18n.t(\"enums.orderSourceTypes.CIBUS\"),\n [SOURCE_TYPE.delivapp]: i18n.t(\"enums.orderSourceTypes.DELIVAPP\"),\n});\n\nexport const chatSource = {\n support: 0,\n depot: 1,\n courier: 2,\n consumer: 3,\n};\n\nexport const chatSourceTypes = {\n [chatSource.support]: i18n.t('support-chat.chatSource.SUPPORT'),\n [chatSource.depot]: i18n.t('support-chat.chatSource.DEPOT'),\n [chatSource.courier]: i18n.t('support-chat.chatSource.COURIER'),\n [chatSource.consumer]: i18n.t('support-chat.chatSource.CONSUMER'),\n};\n\nexport const filterStateChat = {\n pendingOperator: 0,\n active: 10,\n closed: 20,\n};\n\nexport const getFilterStateChat = () => [\n { key: filterStateChat.active, value: i18n.t('support-chat.filterChat.ACTIVE') },\n { key: filterStateChat.closed, value: i18n.t('support-chat.filterChat.CLOSED') },\n];\n\nexport const OFFER_DISCOUNT_TARGET = {\n products: 0,\n delivery: 1,\n product: 2,\n};\n\nexport const ORDER_DISCOUNT_TYPE = {\n bonus: 1,\n common: 0,\n}\n\nexport const getOfferDiscountTarget = () => [\n { key: OFFER_DISCOUNT_TARGET.products, value: i18n.t('enums.offerDiscountTarget.PRODUCTS') },\n { key: OFFER_DISCOUNT_TARGET.delivery, value: i18n.t('enums.offerDiscountTarget.DELIVERY') },\n { key: OFFER_DISCOUNT_TARGET.product, value: i18n.t('enums.offerDiscountTarget.PRODUCT') },\n];\n\nexport const getOfferCalculationBase = () => [\n { key: OFFER_DISCOUNT_TARGET.products, value: i18n.t('enums.offerCalculationBase.PRODUCTS') },\n { key: OFFER_DISCOUNT_TARGET.delivery, value: i18n.t('enums.offerCalculationBase.DELIVERY') },\n];\n\nexport const BASIC_PATH = {\n adminOrders: '/adminorders',\n editCustomerOrder: '/edit-customer-order'\n};\n\nexport const GLOBAL_FILTER_TYPE = {\n reviews: 'reviews',\n customers: 'customers',\n sales: 'sales',\n};\n\nexport const APPLICATION_TYPE = {\n courier: 0,\n business: 1,\n};\n\nexport const SALES_TYPES = {\n quantity: 'quantity',\n income: 'income',\n items: 'items',\n source: 'source',\n}\n\nexport const DEEP_LINK_EVENT_TYPE = {\n click: 1,\n redirect: 2,\n appInstall: 3,\n appFirstOpen: 4,\n appReOpen: 5,\n};\n\nexport const DEEP_LINK_EVENT = {\n [DEEP_LINK_EVENT_TYPE.click]: i18n.t(\"deepLinkStats.CLICK\"),\n [DEEP_LINK_EVENT_TYPE.redirect]: i18n.t(\"deepLinkStats.REDIRECT\"),\n [DEEP_LINK_EVENT_TYPE.appInstall]: i18n.t(\"deepLinkStats.APP_INSTALL\"),\n [DEEP_LINK_EVENT_TYPE.appFirstOpen]: i18n.t(\"deepLinkStats.APP_FIRST_OPEN\"),\n [DEEP_LINK_EVENT_TYPE.appReOpen]: i18n.t(\"deepLinkStats.APP_RE_OPEN\"),\n}\n\nexport const EVENT_OBJECT_TYPE = {\n marketplaceMessage: 0,\n marketplacePage: 1,\n offer: 2,\n deliveryZone: 3,\n category: 4,\n product: 5,\n extra: 6,\n option: 7,\n suboption: 8,\n business: 9,\n}\n\nexport const EVENT_OBJECT = {\n [EVENT_OBJECT_TYPE.marketplaceMessage]: i18n.t(\"eventObject.MARKETPLACE_MESSAGE\"),\n [EVENT_OBJECT_TYPE.marketplacePage]: i18n.t(\"eventObject.MARKETPLACE_PAGE\"),\n [EVENT_OBJECT_TYPE.offer]: i18n.t(\"eventObject.OFFER\"),\n [EVENT_OBJECT_TYPE.deliveryZone]: i18n.t(\"eventObject.DELIVERY_ZONE\"),\n [EVENT_OBJECT_TYPE.category]: i18n.t(\"eventObject.CATEGORY\"),\n [EVENT_OBJECT_TYPE.product]: i18n.t(\"eventObject.PRODUCT\"),\n [EVENT_OBJECT_TYPE.extra]: i18n.t(\"eventObject.EXTRA\"),\n [EVENT_OBJECT_TYPE.option]: i18n.t(\"eventObject.OPTION\"),\n [EVENT_OBJECT_TYPE.suboption]: i18n.t(\"eventObject.SUBOPTION\"),\n [EVENT_OBJECT_TYPE.business]: i18n.t(\"eventObject.BUSINESS\"),\n}\n\nexport const imageFormats = [\".apng\", \".avif\", \".gif\", \".jpg\", \".jpeg\", \".jfif\", \".pjpeg\", \".pjp\", \".png\", \".svg\", \".webp\"];\nexport const videoFormats = [\".mp4\"];\n\nexport const GENDER = {\n male: 0,\n female: 1,\n};\n\nexport const getGenders = () => ([\n {key: GENDER.male, value: i18n.t('gender.MALE')},\n {key: GENDER.female, value: i18n.t('gender.FEMALE')},\n]);\n\nexport const getGender = (gender) => {\n return (getGenders().find(g => g.key === gender) || {}).value || '-';\n}\n\nexport const PROVIDERS_TYPE_MODEL = {\n Yango: \"Yango\",\n Wolt: \"Wolt\",\n DoorDash: \"DoorDash\",\n Sendiman: \"Sendiman\",\n Haat: \"Haat\",\n Gett: \"Gett\",\n}\n\nexport const BATCH_STATUS = {\n draft: 0,\n pay: 1,\n inProcess: 2,\n finished: 3\n};\n\nexport const getBatchStatus = (batchStatus) => {\n switch (batchStatus) {\n case BATCH_STATUS.draft:\n return i18n.t('enums.batchOrderStatus.DRAFT');\n case BATCH_STATUS.pay:\n return i18n.t('enums.batchOrderStatus.PAY');\n case BATCH_STATUS.inProcess:\n return i18n.t('enums.batchOrderStatus.IN_PROCESS');\n case BATCH_STATUS.finished:\n return i18n.t('enums.batchOrderStatus.FINISHED');\n default:\n return '';\n }\n}\n\nexport const LOYALTY_LEVEL = {\n 0: i18n.t('enums.loyaltyLevel.0'),\n 1: i18n.t('enums.loyaltyLevel.1'),\n 2: i18n.t('enums.loyaltyLevel.2'),\n}\n\nexport const loyaltyLevels = () => ([\n { key: 0, value: i18n.t('enums.loyaltyLevel.0') },\n { key: 1, value: i18n.t('enums.loyaltyLevel.1') },\n { key: 2, value: i18n.t('enums.loyaltyLevel.2') },\n])\n\nexport const getLoyaltyLevel = (loyalty) => {\n if(!loyalty) {\n return null;\n }\n return LOYALTY_LEVEL[loyalty] || null;\n}\n\n// order_channel\nexport const ORDER_CHANNEL = {\n unknown: 0,\n ios: 1,\n android: 2,\n web: 3,\n kiosk: 4,\n}\n\nexport const orderChannelNames = () => ({\n [ORDER_CHANNEL.unknown]: i18n.t('enums.orderChannel.UNKNOWN'),\n [ORDER_CHANNEL.web]: i18n.t('enums.orderChannel.WEB'),\n [ORDER_CHANNEL.android]: i18n.t('enums.orderChannel.ANDROID'),\n [ORDER_CHANNEL.ios]: i18n.t('enums.orderChannel.IOS'),\n [ORDER_CHANNEL.kiosk]: i18n.t('enums.orderChannel.KIOSK'),\n})\n\nexport const getOrderChannelNames = () => {\n const orderChannel = orderChannelNames();\n return [\n { key: ORDER_CHANNEL.unknown, value: orderChannel[ORDER_CHANNEL.unknown] },\n { key: ORDER_CHANNEL.android, value: orderChannel[ORDER_CHANNEL.android] },\n { key: ORDER_CHANNEL.web, value: orderChannel[ORDER_CHANNEL.web] },\n { key: ORDER_CHANNEL.ios, value: orderChannel[ORDER_CHANNEL.ios] },\n { key: ORDER_CHANNEL.kiosk, value: orderChannel[ORDER_CHANNEL.kiosk] }\n ]\n}\n\nexport const getDepotPaymentValue = () => ([\n { key: true, value: i18n.t(\"settings.paymeWallet.ENABLED\") },\n { key: false, value: i18n.t(\"settings.paymeWallet.DISABLED\") },\n { key: null, value: i18n.t(\"settings.paymeWallet.DEFAULT\") },\n])\n\nexport const COURIER_CONFIRMATION_OPTION = {\n onManualCycleExtension: 0,\n onManualCycleApprove: 1,\n onAutoCycleExtension: 2,\n onAutoCycleApprove: 3,\n onManualCycleExtensionForSalaryCourier: 4,\n onManualCycleApproveForSalaryCourier: 5,\n onAutoCycleExtensionForSalaryCourier: 6,\n onAutoCycleApproveForSalaryCourier: 7,\n}\nexport const getCourierShiftTypes = () => [\n \n { key: SHIFT_TYPE.Normal, value: i18n.t('shifts.type.NORMAL') },\n { key: SHIFT_TYPE.Backup, value: i18n.t('shifts.type.BACKUP') },\n]\n","import {ADD, DELETE, EDIT, GET, REORDER, UPDATE} from '../common-actions';\nimport {MARKETPLACE_MESSAGE_DATA_GET} from '../order/order-actions';\n\nexport const GET_SALES_STATISTICS = \"GET_SALES_STATISTICS\";\nexport const LOAD_RESTAURANT = \"LOAD_RESTAURANT_LOCATIONS\";\nexport const LOAD_RESTAURANT_SUCCESS = LOAD_RESTAURANT + \"_SUCCESS\";\nexport const LOAD_RESTAURANT_FAIL = LOAD_RESTAURANT + \"_FAIL\";\nexport const LOAD_DEPOT_AVATARS = \"LOAD_DEPOT_AVATARS\";\nexport const SAVE_DEPOT_AVATAR = \"SAVE_DEPOT_AVATAR\";\nexport const SAVE_DEPOTS_AVATARS = \"SAVE_DEPOTS_AVATARS\";\nexport const PUSHER_RESTAURANT_STATE_UPDATE = \"PUSHER_RESTAURANT_STATE_UPDATE\";\nexport const RESTAURANT_UPDATE_CONTROL_CENTERS = \"RESTAURANT_UPDATE_CONTROL_CENTERS\";\nexport const RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS = \"RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS\";\nexport const RESTAURANT_CONTROL_CENTER_STATUS_GET = \"RESTAURANT_CONTROL_CENTER_STATUS_GET\";\nexport const RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE = \"RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE\";\nexport const SET_MENU_CREATE_ORDER = \"SET_MENU_CREATE_ORDER\";\nexport const RESTAURANT_SET_MODE = \"RESTAURANT_SET_MODE\";\nexport const RESTAURANT_UPDATE = \"RESTAURANT_UPDATE\";\nexport const SET_BUSINESS_MENU = \"SET_BUSINESS_MENU\";\nexport const REMOVE_BUSINESS_MENU = \"REMOVE_BUSINESS_MENU\";\nexport const SET_BUSINESS_PARENT_MENU = \"SET_BUSINESS_PARENT_MENU\";\nexport const SET_DEPOT_PROVIDERS = \"SET_DEPOT_PROVIDERS\";\nexport const SET_ORDERS_PROVIDER = \"SET_ORDERS_PROVIDER\";\nexport const SET_SHIFT_PROVIDERS = \"SET_SHIFT_PROVIDERS\";\nexport const DEPOT_NEW = \"DEPOT_NEW\";\nexport const DEPOT_EDIT = \"DEPOT_EDIT\";\nexport const DEPOT_DELETE = \"DEPOT_DELETE\";\nexport const SET_DEPOT_AVATAR = \"SET_DEPOT_AVATAR\";\nexport const DEPOT_OPERATION_MODE_SETTING_GET_ALL = \"DEPOT_OPERATION_MODE_SETTING_GET_ALL\";\nexport const DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE = \"DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE\";\nexport const DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_EDIT = DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE + EDIT;\nexport const DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET = \"DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET\";\nexport const DEPOT_INIT_DATA = \"DEPOT_INIT_DATA\";\nexport const DEPOT_INIT_DATA_GET = DEPOT_INIT_DATA + GET;\nexport const DEPOT_OPERATION_MODE_SETTING = \"DEPOT_OPERATION_MODE_SETTING\";\nexport const DEPOT_OPERATION_MODE_SETTING_GET = DEPOT_OPERATION_MODE_SETTING + GET;\nexport const DEPOT_OPERATION_MODE_SETTING_EDIT = DEPOT_OPERATION_MODE_SETTING + EDIT;\nexport const DEPOT_OPERATION_MODE_SETTING_ADD = DEPOT_OPERATION_MODE_SETTING + ADD;\nexport const DEPOT_OPERATION_MODE_SETTING_DELETE = DEPOT_OPERATION_MODE_SETTING + DELETE;\nexport const DEPOT_SETTING = \"DEPOT_SETTING\";\nexport const DEPOT_SETTING_ADD = DEPOT_SETTING + ADD;\nexport const DEPOT_SETTING_EDIT = DEPOT_SETTING + EDIT;\nexport const DEPOT_SETTING_DELETE = DEPOT_SETTING + DELETE;\nexport const DEPOTPAYMEWALLET_SETTING = \"DEPOTPAYMEWALLET_SETTING\";\nexport const DEPOTPAYMEWALLET_SETTING_ADD = DEPOTPAYMEWALLET_SETTING + ADD;\nexport const DEPOTPAYMECREDIT_SETTING = \"DEPOTPAYMECREDIT_SETTING\";\nexport const DEPOTPAYMECREDIT_SETTING_EDIT = DEPOTPAYMECREDIT_SETTING + EDIT;\nexport const DEPOT_BUSINESS_PRODUCT_DEEP_LINK = \"DEPOT_BUSINESS_PRODUCT_DEEP_LINK\";\nexport const MARKETPLACE_DEEP_LINK = \"MARKETPLACE_DEEP_LINK\";\nexport const MARKETPLACE_DEEP_LINK_CREATE = MARKETPLACE_DEEP_LINK + \"_CREATE\";\nexport const DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE = DEPOT_BUSINESS_PRODUCT_DEEP_LINK + \"_CREATE\";\nexport const DEPOT_BUSINESS_DEEP_LINK = \"DEPOT_BUSINESS_DEEP_LINK\";\nexport const DEPOT_BUSINESS_DEEP_LINK_CREATE = DEPOT_BUSINESS_DEEP_LINK + \"_CREATE\";\nexport const DEPOT_BUSINESS_DEEP_LINK_GET = DEPOT_BUSINESS_DEEP_LINK + GET;\nexport const DEPOT_BUSINESS_SKU = \"DEPOT_BUSINESS_SKU\";\nexport const DEPOT_BUSINESS_SKU_GET = DEPOT_BUSINESS_SKU + GET;\nexport const DEPOT_BUSINESS_SKU_EDIT = DEPOT_BUSINESS_SKU + EDIT;\nexport const DEPOT_BUSINESS_SKU_EXPORT = DEPOT_BUSINESS_SKU + \"_EXPORT\";\nexport const DEPOT_BUSINESS_SKU_IMPORT = DEPOT_BUSINESS_SKU + \"_IMPORT\";\nexport const DEPOT_BUSINESS_TRANSLATION = \"TRANSLATION\";\nexport const DEPOT_BUSINESS_TRANSLATION_GET = DEPOT_BUSINESS_TRANSLATION + GET;\nexport const DEPOT_BUSINESS_TRANSLATION_EDIT = DEPOT_BUSINESS_TRANSLATION + EDIT;\nexport const DEPOT_BUSINESS_TRANSLATION_EXPORT = DEPOT_BUSINESS_TRANSLATION + '_EXPORT';\nexport const DEPOT_BUSINESS_TRANSLATION_IMPORT = DEPOT_BUSINESS_TRANSLATION + '_IMPORT';\nexport const BUSINESS_CATEGORY = \"BUSINESS_CATEGORY\";\nexport const BUSINESS_CATEGORY_GET = BUSINESS_CATEGORY + GET;\nexport const BUSINESS_CATEGORY_ADD = BUSINESS_CATEGORY + ADD;\nexport const BUSINESS_CATEGORY_EDIT = BUSINESS_CATEGORY + EDIT;\nexport const BUSINESS_CATEGORY_DELETE = BUSINESS_CATEGORY + DELETE;\nexport const BUSINESS_CATEGORY_UPDATE = BUSINESS_CATEGORY + UPDATE;\nexport const CANCEL_REASON = \"CANCEL_REASON\";\nexport const CANCEL_REASON_EDIT = CANCEL_REASON + EDIT;\nexport const CANCEL_REASON_ADD = CANCEL_REASON + ADD;\nexport const CANCEL_REASON_DELETE = CANCEL_REASON + DELETE;\nexport const CANCEL_REASON_GET = CANCEL_REASON + GET;\nexport const LOAD_DEPOT_USER_BY_ID = \"LOAD_DEPOT_USER_BY_ID\";\nexport const DEPOTPAYMENT_STATE = \"DEPOTPAYMENT_STATE\";\nexport const DEPOTUSERS_SETTING = \"DEPOTUSERS_SETTING\";\nexport const DEPOTUSERS_SETTING_EDIT = DEPOTUSERS_SETTING + EDIT;\nexport const DEPOTUSERS_SETTING_ADD = DEPOTUSERS_SETTING + ADD;\nexport const DEPOTUSERS_SETTING_DELETE = DEPOTUSERS_SETTING + DELETE;\nexport const DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING = \"DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING\";\nexport const DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_EDIT = DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING + EDIT;\nexport const DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_ADD = DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING + ADD;\nexport const DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_DELETE = DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING + DELETE;\nexport const DEPOTPRICE_SETTING = \"DEPOTPRICE_SETTING\";\nexport const DEPOTPRICE_SETTING_EDIT = DEPOTPRICE_SETTING + EDIT;\nexport const DEPOTPRICE_SETTING_APPLY_TO = DEPOTPRICE_SETTING + \"_APPLY_TO\";\nexport const DEPOTPRICE_SETTING_APPLY_TO_ADD = DEPOTPRICE_SETTING + \"_APPLY_TO\" + ADD;\nexport const DEPOTMENU_SETTING = \"DEPOTMENU_SETTING\";\nexport const DEPOTMENU_SETTING_EDIT = DEPOTMENU_SETTING + EDIT;\nexport const DEPOTMENU_SETTING_CHECK = DEPOTMENU_SETTING + \"_CHECK\";\nexport const DEPOTMENU_GET = \"DEPOTMENU_GET\" + GET;\nexport const DEPOT_MENU_COPY = \"DEPOT_MENU_COPY\";\nexport const DEPOT_MENU_COPY_EDIT = DEPOT_MENU_COPY + EDIT;\nexport const ORDERING_MENU = \"ORDERING_MENU\";\nexport const ORDERING_MENU_EDIT = ORDERING_MENU + EDIT;\nexport const ORDERING_MENU_GET = ORDERING_MENU + \"_GET\";\nexport const BUSINESS_MENU = \"BUSINESS_MENU\";\nexport const BUSINESS_MENU_GET = BUSINESS_MENU + \"_GET\";\nexport const SETTINGS_OFFERS = \"SETTINGS_OFFERS\";\nexport const SETTINGS_OFFERS_ADD = SETTINGS_OFFERS + ADD;\nexport const SETTINGS_OFFERS_EDIT = SETTINGS_OFFERS + EDIT;\nexport const SETTINGS_OFFERS_DELETE = SETTINGS_OFFERS + DELETE;\nexport const SETTINGS_OFFERS_GET = SETTINGS_OFFERS + \"_GET\";\nexport const SETTINGS_DELIVERY_ZONES = \"SETTINGS_DELIVERY_ZONES\";\nexport const SETTINGS_DELIVERY_ZONES_ADD = SETTINGS_DELIVERY_ZONES + ADD;\nexport const SETTINGS_DELIVERY_ZONES_EDIT = SETTINGS_DELIVERY_ZONES + EDIT;\nexport const SETTINGS_DELIVERY_ZONES_DELETE = SETTINGS_DELIVERY_ZONES + DELETE;\nexport const SETTINGS_DELIVERY_ZONES_GET = SETTINGS_DELIVERY_ZONES + \"_GET\";\nexport const SETTINGS_DELIVERY_ZONES_LIST_UPDATE = SETTINGS_DELIVERY_ZONES + \"_LIST_UPDATE\";\nexport const ORDERING_MENU_DELIVERY_ZONES = \"ORDERING_MENU_DELIVERY_ZONES\";\nexport const ORDERING_MENU_DELIVERY_ZONES_GLOBAL = \"ORDERING_MENU_DELIVERY_ZONES_GLOBAL\";\nexport const ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT = ORDERING_MENU_DELIVERY_ZONES_GLOBAL + EDIT;\nexport const ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET = ORDERING_MENU_DELIVERY_ZONES_GLOBAL + EDIT + \"_RESET\";\nexport const ORDERING_MENU_DELIVERY_ZONES_ADD = ORDERING_MENU_DELIVERY_ZONES + ADD;\nexport const ORDERING_MENU_DELIVERY_ZONES_EDIT = ORDERING_MENU_DELIVERY_ZONES + EDIT;\nexport const ORDERING_MENU_DELIVERY_ZONES_DELETE = ORDERING_MENU_DELIVERY_ZONES + DELETE;\nexport const ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE = ORDERING_MENU_DELIVERY_ZONES + \"_LIST_UPDATE\";\nexport const ORDERING_MENU_DELIVERY_ZONES_UPDATE = ORDERING_MENU_DELIVERY_ZONES + \"_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_SCHEDULE = \"ORDERING_MENU_BUSINESS_SCHEDULE\";\nexport const ORDERING_MENU_BUSINESS_SCHEDULE_EDIT = ORDERING_MENU_BUSINESS_SCHEDULE + EDIT;\nexport const ORDERING_MENU_BUSINESS_DISCOUNTS = \"ORDERING_MENU_BUSINESS_DISCOUNTS\";\nexport const ORDERING_MENU_BUSINESS_DISCOUNTS_ADD = ORDERING_MENU_BUSINESS_DISCOUNTS + ADD;\nexport const ORDERING_MENU_BUSINESS_DISCOUNTS_EDIT = ORDERING_MENU_BUSINESS_DISCOUNTS + EDIT;\nexport const ORDERING_MENU_BUSINESS_DISCOUNTS_DELETE = ORDERING_MENU_BUSINESS_DISCOUNTS + DELETE;\nexport const ORDERING_MENU_BUSINESS_INFO = \"ORDERING_MENU_BUSINESS_INFO\";\nexport const ORDERING_MENU_BUSINESS_INFO_EDIT = ORDERING_MENU_BUSINESS_INFO + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORIES = \"ORDERING_MENU_BUSINESS_CATEGORIES\";\nexport const ORDERING_MENU_BUSINESS_CATEGORIES_EDIT = ORDERING_MENU_BUSINESS_CATEGORIES + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORIES_ADD = ORDERING_MENU_BUSINESS_CATEGORIES + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORIES_DELETE = ORDERING_MENU_BUSINESS_CATEGORIES + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE = ORDERING_MENU_BUSINESS_CATEGORIES + \"_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE = ORDERING_MENU_BUSINESS_CATEGORIES + \"_LIST_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT + \"_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_ADD = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DELETE = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_AVATAR = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS + \"AVATAR\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_EDIT = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\" + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_ADD = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\" + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_DELETE = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\" + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_REORDER = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\" + REORDER;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_UPDATE = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT\" + UPDATE;\nexport const GET_ORDERING_MENU_BUSINESS_EXTRA = \"GET_ORDERING_MENU_BUSINESS_EXTRA\";\nexport const ORDERING_MENU_BUSINESS_EXTRA = \"ORDERING_MENU_BUSINESS_EXTRA\";\nexport const ORDERING_MENU_BUSINESS_EXTRA_EDIT = \"ORDERING_MENU_BUSINESS_EXTRA\" + EDIT;\nexport const ORDERING_MENU_BUSINESS_EXTRA_ADD = \"ORDERING_MENU_BUSINESS_EXTRA\" + ADD;\nexport const ORDERING_MENU_BUSINESS_EXTRA_DELETE = \"ORDERING_MENU_BUSINESS_EXTRA\" + DELETE;\nexport const ORDERING_MENU_BUSINESS_EXTRA_UPDATE = \"ORDERING_MENU_BUSINESS_EXTRA\" + UPDATE;\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\";\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_EDIT = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\" + EDIT;\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_ADD = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\" + ADD;\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_DELETE = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\" + DELETE;\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_UPDATE = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\" + UPDATE;\nexport const ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_REORDER = \"ORDERING_MENU_BUSINESS_EXTRA_OPTIONS\" + REORDER;\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\";\nexport const ORDERING_MENU_BUSINESS_EXSTRAS_SUBOPTION_UPDATE_IMAGE = ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION + \"_UPDATE_IMAGE\";\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_EDIT = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\" + EDIT;\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_ADD = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\" + ADD;\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_DELETE = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\" + DELETE;\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_REORDER = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\" + REORDER;\nexport const ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_UPDATE = \"ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION\" + UPDATE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_ADD = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_DEPOT = \"ORDERING_MENU_BUSINESS_CATEGORY_DEPOT\"\nexport const ORDERING_MENU_BUSINESS_CATEGORY_DEPOT_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_DEPOT + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT = \"ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT\"\nexport const ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT\"\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT\"\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ADD = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DELETE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_REORDER = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION + REORDER;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_UPDATE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION + \"_UPDATE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION = \"ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_EDIT = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + EDIT;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXSTRAS_SUBOPTION_UPDATE_IMAGE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + \"_UPDATE_IMAGE\";\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ADD = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + ADD;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DELETE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + DELETE;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_REORDER = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + REORDER;\nexport const ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_UPDATE = ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION + UPDATE;\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA = \"ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA\";\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA = \"TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA\";\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION = \"TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION\";\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION = \"TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION\";\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION + DELETE;\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION + EDIT;\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION + EDIT;\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION + DELETE;\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA + DELETE;\nexport const TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT = TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA + EDIT;\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT = ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA + EDIT;\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION = \"ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION\";\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT = ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION + EDIT;\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION = \"ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION\";\nexport const ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT = ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION + EDIT;\nexport const PARENT_MENU_OVERRIDE_DELETE = \"PARENT_MENU_OVERRIDE_DELETE\";\nexport const PARENT_MENU_OVERRIDE_SUBOPTION = \"PARENT_MENU_OVERRIDE_SUBOPTION\";\nexport const PARENT_MENU_OVERRIDE_SUBOPTION_EDIT = PARENT_MENU_OVERRIDE_SUBOPTION + EDIT;\nexport const PARENT_MENU_OVERRIDE_OPTION = \"PARENT_MENU_OVERRIDE_OPTION\";\nexport const PARENT_MENU_OVERRIDE_OPTION_EDIT = PARENT_MENU_OVERRIDE_OPTION + EDIT;\nexport const PARENT_MENU_OVERRIDE_EXTRA = \"PARENT_MENU_OVERRIDE_EXTRA\";\nexport const PARENT_MENU_OVERRIDE_EXTRA_EDIT = PARENT_MENU_OVERRIDE_EXTRA + EDIT;\nexport const PARENT_MENU_OVERRIDE_PRODUCT = \"PARENT_MENU_OVERRIDE_PRODUCT\";\nexport const PARENT_MENU_OVERRIDE_PRODUCT_EDIT = PARENT_MENU_OVERRIDE_PRODUCT + EDIT;\nexport const PARENT_MENU_OVERRIDE_CATEGORY = \"PARENT_MENU_OVERRIDE_CATEGORY\";\nexport const PARENT_MENU_OVERRIDE_CATEGORY_EDIT = PARENT_MENU_OVERRIDE_CATEGORY + EDIT;\nexport const ORDERING_MENU_BUSINESS_PRODUCT_DELETE_OVERRIDE = \"ORDERING_MENU_BUSINESS_PRODUCT_DELETE_OVERRIDE\";\nexport const ORDERING_MENU_BUSINESS_GALLERY = \"ORDERING_MENU_BUSINESS_GALLERY\";\nexport const ORDERING_MENU_BUSINESS_GALLERY_EDIT = ORDERING_MENU_BUSINESS_GALLERY + EDIT;\nexport const ORDERING_MENU_BUSINESS_GALLERY_DELETE = ORDERING_MENU_BUSINESS_GALLERY + DELETE;\nexport const ORDERING_MENU_BUSINESS_GALLERY_ADD = ORDERING_MENU_BUSINESS_GALLERY + ADD;\nexport const ORDERING_MENU_BUSINESS_GALLERY_REORDER = ORDERING_MENU_BUSINESS_GALLERY + REORDER;\nexport const SET_ORDERING_MENU_BUSINESS_INFO_AVATAR = \"SET_ORDERING_MENU_BUSINESS_INFO_AVATAR\";\nexport const SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI = \"SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI\";\nexport const GET_DEPOT_USERS = \"GET_DEPOT_USERS\";\nexport const GET_DEPOT_PRICE = \"GET_DEPOT_PRICE\";\nexport const SHIFTS_GET = \"SHIFTS_GET\";\nexport const SHIFTS_SAVE = \"SHIFTS_SAVE\";\nexport const UPDATE_SHIFTS = \"UPDATE_SHIFTS\";\nexport const SAVE_DEPOT_USERS = \"SAVE_DEPOT_USERS\";\nexport const UPDATE_DEPOT_USER = \"UPDATE_DEPOT_USER\";\nexport const ADD_DEPOT_USER = \"ADD_DEPOT_USER\";\nexport const DEPOTUSERS_SETTING_PASSWORD = \"DEPOTUSERS_SETTING_PASSWORD\";\nexport const DEPOTUSERS_SETTING_PASSWORD_EDIT =\n DEPOTUSERS_SETTING_PASSWORD + EDIT;\nexport const SHIPMENT_PRICE_CONFIGURATION = \"SHIPMENT_PRICE_CONFIGURATION\";\nexport const SHIPMENT_PRICE_CONFIGURATION_EDIT = SHIPMENT_PRICE_CONFIGURATION + EDIT;\nexport const SHIPMENT_PRICE_CONFIGURATION_GET = SHIPMENT_PRICE_CONFIGURATION + GET;\nexport const GENERAL_SETTING = \"GENERAL_SETTING\";\nexport const GENERAL_SETTING_EDIT = GENERAL_SETTING + EDIT;\nexport const GENERAL_SETTING_GET = GENERAL_SETTING + \"_GET\";\nexport const MESSAGE_GALLERY = \"MESSAGE_GALLERY\";\nexport const MESSAGE_GALLERY_GET = MESSAGE_GALLERY + GET;\nexport const MESSAGE_GALLERY_EDIT = MESSAGE_GALLERY + EDIT;\nexport const MESSAGE_GALLERY_DELETE = MESSAGE_GALLERY + DELETE;\nexport const MARKETPLACE_MENU_CLEAR_OVERRIDE = \"MARKETPLACE_MENU_CLEAR_OVERRIDE\";\nexport const MARKETPLACE_MESSAGE = \"MARKETPLACE_MESSAGE\";\nexport const MARKETPLACE_PAGES = \"MARKETPLACE_PAGES\";\nexport const MARKETPLACE_PAGES_ADD = MARKETPLACE_PAGES + ADD;\nexport const MARKETPLACE_PAGES_EDIT = MARKETPLACE_PAGES + EDIT;\nexport const MARKETPLACE_PAGES_DELETE = MARKETPLACE_PAGES + DELETE;\nexport const MARKETPLACE_MESSAGE_ADD = MARKETPLACE_MESSAGE + ADD;\nexport const MARKETPLACE_MESSAGE_EDIT = MARKETPLACE_MESSAGE + EDIT;\nexport const MARKETPLACE_MESSAGE_TOGGLE_ENABLED = \"MARKETPLACE_MESSAGE_TOGGLE_ENABLED\";\nexport const MARKETPLACE_PAGES_TOGGLE_ENABLED = \"MARKETPLACE_PAGES_TOGGLE_ENABLED\";\nexport const MARKETPLACE_MESSAGE_DELETE = MARKETPLACE_MESSAGE + DELETE;\nexport const ADD_MARKETPLACE_MESSAGE = ADD + MARKETPLACE_MESSAGE;\nexport const ADD_MARKETPLACE_PAGES = ADD + MARKETPLACE_PAGES;\nexport const UPDATE_MARKETPLACE_MESSAGE_GALLERY = \"UPDATE_MARKETPLACE_MESSAGE_GALLERY\";\nexport const UPDATE_MARKETPLACE_MESSAGE_GALLERY_ADD = UPDATE_MARKETPLACE_MESSAGE_GALLERY + ADD;\nexport const UPDATE_MARKETPLACE_MESSAGE = UPDATE + MARKETPLACE_MESSAGE;\nexport const DELETE_MARKETPlACE_MESSAGE = DELETE + MARKETPLACE_MESSAGE;\nexport const UPDATE_MARKETPLACE_PAGE = UPDATE + MARKETPLACE_PAGES;\nexport const DELETE_MARKETPLACE_PAGE = DELETE + MARKETPLACE_PAGES;\nexport const MARKETPLACE_MESSAGE_UPDATE = MARKETPLACE_MESSAGE + UPDATE;\nexport const MARKETPLACE_PAGES_UPDATE = MARKETPLACE_PAGES + UPDATE;\nexport const MARKETPLACE_SETTINGS = \"MARKETPLACE_SETTINGS\";\nexport const MARKETPLACE_SETTINGS_EDIT = MARKETPLACE_SETTINGS + EDIT;\nexport const TELEGRAM_SETTING = \"TELEGRAM_SETTING\";\nexport const TELEGRAM_SETTING_EDIT = TELEGRAM_SETTING + EDIT;\nexport const OPERATION_TIMING_SETTING = \"PRESET_TIMING_SETTING\";\nexport const OPERATION_TIMING_SETTING_EDIT = OPERATION_TIMING_SETTING + EDIT;\nexport const OPERATION_TIMING_SETTING_ADD = OPERATION_TIMING_SETTING + ADD;\nexport const OPERATION_TIMING_SETTING_DELETE = OPERATION_TIMING_SETTING + DELETE;\nexport const OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY = \"OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY\";\nexport const OPERATION_TIMING_SETTINGS_GET = OPERATION_TIMING_SETTING + GET;\nexport const PAYMENTS_CONFIGURATION_SETTING = \"PAYMENTS_CONFIGURATION_SETTING\";\nexport const PAYMENTS_CONFIGURATION_SETTING_EDIT = PAYMENTS_CONFIGURATION_SETTING + EDIT;\nexport const RESTAURANT_PAYME_WALLET_SETTING = \"RESTAURANT_PAYME_WALLET_SETTING\";\nexport const RESTAURANT_PAYME_WALLET_SETTING_ADD = RESTAURANT_PAYME_WALLET_SETTING + ADD;\nexport const RESTAURANT_PAYMENT_STATE = \"RESTAURANT_PAYMENT_STATE\";\nexport const REGION_SETTING = \"REGION_SETTING\";\nexport const REGION_SETTING_EDIT = REGION_SETTING + EDIT;\nexport const REGION_SETTING_ADD = REGION_SETTING + ADD;\nexport const REGION_SETTING_DELETE = REGION_SETTING + DELETE;\nexport const FLEET_SETTINGS = \"FLEET_SETTINGS\";\nexport const FLEET_SETTINGS_UNMOUNT = \"FLEET_SETTINGS_UNMOUNT\";\nexport const FLEET_SETTINGS_LOAD = \"FLEET_SETTINGS_LOAD\";\nexport const FLEET_SETTINGS_TELEMETRY_LOAD = \"FLEET_SETTINGS_TELEMETRY_LOAD\";\nexport const FLEET_SETTINGS_FLEET_VEHICLE_LOAD = \"FLEET_SETTINGS_FLEET_VEHICLE_LOAD\";\nexport const FLEET_SETTINGS_GET = FLEET_SETTINGS + GET;\nexport const FLEET_SETTINGS_TELEMETRY_GET = \"FLEET_SETTINGS_TELEMETRY\" + GET;\nexport const FLEET_SETTINGS_TELEMETRY_BLINK = \"FLEET_SETTINGS_TELEMETRY_BLINK\";\nexport const FLEET_SETTINGS_EDIT = FLEET_SETTINGS + EDIT;\nexport const FLEET_SETTINGS_ADD = FLEET_SETTINGS + ADD;\nexport const FLEET_SETTINGS_DELETE = FLEET_SETTINGS + DELETE;\nexport const PROVIDERS_SETTING = \"PROVIDERS_SETTING\";\nexport const PROVIDERS_SETTING_DETAILS_UNMOUNT = \"PROVIDERS_SETTING_DETAILS_UNMOUNT\";\nexport const PROVIDERS_SETTING_GET = PROVIDERS_SETTING + GET;\nexport const PROVIDERS_SETTING_DETAILS_GET = \"PROVIDERS_SETTING_DETAILS\" + GET;\nexport const PROVIDERS_SETTING_EDIT = PROVIDERS_SETTING + EDIT;\nexport const PROVIDERS_SETTING_ADD = PROVIDERS_SETTING + ADD;\nexport const PROVIDERS_SETTING_DELETE = PROVIDERS_SETTING + DELETE;\nexport const PROVIDERS_SETTING_LOAD = \"PROVIDERS_SETTING_LOAD\";\nexport const PROVIDERS_SETTING_LOAD_DETAILS = \"PROVIDERS_SETTING_LOAD_DETAILS\";\nexport const PROVIDERS_SETTING_UPDATE = \"PROVIDERS_SETTING_UPDATE\";\nexport const CLOUD_PRINTERS_SETTING = \"CLOUD_PRINTERS_SETTING\";\nexport const CLOUD_PRINTERS_SETTING_UPDATE = \"CLOUD_PRINTERS_SETTING_UPDATE\";\nexport const CLOUD_PRINTERS_SETTING_LOAD = \"CLOUD_PRINTERS_SETTING_LOAD\";\nexport const CLOUD_PRINTERS_SETTING_ADD = CLOUD_PRINTERS_SETTING + ADD;\nexport const CLOUD_PRINTERS_SETTING_LOAD_DETAILS = \"CLOUD_PRINTERS_SETTING_LOAD_DETAILS\";\nexport const CLOUD_PRINTERS_SETTING_EDIT = CLOUD_PRINTERS_SETTING + EDIT;\nexport const CLOUD_PRINTERS_SETTING_GET = CLOUD_PRINTERS_SETTING + GET;\nexport const CLOUD_PRINTERS_SETTING_DELETE = CLOUD_PRINTERS_SETTING + DELETE;\nexport const CLOUD_PRINTERS_SETTING_DETAILS_GET = \"CLOUD_PRINTERS_SETTING_DETAILS\" + GET;\nexport const CLOUD_PRINTERS_SETTING_DETAILS_UNMOUNT = \"CLOUD_PRINTERS_SETTING_DETAILS_UNMOUNT\";\n\nexport const SERVICE_CITIES_SETTING = \"SERVICE_CITIES_SETTING\";\nexport const SERVICE_CITIES_SETTING_TOGGLE = \"SERVICE_CITIES_SETTING_TOGGLE\";\nexport const SERVICE_CITIES_SETTING_ADD = SERVICE_CITIES_SETTING + ADD;\nexport const SERVICE_CITIES_SETTING_EDIT = SERVICE_CITIES_SETTING + EDIT;\nexport const SERVICE_CITIES_SETTING_GET = SERVICE_CITIES_SETTING + GET;\nexport const SERVICE_CITIES_SETTING_DELETE = SERVICE_CITIES_SETTING + DELETE;\nexport const SEARCH_SHORTCUT_SETTING = \"SEARCH_SHORTCUT_SETTING\";\nexport const SEARCH_SHORTCUT_SETTING_ADD = SEARCH_SHORTCUT_SETTING + ADD;\nexport const SEARCH_SHORTCUT_SETTING_DELETE = SEARCH_SHORTCUT_SETTING + DELETE;\nexport const NAMED_PLACES = \"NAMED_PLACES\";\nexport const NAMED_PLACES_GET = NAMED_PLACES + GET;\nexport const NAMED_PLACES_ADD = NAMED_PLACES + ADD;\nexport const NAMED_PLACES_EDIT = NAMED_PLACES + EDIT;\nexport const NAMED_PLACES_DELETE = NAMED_PLACES + DELETE;\nexport const GET_USER_SHIFT_HISTORY = \"GET_USER_SHIFT_HISTORY\";\nexport const GET_PROVIDER_SHIFT_HISTORY = \"GET_PROVIDER_SHIFT_HISTORY\";\nexport const CURRENT_SHIFT_USERS = \"CURRENT_SHIFT_USERS\";\nexport const SHIFT_PROVIDERS = \"SHIFT_PROVIDERS\";\nexport const SHIFT_PROVIDERS_GET = SHIFT_PROVIDERS + GET;\nexport const SHIFTS_HISTORY_SAVE = \"SHIFTS_HISTORY_SAVE\";\nexport const SHIFTS_TRIP_HISTORY_ADD = \"SHIFTS_TRIP_HISTORY_ADD\";\nexport const SETTINGS_CONTROL_CENTER = \"SETTINGS_CONTROL_CENTER\";\nexport const SETTINGS_CONTROL_CENTER_EDIT = SETTINGS_CONTROL_CENTER + EDIT;\nexport const SETTINGS_CONTROL_CENTER_GET = SETTINGS_CONTROL_CENTER + GET;\nexport const SETTINGS_CONTROL_CENTER_ACTIVATE =\n SETTINGS_CONTROL_CENTER + \"_ACTIVATE\";\nexport const SETTINGS_CONTROL_CENTER_ACTIVATE_EDIT =\n SETTINGS_CONTROL_CENTER_ACTIVATE + EDIT;\nexport const SETTINGS_CONTROL_CENTER_DEACTIVATE =\n SETTINGS_CONTROL_CENTER + \"_DEACTIVATE\";\nexport const SETTINGS_CONTROL_CENTER_DEACTIVATE_EDIT =\n SETTINGS_CONTROL_CENTER_DEACTIVATE + EDIT;\nexport const SETTINGS_CONTROL_CENTER_CHANGEUSER =\n SETTINGS_CONTROL_CENTER + \"_CHANGEUSER\";\nexport const SETTINGS_CONTROL_CENTER_CHANGEUSER_EDIT =\n SETTINGS_CONTROL_CENTER_CHANGEUSER + EDIT;\nexport const COPY_TELEGRAM_COMMAND = \"COPY_TELEGRAM_COMMAND\";\nexport const GET_ORDER_STAT = \"GET_ORDER_STAT\";\nexport const SET_ACTIVATE_MODEL = \"SET_ACTIVATE_MODEL\";\nexport const PUSHER_DEPOT_SERVICES_REFRESH = \"PUSHER_DEPOT_SERVICES_REFRESH\";\nexport const GIFT_CARD = \"GIFT_CARD\";\nexport const GIFT_CARD_GET = GIFT_CARD + \"_GET\";\nexport const GIFT_CARD_EDIT = GIFT_CARD + EDIT;\nexport const GIFT_CARD_PRODUCT = GIFT_CARD + \"_PRUDUCT\";\nexport const GIFT_CARD_PRODUCT_EDIT = GIFT_CARD_PRODUCT + EDIT;\nexport const GIFT_CARD_PRODUCT_ADD= GIFT_CARD_PRODUCT + ADD;\nexport const GIFT_CARD_PRODUCT_DELETE= GIFT_CARD_PRODUCT + DELETE;\nexport const GIFT_CARD_PRODUCT_UPDATE= GIFT_CARD_PRODUCT + \"_UPDATE\";\nexport const GIFT_CARD_PRODUCT_REORDER= GIFT_CARD_PRODUCT + \"_REORDER\";\nexport const GIFT_CARD_PRODUCT_UPDATE_AVATAR = GIFT_CARD_PRODUCT + \"_UPDATE_AVATAR\";\nexport const GIFT_CARD_BUSINESS_UPDATE_AVATAR = GIFT_CARD_PRODUCT + \"_BUSINESS_UPDATE_AVATAR\";\nexport const COURIER_DELIVERY_FEES_TEMPLATE_SETTING = \"COURIER_DELIVERY_FEES_TEMPLATE_SETTING\";\nexport const COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET = COURIER_DELIVERY_FEES_TEMPLATE_SETTING + GET;\nexport const COURIER_DELIVERY_FEES_TEMPLATE_SETTING_EDIT = COURIER_DELIVERY_FEES_TEMPLATE_SETTING + EDIT;\nexport const COURIER_DELIVERY_FEES_TEMPLATE_SETTING_ADD = COURIER_DELIVERY_FEES_TEMPLATE_SETTING + ADD;\nexport const COURIER_DELIVERY_FEES_TEMPLATE_SETTING_DELETE = COURIER_DELIVERY_FEES_TEMPLATE_SETTING + DELETE;\nexport const COURIER_DELIVERY_FEES_SETTING = \"COURIER_DELIVERY_FEES_SETTING\";\nexport const COURIER_DELIVERY_FEES_SETTING_GET = \"COURIER_DELIVERY_FEES_SETTING_GET\";\nexport const COURIER_DELIVERY_FEES_SETTING_EDIT = \"COURIER_DELIVERY_FEES_SETTING\" + EDIT;\nexport const REFERRAL_SETTINGS = \"REFERRAL_SETTINGS\";\nexport const LOYALTY_SETTINGS = \"LOYALTY_SETTINGS\";\nexport const LOYALTY_SETTINGS_GET = LOYALTY_SETTINGS + GET;\nexport const LOYALTY_SETTINGS_REGISTER_VOUCHER = \"LOYALTY_SETTINGS_REGISTER_VOUCHER\";\nexport const LOYALTY_SETTINGS_REGISTER_VOUCHER_EDIT = LOYALTY_SETTINGS_REGISTER_VOUCHER + EDIT;\nexport const LOYALTY_SETTINGS_CASHBACK = \"LOYALTY_SETTINGS_CASHBACK\";\nexport const LOYALTY_SETTINGS_CASHBACK_EDIT = LOYALTY_SETTINGS_CASHBACK + EDIT;\nexport const REFERRAL_SETTINGS_EDIT = REFERRAL_SETTINGS + EDIT;\nexport const REFERRAL_SETTINGS_GET = REFERRAL_SETTINGS + \"_GET\";\nexport const CURRENT_CONTROL_CENTER_UPDATE = \"CURRENT_CONTROL_CENTER_UPDATE\";\nexport const CONTROL_CENTER_REFRESH = \"CONTROL_CENTER_REFRESH\";\nexport const DRIVER_TIP = \"DRIVER_TIP\";\nexport const DRIVER_TIP_EDIT = DRIVER_TIP + EDIT;\nexport const DRIVER_TIP_GET = DRIVER_TIP + \"_GET\";\nexport const LIST_PROMOTION_SETTING = \"LIST_PROMOTION_SETTING\";\nexport const LIST_PROMOTION_SETTING_ADD = LIST_PROMOTION_SETTING + ADD;\nexport const LIST_PROMOTION_SETTING_EDIT = LIST_PROMOTION_SETTING + EDIT;\nexport const LIST_PROMOTION_SETTING_DELETE = LIST_PROMOTION_SETTING + DELETE;\nexport const LIST_PROMOTION_SETTING_GET = LIST_PROMOTION_SETTING + \"_GET\";\nexport const LIST_PROMOTION_SETTING_DRAG = LIST_PROMOTION_SETTING + \"_DRAG\";\nexport const LOYALTY_CAMPAIGNS = \"LOYALTY_CAMPAIGNS\";\nexport const LOYALTY_CAMPAIGNS_ADD = LOYALTY_CAMPAIGNS + ADD;\nexport const LOYALTY_CAMPAIGNS_DELETE = LOYALTY_CAMPAIGNS + DELETE;\nexport const LOYALTY_CAMPAIGNS_EDIT = LOYALTY_CAMPAIGNS + EDIT;\nexport const LOYALTY_CAMPAIGNS_GET = LOYALTY_CAMPAIGNS + \"_GET\";\nexport const LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET = LOYALTY_CAMPAIGNS + \"_AUDIENCE_FILTER_COUNT_GET\";\nexport const LOYALTY_CAMPAIGNS_TOGGLE_ENABLED = \"LOYALTY_CAMPAIGNS_TOGGLE_ENABLED\";\nexport const EXECUTE_COMPAIGN = \"EXECUTE_COMPAING\";\nexport const LOYALTY_CAMPAIGNS_EXECUTIONS_GET = LOYALTY_CAMPAIGNS + \"_EXECUTIONS\" + GET;\nexport const LOYALTY_CAMPAIGNS_EXECUTIONS_ADD = LOYALTY_CAMPAIGNS + \"_EXECUTIONS\" + ADD;\nexport const LOYALTY_CAMPAIGNS_EXECUTIONS_UPDATE_BY_ID = LOYALTY_CAMPAIGNS + \"_EXECUTIONS_UPDATE_BY_ID\";\nexport const SERVICE_FEE = \"SERVICE_FEE\";\nexport const SERVICE_FEE_EDIT = SERVICE_FEE + EDIT;\nexport const SERVICE_FEE_GET = SERVICE_FEE + \"_GET\";\nexport const MENU_TEMPLATE = \"MENU_TEMPLATE\";\nexport const MENU_TEMPLATE_GET = \"MENU_TEMPLATE_GET\";\nexport const MENU_TEMPLATE_DELETE = MENU_TEMPLATE + DELETE;\nexport const MENU_TEMPLATE_EDIT = MENU_TEMPLATE + EDIT;\nexport const MENU_TEMPLATE_ADD = MENU_TEMPLATE + ADD;\nexport const MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING = \"MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING\";\nexport const MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT = MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING + EDIT;\nexport const BUSINESS_PARENT_MENU = \"BUSINESS_PARENT_MENU\"\nexport const BUSINESS_PARENT_MENU_GET = BUSINESS_PARENT_MENU + \"_GET\";\nexport const BUSINESS_PARENT_MENU_UPDATE = BUSINESS_PARENT_MENU + UPDATE;\nexport const CHECK_SQUAREUP_AUTHORIZED_REQUIRED = \"CHECK_SQUAREUP_AUTHORIZED_REQUIRED\";\nexport const GET_BUSINESS_BY_QUERY = \"GET_BUSINESS_BY_QUERY\";\nexport const RESTAURANT_DELIVERY_ZONE = \"RESTAURANT_DELIVERY_ZONE\";\nexport const RESTAURANT_DELIVERY_ZONE_UPDATE = RESTAURANT_DELIVERY_ZONE + UPDATE;\nexport const COURIER_SETTINGS = \"COURIER_SETTINGS\";\nexport const COURIER_SETTINGS_GET = COURIER_SETTINGS + \"_GET\";\nexport const COURIER_SETTINGS_EDIT = COURIER_SETTINGS + EDIT;\nexport const BUSINESS_APP_CONFIGURATION = \"BUSINESS_APP_CONFIGURATION\";\nexport const BUSINESS_APP_CONFIGURATION_GET = BUSINESS_APP_CONFIGURATION + GET;\nexport const BUSINESS_APP_CONFIGURATION_EDIT = BUSINESS_APP_CONFIGURATION + EDIT;\n\nexport function actionLoadRestaurant(payload) {\n return {\n type: LOAD_RESTAURANT,\n payload: {\n ...payload\n }\n };\n}\n\nexport function actionLoadRestaurantSuccess(data) {\n return { type: LOAD_RESTAURANT_SUCCESS, data, additionalParams: { batched: true } };\n}\nexport function actionLoadFleet(data) {\n return { type: FLEET_SETTINGS_LOAD, data };\n}\nexport function actionLoadFleetTelemetry(data) {\n return { type: FLEET_SETTINGS_TELEMETRY_LOAD, data };\n}\nexport function actionLoadFleetUpdate(data) {\n return { type: FLEET_SETTINGS_FLEET_VEHICLE_LOAD, data };\n}\n\nexport function actionLoadRestaurantFail(error) {\n return {\n type: LOAD_RESTAURANT_FAIL,\n error: error\n };\n}\n\nexport function actionLoadDepotAvatars(data) {\n return {\n type: LOAD_DEPOT_AVATARS,\n data: data\n };\n\n}\nexport function actionLoadProvidersSetting(data) {\n return {\n type: PROVIDERS_SETTING_LOAD,\n data: data\n };\n}\nexport function actionLoadProvidersSettingDetails(data) {\n return {\n type: PROVIDERS_SETTING_LOAD_DETAILS,\n data: data\n };\n}\nexport function actionUpdateProvidersSetting(data) {\n return {\n type: PROVIDERS_SETTING_UPDATE,\n data: data\n };\n}\n\nexport function actionCleanProvidersDetailsSetting(data) {\n return {\n type: PROVIDERS_SETTING_DETAILS_UNMOUNT,\n data: data\n };\n}\nexport function actionLoadCloudPrintersSetting(data) {\n return {\n type: CLOUD_PRINTERS_SETTING_LOAD,\n data: data\n };\n}\nexport function actionLoadCloudPrintersSettingDetails(data) {\n return {\n type: CLOUD_PRINTERS_SETTING_LOAD_DETAILS,\n data: data\n };\n}\n\nexport function actionCleanCloudPrintersDetailsSetting(data) {\n return {\n type: CLOUD_PRINTERS_SETTING_DETAILS_UNMOUNT,\n data: data\n };\n}\nexport function actionUpdateCloudPrintersSetting(data) {\n return {\n type: CLOUD_PRINTERS_SETTING_UPDATE,\n data: data\n };\n}\n\nexport function actionDeleteCloudPrintersSetting(data) {\n return {\n type: CLOUD_PRINTERS_SETTING_DELETE,\n data: data\n };\n}\n\nexport function actionGetControlCenterStatus(data) {\n return { type: RESTAURANT_CONTROL_CENTER_STATUS_GET, data };\n}\n\nexport function actionSaveDepotAvatar(data) {\n return {\n type: SAVE_DEPOT_AVATAR,\n data: data\n };\n}\n\nexport function actionSaveDepotsAvatars(data) {\n return {\n type: SAVE_DEPOTS_AVATARS,\n data: data\n };\n}\n\nexport function actionGetRestaurantControlCenters() {\n return {\n type: SETTINGS_CONTROL_CENTER_GET\n }\n}\n\nexport function actionUpdateRestaurantControlCenters(data) {\n return {\n type: RESTAURANT_UPDATE_CONTROL_CENTERS,\n data\n };\n}\n\nexport function actionUpdateRestaurantAvailableControlCenters(data) {\n return {\n type: RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS,\n data\n };\n}\n\nexport function actionRestaurantStateUpdate(data) {\n return {\n type: PUSHER_RESTAURANT_STATE_UPDATE,\n data\n };\n}\n\nexport function actionRestaurantUpdate(data) {\n return {\n type: RESTAURANT_UPDATE,\n data\n };\n}\n\nexport function actionDepotNew(data) {\n return {\n type: DEPOT_NEW,\n data\n };\n}\n\nexport function actionDepotEdit(data) {\n return { type: DEPOT_EDIT, data };\n}\n\nexport function actionDepotDelete(data) {\n return {\n type: DEPOT_DELETE,\n data\n };\n}\n\nexport function actionSetDepotAvatar(data) {\n return {\n type: SET_DEPOT_AVATAR,\n data\n };\n}\n\nexport function actionSetBusinessMenuAvatar(data) {\n return {\n type: SET_ORDERING_MENU_BUSINESS_INFO_AVATAR,\n data\n };\n}\n\nexport function actionSetBusinessMenuHeaderMini(data) {\n return {\n type: SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI,\n data\n };\n}\n\nexport function actionSaveDepotUsers(data) {\n return {\n type: SAVE_DEPOT_USERS,\n data\n };\n}\n\nexport function actionUpdateDepotUser(data) {\n return {\n type: UPDATE_DEPOT_USER,\n data\n };\n}\n\nexport function actionAddDepotUser(data) {\n return {\n type: ADD_DEPOT_USER,\n data\n };\n}\n\nexport function actionSaveShifts(data) {\n return {\n type: SHIFTS_SAVE,\n data\n };\n}\n\nexport function actionUpdateShifts(data) {\n return {\n type: UPDATE_SHIFTS,\n data\n };\n}\n\nexport function actionSaveShiftsHistory(data) {\n return {\n type: SHIFTS_HISTORY_SAVE,\n data\n };\n}\nexport function actionAddShiftsTripHistory(data) {\n return {\n type: SHIFTS_TRIP_HISTORY_ADD,\n data\n };\n}\n\nexport function actionSetDepotPaymentState(data) {\n return { type: DEPOTPAYMENT_STATE, data }\n}\n\nexport function actionSetRestaurantPaymentState(data) {\n return { type: RESTAURANT_PAYMENT_STATE, data }\n}\n\n\nexport function actionSetCategoryProductAvatar(data) {\n return {\n type: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_AVATAR,\n data\n };\n}\n\nexport function actionBusinessMenuCategoryExtrasSuboptionUpdateImage(data) {\n return {\n type: ORDERING_MENU_BUSINESS_CATEGORY_EXSTRAS_SUBOPTION_UPDATE_IMAGE,\n data\n };\n}\n\nexport function actionBusinessMenuExtrasSuboptionUpdateImage(data) {\n return {\n type: ORDERING_MENU_BUSINESS_EXSTRAS_SUBOPTION_UPDATE_IMAGE,\n data\n };\n}\n\nexport function actionSetGiftCardProductAvatar(data) {\n return {\n type: GIFT_CARD_PRODUCT_UPDATE_AVATAR,\n data\n };\n}\n\nexport function actionSetGiftCardBusinessMenuAvatar(data) {\n return {\n type: GIFT_CARD_BUSINESS_UPDATE_AVATAR,\n data\n };\n}\n\nexport function actionAddNewMarketplaceMessage(data) {\n return {\n type: ADD_MARKETPLACE_MESSAGE,\n data\n }\n}\n\nexport function actionAddNewMarketplacePage(data) {\n return {\n type: ADD_MARKETPLACE_PAGES,\n data\n }\n}\n\nexport function actionUpdateMarketplaceMessage(data) {\n return {\n type: UPDATE_MARKETPLACE_MESSAGE,\n data\n }\n}\n\nexport function actionUpdateMarketplaceMessageGalley(data) {\n return {\n type: UPDATE_MARKETPLACE_MESSAGE_GALLERY,\n data\n }\n}\n\nexport function actionUpdateMarketplaceMessageGalleyAdd(data) {\n return {\n type: UPDATE_MARKETPLACE_MESSAGE_GALLERY_ADD,\n data\n }\n}\n\nexport function actionUpdateMarketplacePage(data) {\n return {\n type: UPDATE_MARKETPLACE_PAGE,\n data\n }\n}\n\nexport function actionDeleteMarketplaceMessage(id) {\n return {\n type: DELETE_MARKETPlACE_MESSAGE,\n id\n }\n}\n\nexport function actionDeleteMarketplacePage(id) {\n return {\n type: DELETE_MARKETPLACE_PAGE,\n id\n }\n}\n\nexport function actionGetGiftCard() {\n return { type: GIFT_CARD_GET }\n}\n\nexport function actionCurrentControlCenterUpdate(data) {\n return { type: CURRENT_CONTROL_CENTER_UPDATE, data };\n}\n\nexport function actionGetListPromotion() {\n return { type: LIST_PROMOTION_SETTING_GET }\n}\n\nexport function actionGetMessagesData() {\n return { type: MARKETPLACE_MESSAGE_DATA_GET }\n}\n\nexport function actionGetSettingsDeliveryZones() {\n return { type: SETTINGS_DELIVERY_ZONES_GET }\n}\n\nexport function actionControlCenterRefresh(data) {\n return { type: CONTROL_CENTER_REFRESH, data }\n}\n\nexport function setBusinessMenu(data) {\n return { type: SET_BUSINESS_MENU, data }\n}\n\nexport function removeBusinessMenu() {\n return { type: REMOVE_BUSINESS_MENU }\n}\n\nexport function setParentBusinessMenu(data) {\n return { type: SET_BUSINESS_PARENT_MENU, data }\n}\n\nexport function actionGetBusinessCategories() {\n return { type: BUSINESS_CATEGORY_GET };\n}\n\nexport function actionGetOperationTiming() {\n return { type: OPERATION_TIMING_SETTINGS_GET };\n}\n\nexport function actionRestaurantControlCentersStateUpdate(data) {\n return { type: RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE, data };\n}\n\nexport function setDepotProviders(data){\n return { type: SET_DEPOT_PROVIDERS, data }\n}\n\nexport function setOrdersProvider(data){\n return { type: SET_ORDERS_PROVIDER, data }\n}\n\nexport function setShiftProviders(data){\n return { type: SET_SHIFT_PROVIDERS, data }\n}\n\nexport function actionUpdateRestaurantDeliveryZone(data) {\n return { type: RESTAURANT_DELIVERY_ZONE_UPDATE, data }\n}\n\nexport function getDriverTipData(data) {\n return { type: DRIVER_TIP_GET, data }\n}\n","export default function(args) {\n return {\n pusherAppKey: \"e739a7a0766fbd613805\",\n pusherCluster: \"eu\",\n googleApiKey: \"AIzaSyDKBAemLLmlG-f2zo12hfy5FnGEtSvp244\",\n freshChatToken: \"5ff57c51-b466-4409-b707-b0d0a98e01d6\",\n recurlyKey: \"fra-HgEfHfa1bwLBXKdmLMd5sH\",\n sentryDsn: \"https://b808035e49c142858d1c6a282f620dd9@o431146.ingest.sentry.io/5381331\",\n userPilotToken: \"NX-d6568b83\",\n targetTime: {\n minutes: [0, 15, 30, 45]\n },\n unauthorizedRetryCount: 3,\n checkConnectionTime: 10000,\n requestLocationTime: 60000,\n requestPendingCount: 60000,\n requestPendingOrdersTime: 10000,\n requestAudioTime: 10000,\n courierComingNotificationTime: 900000,\n dataExpiresTime: 86400,\n dataExpiresTimeShort: 7200,\n dataExpiresTimePicture: 604800,\n dataExpiresTimePictureShort: 172800,\n intervalNotification: 7000,\n debounceNotifyWait: 1000,\n debounceNotifyMaxWait: 2000,\n defaultLanguage: \"en\",\n restaurant: {\n id: \"1\",\n image: \"assets/images/markers_icons/base.png\"\n },\n token: {\n lifecookies: 720\n },\n orders: {\n defaultHistoryTime: 3,\n minHistoryTime: 0,\n maxHistoryTime: 24,\n imageUrl: \"assets/images/markers_icons/\",\n imageExtension: \".png\",\n notAssociated: \"white.png\",\n maxOrdersPerPage: 7,\n maxSymbolsInOrderName: 3,\n maxOrdersInTitle: 3,\n readinessTimeIntervals: [20, 15, 10]\n },\n AUTH_EVENTS: {\n loginSuccess: \"auth-login-success\",\n loginFailed: \"auth-login-failed\",\n logoutSuccess: \"auth-logout-success\",\n sessionTimeout: \"auth-session-timeout\",\n notAuthenticated: \"auth-not-authenticated\",\n notAuthorized: \"auth-not-authorized\"\n },\n USER_ROLES: {\n all: \"*\",\n supervisor: \"Supervisor\",\n deliveryManager: \"DeliveryManager\",\n depot: \"Depot\",\n courier: \"Courier\",\n supportOperator: \"SupportOperator\",\n controlCenterManager: \"ControlCenterManager\"\n },\n defaultUserUrl: {\n all: \"/\",\n deliveryManager: \"/dashboard\",\n depot: \"/orders\",\n supervisor: \"/controlCenters\",\n inactive: \"/shifts\"\n },\n groups: {\n colors: [\n \"blue-g\",\n \"brown-g\",\n \"green-g\",\n \"lightgreen-g\",\n \"pink-g\",\n \"red-g\",\n \"turquoise-g\",\n \"violet-g\",\n \"yellow-g\"\n ]\n },\n ...args\n };\n}\n","import environment from \"./base\";\n\nconst authOauth = \"https://api.delivapp.com/auth/\";\nconst authAPI = \"https://api.delivapp.com/auth/api/\";\nconst backendAPI = \"https://api.delivapp.com/rest/api/\";\nconst pusherAuthEndpoint = \"https://api.delivapp.com/auth/api/pusher\";\nconst qrserverAPI = \"http://api.qrserver.com/v1/create-qr-code/\";\n\nconst env = environment({\n authOauth,\n authAPI,\n backendAPI,\n pusherAuthEndpoint,\n qrserverAPI\n});\n\nexport default {\n ...env,\n requestLocationTime: 30000,\n requestPendingCount: 30000,\n requestPendingOrdersTime: 30000,\n requestCustomerServiceOrders: 30000,\n};\n","import axios from \"axios\";\nimport environment from \"environment\";\nimport {toast} from \"react-toastify\";\n\nimport Store from \"../store/store\";\n\nimport {CHECK_USER_AUTHENTICATION} from \"../store/reducers/authentication/authentication-actions\";\nimport {getAuthorization, isAuthorized} from \"./auth-util\";\nimport {createAction} from \"./sagaHelper\";\nimport {EXCLUDED_CHECK_ERROR_APIS, REQUEST_METHOD} from \"./constants\";\n\nasync function defaultRequest(axiosInstance, requestConfig) {\n const request = axiosInstance.request(requestConfig);\n return await request;\n}\n\nconst axiosInstance = axios.create();\naxiosInstance.interceptors.response.use(\n response => {\n return response;\n },\n error => {\n if (error.response && error.response.status === 401) {\n if (error.config.skipRetry || !error.config.retryCount) {\n return error;\n }\n return Store.store\n .dispatch(createAction(CHECK_USER_AUTHENTICATION, { isRemoveAcccessToken: true }))\n .then(res => {\n delete error.config.headers.Authorization;\n error.config.retryCount--;\n return callServer({ ...error.config });\n });\n } else {\n if(!EXCLUDED_CHECK_ERROR_APIS.includes(error.config.url) &&\n (error.config.method === REQUEST_METHOD.post || error.config.method === REQUEST_METHOD.put)\n ) {\n toast.error(getErrorMessage(error));\n }\n return error;\n }\n }\n);\n\nexport async function callServer(requestConfig, noAuth) {\n if(!isAuthorized(requestConfig && requestConfig.roles)) {\n return { status: 200 };\n }\n\n const headers = { ...getHeaders(), ...requestConfig.headers };\n\n if(requestConfig.isVideoType) {\n headers[\"content-type\"] = \"video/mp4\";\n }\n\n if(noAuth) {\n delete headers.Authorization;\n }\n\n return await defaultRequest(axiosInstance, {\n retryCount: environment.unauthorizedRetryCount,\n ...requestConfig,\n headers\n });\n}\n\nexport function getHeaders(props = null) {\n return {\n \"content-type\": \"application/json\",\n Authorization: getAuthorization(),\n ...props\n };\n}\n\nexport function getErrorMessage(requestResult, customError) {\n if(!requestResult) return \"Error\";\n const response = requestResult.response || {};\n return (\n response.Error ||\n (response.data ? (response.data.Message || \"Error\") : customError || \"Error\")\n );\n}\n\nexport function requestResultIsOk(requestResult, checkData = false) {\n return requestResult && requestResult.status === 200 && (!checkData || requestResult.data);\n}\n\nexport function checkRequestResultStatus(requestResult, status) {\n return (requestResult && requestResult.status === status) ||\n (requestResult && requestResult.response && requestResult.response.status) === status;\n}\n","import {call, put} from \"redux-saga/effects\";\nimport {ERROR_ACTION, WAIT_FOR_ACTION} from \"redux-wait-for-action\";\n\nimport {objectKeysToUpperLowerCase} from \"./objects-util\";\nimport {currentUserIsDepotRole, currentUserIsSupportOperatorRole} from \"../services/userModel\";\nimport {mainModuleInitConfig, restaurateurModuleInitConfig} from \"./constants\";\n\nexport function* createSaga(actionSaga, actionName) {\n try {\n yield call(createSagaInner, actionSaga, actionName);\n } catch (e) {\n console.log(e);\n }\n}\n\nexport function* createSagaInner(actionSaga, actionName) {\n const data = yield* actionSaga();\n if (data instanceof ErrorData) {\n yield put(actionCreateError(actionName, data));\n } else {\n yield put(actionCreateSuccess(actionName, data));\n }\n}\n\nexport function createAction(actionName, data, isTransformToUpperLowerCase = false) {\n return {\n type: actionName,\n [WAIT_FOR_ACTION]: actionName + \"_SUCCESS\",\n [ERROR_ACTION]: actionName + \"_FAIL\",\n data: isTransformToUpperLowerCase ? objectKeysToUpperLowerCase(data) : data\n };\n}\n\nexport function actionCreateSuccess(actionName, data) {\n return {\n type: actionName + \"_SUCCESS\",\n data: data\n };\n}\n\nexport function actionCreateError(actionName, error) {\n return {\n type: actionName + \"_FAIL\",\n error: error.getError().message\n };\n}\n\nexport function getCurrentInitConfig() {\n const defaultConfig = currentUserIsDepotRole()\n ? restaurateurModuleInitConfig\n : mainModuleInitConfig;\n return {\n ...defaultConfig,\n pendingOrderCount: currentUserIsSupportOperatorRole(),\n };\n}\n\nexport class ErrorData {\n constructor(message) {\n this.message = message;\n }\n\n getError = () => new Error(this.message);\n}\n\nexport class ErrorDataTable {\n constructor(message, isShow = true) {\n this.message = message;\n this.isShow = isShow\n }\n\n getError = () => ({message: new Error(this.message), isShow: this.isShow});\n}\n\nexport function batchedSubscribe(batch) {\n if (typeof batch !== 'function') {\n throw new Error('Expected batch to be a function.');\n }\n\n let currentListeners = [];\n let nextListeners = currentListeners;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n let isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n const index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n function notifyListeners() {\n const listeners = currentListeners = nextListeners;\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function notifyListenersBatched(...dispatchArgs) {\n batch(notifyListeners, ...dispatchArgs);\n }\n\n return next => (...args) => {\n const store = next(...args);\n const subscribeImmediate = store.subscribe;\n\n function dispatch(...dispatchArgs) {\n const res = store.dispatch(...dispatchArgs);\n notifyListenersBatched(...dispatchArgs);\n return res;\n }\n\n return {\n ...store,\n dispatch,\n subscribe,\n subscribeImmediate\n };\n };\n}\n","import i18n from \"i18next\";\nimport Backend from \"i18next-xhr-backend\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport de from \"../src/assets/languages/de.json\";\nimport en from \"../src/assets/languages/en.json\";\nimport he from \"../src/assets/languages/he.json\";\nimport ru from \"../src/assets/languages/ru.json\";\nimport es from \"../src/assets/languages/es.json\";\nimport el from \"../src/assets/languages/el.json\";\nimport pl from \"../src/assets/languages/pl.json\";\nimport ar from \"../src/assets/languages/ar.json\";\nimport sound_de from \"../src/assets/soundLocalization/de.json\";\nimport sound_en from \"../src/assets/soundLocalization/en.json\";\nimport sound_he from \"../src/assets/soundLocalization/he.json\";\nimport sound_ru from \"../src/assets/soundLocalization/ru.json\";\nimport sound_es from \"../src/assets/soundLocalization/es.json\";\nimport sound_pl from \"../src/assets/soundLocalization/pl.json\";\n\ni18n\n // load translation using xhr -> see /public/locales\n // learn more: https://github.com/i18next/i18next-xhr-backend\n .use(Backend)\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"en\",\n debug: false,\n\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n\n defaultNS: [\"translation\"],\n\n react: {\n useSuspense: false\n },\n\n lng: \"en\", // language to use\n\n /*\n COMMENT\n By default package use resources namespace 'translation'. If it's not specified it isn't work.\n */\n resources: {\n de: { translation: Object.assign(de, sound_de) },\n en: { translation: Object.assign(en, sound_en) },\n he: { translation: Object.assign(he, sound_he) },\n ru: { translation: Object.assign(ru, sound_ru) },\n es: { translation: Object.assign(es, sound_es) },\n el: { translation: Object.assign(el, sound_en) },\n pl: { translation: Object.assign(pl, sound_pl) },\n ar: { translation: Object.assign(ar, sound_en) },\n }\n });\n\nexport default i18n;\n","import * as Sentry from '@sentry/react';\nimport Store from '../store/store';\nimport moment from 'moment';\n\nimport i18n from '../i18n';\nimport User from './user';\nimport {getStoreData, saveStoreData} from './dataStorage';\nimport {getInitModel} from './initModels';\nimport {getDistance, getLatLngFromLocation, locationIsEmpty} from './order';\nimport {\n approvedFilter,\n awayFilter,\n backUpCouriersFilter,\n comingBackFilter,\n courierQueueSort,\n couriersBarFilter,\n externalCycleCouriersBarFilter,\n getStartedControlCenter,\n onRouteCourierGroupSort,\n onRouteFilter,\n pendingHistoryOrdersFilter,\n pendingOrdersCookingSort,\n pendingOrdersCouriersOlderSort,\n pendingOrdersFilter,\n pendingOrdersSort,\n sortItemsByProp,\n waitingFilter,\n} from './filter';\n\nimport ColorService from './color';\n\nimport {fetchMarkerAvatarBase64, getConvertedCloudUrl} from '../utils/image-util';\nimport {\n defaultIcons,\n getPendingOrdersIsDesktop,\n getPendingOrdersIsIpad,\n MAP_POLYGON_DIFF,\n SEARCH_RADIUS,\n} from '../utils/constants';\nimport {getStringValue} from '../utils/objects-util';\nimport {\n ACCOUNT_ORDER_STATUS,\n CAMPAIGN_EXECUTION_STATE_TYPES,\n CAMPAIGN_TYPES,\n COUNTRY_CURRENCY_CODES,\n COUNTRY_CURRENCY_CODES_VALUE,\n COURIER_ASSOCIATION_MODE,\n COURIER_GROUP_MODEL_TYPE,\n COURIER_LOCATION_STATE,\n CYCLE_STATE,\n DELIVERY_ZONE_TYPE,\n DISCOUNT_ORDER_TYPE,\n DISCOUNT_TYPE,\n EXTERNAL_COURIER_PROVIDER,\n getCurrencyIcons,\n MODEL_TYPE,\n OFFER_DISCOUNT_TARGET,\n ORDER_PROCESS_STEP,\n ORDER_STATE,\n PENDING_ORDERS_FILTER_TYPE,\n RESTAURANT_STATES,\n TYPE_STORAGE,\n} from '../utils/enums';\nimport {getUserConnectionData} from '../utils/auth-util';\nimport {getHistoryLocationParams} from '../utils/routesHelper';\nimport {getFullName} from './userModel.js';\nimport {GET_ORDER_SETUP_INTENT, STRIPE_VERIFY_CARD_ORDER} from \"../store/reducers/order/order-actions.js\";\n\nexport function getAvatar(id, keys, url) {\n return new Promise(resolve => {\n if (keys.length > 0 && keys.includes(id)) {\n getStoreData(TYPE_STORAGE.db, id).then(response => resolve(response));\n } else {\n if (url) {\n fetchMarkerAvatarBase64(url).then(\n image => {\n if (image) {\n saveStoreData(TYPE_STORAGE.db, id, false, image).then(\n () => resolve({ data: image }),\n () => Sentry.captureException('Error saveStoreData. Depot id: ' + id)\n );\n } else {\n Sentry.captureException('Error fetchMarkerAvatarBase64. Depot id: ' + id);\n }\n },\n () => {\n saveStoreData(TYPE_STORAGE.db, id, false, '').then(\n () => resolve({ data: '' }),\n () => Sentry.captureException('Error saveStoreData. Depot id: ' + id)\n );\n }\n );\n } else {\n saveStoreData(TYPE_STORAGE.db, id, false, '').then(\n () => resolve({ data: '' }),\n () => Sentry.captureException('Error saveStoreData. Depot id: ' + id)\n );\n }\n }\n });\n}\n\nexport function getRestaurantName() {\n if (!Store) return null;\n const state = Store.store.getState();\n return state.restaurant && state.restaurant.data && state.restaurant.data.name;\n}\n\nexport function getConsumerRestaurantId() {\n if (!Store) return null;\n const state = Store.store.getState();\n return (\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.consumerOrderMenu &&\n state.restaurant.data.consumerOrderMenu.id\n );\n}\n\nexport function getRestaurantPaymentEnabled() {\n if (!Store) return false;\n const state = Store.store.getState();\n return (\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.paymentsConfiguration &&\n state.restaurant.data.paymentsConfiguration.enabled\n );\n}\n\nexport function isEndlessCycleMode() {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n return restaurant && restaurant.configuration && restaurant.configuration.endlessCycleMode;\n}\n\nexport function getRestaurantLoyaltyEnabled() {\n if (!Store) return false;\n const state = Store.store.getState();\n return (\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.loyaltyEnabled\n );\n}\n\nexport function hasDepotBusinessMenu() {\n if (!Store) return false;\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n const state = Store.store.getState();\n const depot = state.restaurant.data.depots && state.restaurant.data.depots.find(d => d.id === (id || parentId));\n const businessMenu = state.restaurant.data && state.restaurant.data.businessMenu;\n\n return !!(depot && depot.businessId) || !!(businessMenu && businessMenu.id);\n}\n\nexport function getBusinessIdByCurrentDepot(store) {\n const { id } = getHistoryLocationParams(window.location.search);\n const state = store || Store.store.getState();\n const depot = state.restaurant.data.depots && state.restaurant.data.depots.find(d => d.id === id);\n const businessMenu = state.restaurant.data.businessMenu;\n return depot ? depot.businessId : businessMenu ? businessMenu.id : null;\n}\n\nexport const getCurrentDepotByBusiness = store => {\n const { parentId, id, depotId } = getHistoryLocationParams(window.location.search);\n return depotId || parentId || id;\n};\n\nexport function getOverrideDepotSettings() {\n if (!Store) return false;\n const state = Store.store.getState();\n return (\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.paymentsConfiguration &&\n state.restaurant.data.paymentsConfiguration.overrideDepotSettings\n );\n}\n\nexport function getDepots(withGiftCard) {\n if (!Store) return [];\n const state = Store.store.getState();\n const restaurant = (state && state.restaurant && state.restaurant.data) || {};\n const depots = restaurant.depots || [];\n const giftCard = restaurant.giftCard &&\n restaurant.giftCard.businessMenu && {\n businessId: restaurant.giftCard.businessMenu.id,\n name: restaurant.giftCard.businessMenu.name,\n };\n\n return sortItemsByProp(withGiftCard && giftCard ? depots.concat([giftCard]) : depots);\n}\n\nexport function getDepotsKeyValue() {\n if (!Store) return [];\n const state = Store.store.getState();\n const restaurant = (state && state.restaurant && state.restaurant.data) || {};\n const depots = restaurant.depots || [];\n\n return depots.map(depot => ({key: depot.id, value: depot.name}));\n}\n\nexport function getReconciliationsDepots() {\n if (!Store) return [];\n const state = Store.store.getState();\n const depots = [...(state?.reconciliations?.data?.depots || [])];\n\n return depots;\n}\n\nexport function getMessages() {\n if (!Store) return [];\n const state = Store.store.getState();\n const messages = (state && state.marketplace && state.marketplace.data && state.marketplace.data.message) || [];\n return sortItemsByProp(messages);\n}\n\n\nexport function getNameForCategory(category) {\n if(!category) {\n return \"\";\n }\n return (category.nameTranslations && category.nameTranslations[i18n.language]) || \"\";\n}\n\nexport function getCategories() {\n if (!Store) return [];\n const state = Store.store.getState();\n const restaurant = (state && state.restaurant && state.restaurant.data) || {};\n return sortItemsByProp(restaurant.businessCategory || []);\n}\n\nexport function getTerritoriesEntity() {\n if (!Store) return [];\n const state = Store.store.getState();\n const restaurant = (state && state.restaurant && state.restaurant.data) || {};\n return restaurant.territories || [];\n}\n\nexport const getSelectedControlCenterMulti = () => {\n if (!Store) return [];\n const state = Store.store.getState();\n const selectedControlCenterMulti = state?.restaurant?.data?.selectedControlCenterMulti;\n return selectedControlCenterMulti || [];\n}\n\n\nexport function getTerritoryNameByEntityId(id) {\n const territories = getTerritoriesEntity();\n const territory = territories.find(t => t.entityId === id);\n return territory ? territory.name : \"\";\n}\n\nexport function isShowParentBusinessMenu(businessMenu) {\n if (!businessMenu) {\n if (!Store) return false;\n const state = Store.store.getState();\n if (!state) return false;\n return !!(state.restaurant.data.businessMenu || {}).template_business_id;\n }\n\n return !!businessMenu.template_business_id;\n}\n\nexport const getCampaignNameById = campaignId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const campaign = state?.restaurant?.data?.campaigns?.find(c => c.id === campaignId);\n return campaignId ? campaign?.name : '';\n};\n\nexport const getDepotNameById = depotId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const depot =\n state.restaurant.data &&\n state.restaurant.data.depots &&\n state.restaurant.data.depots.find(d => d.id === depotId);\n return depot ? depot.name : '';\n};\n\nexport const getListPromotionNameById = promoId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const listPromotion =\n state.restaurant.data &&\n state.restaurant.data.listPromotion &&\n state.restaurant.data.listPromotion.find(promo => promo.id === promoId);\n\n const languageCode = i18n.language;\n return listPromotion?.name_translations ? listPromotion.name_translations[languageCode] ?? '' : '';\n};\n\nexport const getDeliveryZonesNameById = deliveryZonesId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const deliveryZones =\n state.restaurant.data &&\n state.restaurant.data.deliveryZones &&\n state.restaurant.data.deliveryZones.find(zone => zone.id === deliveryZonesId);\n\n return deliveryZones?.name ? deliveryZones.name : ''\n};\n\nexport const getBusinessMenuGalleryNameById = galleryId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const gallery =\n state.restaurant.data &&\n state.restaurant.data.businessMenu &&\n state.restaurant.data.businessMenu.gallery.find(gallery => gallery.id === galleryId);\n\n return gallery?.title ? gallery.title : ''\n};\n\nexport const getBusinessMenuOfferNameById = galleryId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const gallery =\n state.restaurant.data &&\n state.restaurant.data.businessMenu &&\n state.restaurant.data.businessMenu.offers &&\n state.restaurant.data.businessMenu.offers.find(gallery => gallery.id === galleryId);\n\n return gallery?.name ? gallery.name : ''\n};\n\nexport const getOrderingMenuDeliveryZonesNameById = deliveryZonesId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const deliveryZones =\n state.restaurant.data &&\n state.restaurant.data.businessMenu &&\n state.restaurant.data.businessMenu.delivery_zones.find(deliveryZones => deliveryZones.id === deliveryZonesId);\n\n return deliveryZones?.name ? deliveryZones.name : ''\n};\n\nexport const getPageNameById = pageId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const page =\n state.marketplace.data &&\n state.marketplace.data.pages &&\n state.marketplace.data.pages.find(page => page.id === pageId);\n\n return page?.title ? page.title : ''\n};\n\nexport const getLoyaltyGiftCardProductNameById = productId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const product =\n state.restaurant.data &&\n state.restaurant.data.giftCard &&\n state.restaurant.data.giftCard.businessMenu &&\n state.restaurant.data.giftCard.businessMenu.categories &&\n state.restaurant.data.giftCard.businessMenu.categories[0]?.products?.find(product => product.id === productId);\n\n return product?.name ? product.name : ''\n};\n\nexport const getCloudPrinterById = id => {\n if (!Store) return '';\n const state = Store.store.getState();\n\n const product =\n state.restaurant.data &&\n state.restaurant.data?.cloudPrinters?.find(e => e.id === id);\n\n return product ? product : null\n};\n\nexport const getDepotUserNameById = (userId, depotId ) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const depots = state?.restaurant?.data?.depots\n const depot = depots?.find(depot => depot?.id === depotId)\n const depotUser = depot?.depotUsers?.find(user => user?.userId === userId)\n return depotUser ? getFullName(depotUser) : '';\n};\n\nexport const getUserNameById = (userId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const users = state?.userModel?.data || []\n const user = users?.find(user => user?.userId === userId)\n return user ? getFullName(user) : '';\n};\n\nexport const getShiftNameById = (shiftId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const shifts = state?.restaurant?.data?.shifts || [];\n const shift = shifts?.find(shift => shift?.shiftId === shiftId);\n return shift?.courierName || '';\n};\n\nexport const getReconciliationsConfigurationsNameById = (configurationId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const configurations = state?.reconciliations?.data.configurations|| []\n const configuration = configurations?.find(configuration => configuration?.id === configurationId)\n return configuration ? configuration?.templateName : '';\n};\n\nexport const getMessageNameById = messageId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const message =\n state.marketplace.data &&\n state.marketplace.data.message &&\n state.marketplace.data.message.find(m => m.id === messageId);\n\n return message ? message.label || message.title : '';\n}\n\nexport const getMessageGalleryNameById = (messageId, galleryId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const message =\n state.marketplace.data &&\n state.marketplace.data.message &&\n state.marketplace.data.message.find(m => m.id === messageId);\n\n const gallery =\n message &&\n message.gallery &&\n message.gallery.find(g => g.id === galleryId);\n\n return gallery ? gallery.title : '';\n}\n\nexport const isDepotByPathname = () => {\n const pathname = window.location.pathname\n return pathname.includes('/settings')\n}\n\nexport const getOperationsModeForDepot = (depotId, store) => {\n const state = store || Store.store.getState();\n const restaurant = state.restaurant.data || {};\n const depot = (restaurant.depots || []).find(d => d.id === depotId);\n const operations = ((restaurant.operations || {}).profiles || []);\n const depotOperations = ((depot.operationConfiguration || {}).profiles || []);\n return depotOperations.concat(operations).map(p => ({\n key: p.name,\n value: p.name,\n }))\n}\n\nexport const getCourierNameByShiftId = shiftId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const users = state?.userModel?.data?.filter(user => user.cycle)\n return users?.find(user => user?.cycle?.shiftId === shiftId)?.firstName || ''\n}\n\nexport const getProviderNameById = id => {\n if (!Store) return '';\n const state = Store.store.getState();\n const ordersProvider = state?.restaurant?.data?.ordersProvider;\n return ordersProvider?.find(provider => provider.id === id)?.name || '';\n}\n\nexport const getHistoryCourierNameByShiftHistory = () => {\n if (!Store) return '';\n const state = Store.store.getState();\n const shift = state.restaurant.data.shiftsHistory\n return state?.userModel?.data?.find(user => user?.userId === shift?.userId)?.firstName || ''\n}\n\nexport const getMenuTemplateNameById = menuTemplateId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const menuTemplate = state.restaurant.data.businessMenu;\n return menuTemplate?.id === menuTemplateId ? menuTemplate?.name : '';\n};\nexport const getMenuTemplateBusinessCategoryNameById = menuTemplateBusinessCategoryId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const businessCategories = state.restaurant.data.businessCategory;\n const businessCategoriesNames = businessCategories?.find(category => category.id === menuTemplateBusinessCategoryId).nameTranslations\n return businessCategoriesNames ? businessCategoriesNames[i18n.language] : ''\n};\n\nexport const getControlCenterNameById = controlCenterId => {\n if(!Store) return '';\n const state = Store.store.getState();\n return ((state.restaurant.data.controlCenters || []).find(c => c.controlCenterId === controlCenterId) || {}).name;\n}\n\nexport const getBusinessName = depotId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const depots = state.restaurant.data.depots || [];\n return (depots.find(d => d.id === depotId) || {}).name || '';\n}\n\nexport const getExtraNameFromBusinessCategory = (categoryId, extraId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const businessMenu = state.restaurant.data.businessMenu || {};\n const categories = (businessMenu.categories || []).find(c => c.id === categoryId) || {};\n const extra = (categories.extras || []).find(e => e.id === extraId) || {};\n return extra.name || '';\n}\n\nexport const getExtraOptionNameFromBusinessCategory = (categoryId, extraId, optionId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const businessMenu = state.restaurant.data.businessMenu || {};\n const categories = (businessMenu.categories || []).find(c => c.id === categoryId) || {};\n const extra = (categories.extras || []).find(e => e.id === extraId) || {};\n const option = (extra.options || []).find(o => o.id === optionId) || {};\n return option.name || '';\n}\n\nexport const getNameByIdsBusinessMenu = businessId => {\n if (!Store) return '';\n const state = Store.store.getState();\n const { depots, businessMenu } = state.restaurant.data;\n let businessMenuFinded;\n\n if (businessMenu && businessMenu.id === businessId) {\n businessMenuFinded = businessMenu;\n } else {\n businessMenuFinded = depots?.find(d => d.businessId === businessId);\n }\n\n if (!businessMenuFinded) {\n return '';\n }\n\n return businessMenuFinded.name;\n};\n\nexport const getNameForProductsByIds = (businessId, categoryId, productId) => {\n if (!Store) return '';\n const state = Store.store.getState();\n const { businessMenu } = state.restaurant.data;\n let category = null;\n\n if (!businessMenu) {\n return '';\n }\n\n if (!categoryId) {\n return businessMenu.name;\n }\n\n category = businessMenu.categories.find(c => c.id === categoryId);\n if (!productId) {\n return (category || {}).name || '';\n }\n\n const product = (category.products || []).find(p => p.id === productId);\n return (product || {}).name || '';\n};\n\nexport function getDepotNameByBusinessId(businessId) {\n if (!businessId || !Store) return '';\n const state = Store.store.getState();\n const depot = ((state && state.restaurant && state.restaurant.data && state.restaurant.data.depots) || []).find(\n f => f.businessId === businessId\n );\n return (depot && `${depot.name}`) || '';\n}\n\nexport function getDepotByBusinessId(businessId) {\n if (!businessId || !Store) return '';\n const state = Store.store.getState();\n return ((state && state.restaurant && state.restaurant.data && state.restaurant.data.depots) || []).find(\n f => f.businessId === businessId\n );\n}\n\nexport function getDeliveryZones() {\n const state = (Store && Store.store.getState()) || {};\n return (state.restaurant && state.restaurant.data && state.restaurant.data.deliveryZones) || [];\n}\n\nexport function getBusinessCategories() {\n const state = (Store && Store.store.getState()) || {};\n return (state.restaurant && state.restaurant.data && state.restaurant.data.businessCategory) || [];\n}\n\nexport function getAvailableControlCenters(isActive) {\n if (!Store) return [];\n const state = Store.store.getState();\n if (!state.restaurant || !state.restaurant.data || !state.restaurant.data.availableControlCenters) return [];\n return isActive\n ? state.restaurant.data.availableControlCenters.filter(controlCenter => getStartedControlCenter(controlCenter))\n : state.restaurant.data.availableControlCenters;\n}\n\nexport function getControlCenters(isActive) {\n if (!Store) return [];\n const state = Store.store.getState();\n if (!state.restaurant || !state.restaurant.data || !state.restaurant.data.controlCenters) return [];\n return isActive\n ? state.restaurant.data.controlCenters.filter(controlCenter => getStartedControlCenter(controlCenter))\n : state.restaurant.data.controlCenters;\n}\n\nexport function getInitialControlCenters() {\n if (!Store) return [];\n const state = Store.store.getState();\n if (!state.restaurant || !state.restaurant.data || !state.restaurant.data.initialControlCenters) return [];\n return state.restaurant.data.initialControlCenters;\n}\n\nexport function getControlCenterById(id) {\n if (!Store) return null;\n const state = Store.store.getState();\n if (!state.restaurant || !state.restaurant.data || !state.restaurant.data.controlCenters) return null;\n return state.restaurant.data.controlCenters.find(f => f.controlCenterId === id);\n}\n\nexport function getRegionById(regionId) {\n if (!Store) return null;\n const state = Store.store.getState();\n if (\n !state.restaurant ||\n !state.restaurant.data ||\n !state.restaurant.data.configuration ||\n !state.restaurant.data.configuration.regions\n )\n return null;\n const region = state.restaurant.data.configuration.regions.find(f => f.id === regionId);\n return region ? { id: region.id, locations: region.region } : null;\n}\n\nexport function getRegions() {\n if (!Store) return [];\n const state = Store.store.getState();\n return ((state.restaurant || {}).data.configuration || {}).regions || [];\n}\n\nexport function getDepotRegions(price, store) {\n const state = store || Store.store.getState();\n\n if (\n !state.restaurant ||\n !state.restaurant.data ||\n !state.restaurant.data.configuration ||\n !state.restaurant.data.configuration.regions\n )\n return [];\n\n let depotRegionIds = price && price.regionConfigurations ? price.regionConfigurations.map(m => m.id) : [];\n\n return state.restaurant.data.configuration.regions.filter(f => !depotRegionIds.includes(f.id));\n}\n\nexport function getAllDepotRegions(price, store) {\n const state = store || Store.store.getState();\n\n if (\n !state.restaurant ||\n !state.restaurant.data ||\n !state.restaurant.data.configuration ||\n !state.restaurant.data.configuration.regions\n )\n return [];\n\n return state.restaurant.data.configuration.regions;\n}\n\nexport function isDepotMode() {\n return User.instance.getBaseConstant('isDepotMode');\n}\n\nexport function isSingleDepotMode() {\n return User.instance.getBaseConstant('isSingleDepotMode');\n}\n\nexport function getDepotById(id, depots) {\n if (!id) return null;\n\n if (Array.isArray(depots)) {\n return depots.find(depot => depot.id === id);\n } else {\n const state = Store.store.getState();\n return ((state && state.restaurant && state.restaurant.data.depots) || []).find(depot => depot.id === id);\n }\n}\n\nexport function getFirstDepotId() {\n const state = Store.store.getState();\n const depots = (state && state.restaurant && state.restaurant.data.depots) || [];\n return depots.length ? depots[0].id : '';\n}\n\nexport function getTemplateMenuById(id, menu) {\n if (!id) return null;\n\n if (Array.isArray(menu)) {\n return menu.find(m => m.id === id);\n } else {\n const state = Store.store.getState();\n return (state?.menuTemplate?.data?.templates || []).find(menu => menu.id === id);\n }\n}\n\nexport function getDepotName(order, depot) {\n if (!order) return '';\n\n const depotId = order.depotId || order.depot_id;\n\n if (!depotId) return '';\n\n if (depot) {\n return depot.name || '';\n } else {\n const state = Store.store.getState() || {};\n const depot = (((state.restaurant || {}).data || {}).depots || []).find(depot => depot.id === depotId) || {};\n return depot.name || '';\n }\n}\n\n\nexport function getDepotPhone(order, depot) {\n if (!order || !order.depotId) return '';\n\n if (depot) {\n return (depot && depot.phone) || '';\n } else {\n const state = Store.store.getState();\n const depot = ((state && state.restaurant && state.restaurant.data.depots) || []).find(\n depot => depot.id === order.depotId\n );\n return (depot && depot.phone) || '';\n }\n}\n\n\nexport function getDepotAvatar(order) {\n if (!order.depotId) return '';\n\n const state = Store.store.getState();\n const depot = (state.restaurant.data.depots || []).find(depot => depot.id === order.depotId);\n return depot && getConvertedCloudUrl(depot.logoUrl);\n}\n\nexport function isAutoMode(restaurant) {\n return restaurant && restaurant.state === RESTAURANT_STATES.autoMode;\n}\n\nexport function isPullMode(restaurant) {\n return restaurant && restaurant.configuration.courierAssociationMode !== COURIER_ASSOCIATION_MODE.push;\n}\n\nexport function getRestaurantBounds(isWithRegion = true) {\n if (isGoogleMapEmpty()) return;\n const bounds = new window.google.maps.LatLngBounds();\n const state = Store.store.getState();\n const depotBounds = getDepotsBounds(state.restaurant.data);\n const regionBounds = getRegionBounds(state.restaurant.data);\n\n if (!depotBounds && !regionBounds) return;\n\n if (depotBounds) {\n bounds.union(regionBounds);\n }\n\n if (isWithRegion && regionBounds) {\n bounds.union(regionBounds);\n }\n\n return depotBounds;\n}\n\nexport function getDefaultGoogleLatLngBounds() {\n return !isGoogleMapEmpty() && new window.google.maps.LatLngBounds();\n}\n\nexport function getDepotsBounds(restaurant) {\n if (isGoogleMapEmpty() || !restaurant || !restaurant.depots) return null;\n let bounds = new window.google.maps.LatLngBounds();\n const isSetMapZoomBasedOnControlCenter =\n restaurant.selectedControlCenter &&\n restaurant.configuration &&\n (restaurant.configuration || {}).setMapZoomBasedOnControlCenter;\n\n restaurant.depots\n .filter(\n depot =>\n !locationIsEmpty((depot.address || {}).location, true) &&\n (!isSetMapZoomBasedOnControlCenter ||\n !restaurant.selectedControlCenter ||\n depot.defaultControlCenterId === restaurant.selectedControlCenter)\n )\n .forEach(depot => {\n const depotLatLng = getGoogleLatLngRegion(depot.address.location);\n if (depotLatLng) {\n bounds.extend(depotLatLng);\n }\n });\n return bounds;\n}\n\nexport function getRegionBounds(restaurant) {\n if (isGoogleMapEmpty()) return null;\n let bounds = new window.google.maps.LatLngBounds();\n if (!restaurant || !restaurant.configuration || !restaurant.configuration.regions) return bounds;\n\n const isSetMapZoomBasedOnControlCenter =\n restaurant.selectedControlCenter && restaurant.configuration.setMapZoomBasedOnControlCenter;\n\n restaurant.configuration.regions\n .filter(\n region =>\n !isSetMapZoomBasedOnControlCenter ||\n (restaurant.selectedControlCenter &&\n region.defaultControlCenterId === restaurant.selectedControlCenter) ||\n !region.defaultControlCenterId ||\n !restaurant.selectedControlCenter\n )\n .forEach(region => {\n (region.region || []).forEach(location => {\n if (!locationIsEmpty(location, true)) {\n bounds.extend(getGoogleLatLngRegion(location));\n }\n });\n });\n return bounds;\n}\n\nexport function getOrdersBounds(orderLocations) {\n if (isGoogleMapEmpty() || !Array.isArray(orderLocations) || !orderLocations.length) return null;\n let bounds = new window.google.maps.LatLngBounds();\n\n orderLocations.forEach(orderLocation => {\n if (!locationIsEmpty(orderLocation)) {\n const latLngRegion = getGoogleLatLngRegion(orderLocation);\n\n if (latLngRegion) {\n bounds.extend(latLngRegion);\n }\n }\n });\n return bounds;\n}\n\nexport function getGoogleLatLngRegion(location) {\n return !locationIsEmpty(location) && !isGoogleMapEmpty()\n ? new window.google.maps.LatLng(\n parseFloat(location.latitude || location.lat || 0),\n parseFloat(location.longitude || location.lng || 0)\n )\n : null;\n}\n\nexport function getRegionCenter() {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n const bounds = getRegionBounds(restaurant);\n if (!bounds) return null;\n const center = bounds.getCenter();\n return {\n latitude: center.lat() || 0,\n longitude: center.lng() || 0,\n };\n}\n\nexport function isAllowOrderDeleteWithoutPassword() {\n const state = Store.store.getState();\n return state.restaurant.data.configuration && state.restaurant.data.configuration.allowOrderDeleteWithoutPassword;\n}\n\nexport function isLowBattery(travelData) {\n if (!travelData) return false;\n return travelData.batteryPercentage > 0 && travelData.batteryPercentage <= 0.2;\n}\n\nexport function isUniqueRegionNames(regions) {\n let result = false;\n regions.some(function(region, index) {\n for (let i = index + 1; i < regions.length; i++) {\n if (region.name === regions[i].name) {\n result = true;\n break;\n }\n }\n return result;\n });\n return !result;\n}\n\nexport function isDisableCitySave(city) {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n return !restaurant || !city || !!restaurant.serviceCities.find(c => c.name === city);\n}\n\nexport function getMapCenter() {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n let bounds = getDepotsBounds(restaurant);\n if (!bounds) return { lat: 0, lng: 0 };\n\n const newCenter = bounds.getCenter();\n return {\n lat: newCenter.lat() || 0,\n lng: newCenter.lng() || 0,\n };\n}\n\nexport function getCurrencyValue() {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n return restaurant ? COUNTRY_CURRENCY_CODES_VALUE[restaurant.countryCode] || '$' : '$';\n}\n\nexport function getReportDeliveryTimeStatistics(data, controlCenterStatistics) {\n const isExistCOntrolCenters = controlCenterStatistics && controlCenterStatistics.length;\n const existedControlCenters = controlCenterStatistics.map(controlCenter => controlCenter.controlCenterId);\n if (!data)\n return [\n {\n time: `${new Date().getHours()}:00`,\n values: (existedControlCenters || ['Control center']).map(controlCenter => ({\n controlCenterId: controlCenter,\n controlCenter:\n (controlCenterStatistics || []).find(f => f.controlCenterId === controlCenter)['name'] ||\n 'Control center',\n countOrders: 0,\n averageDeliveryTime: 0,\n })),\n },\n ];\n\n return data.items\n .reduce((acc, item) => {\n const dateTime = moment(item.date);\n if (dateTime.isValid()) {\n const time = dateTime.format('YYYY-MM-DD HH');\n let index = acc.map(a => a.time).indexOf(time);\n\n if (index === -1) {\n acc.push({\n time: time,\n values: isExistCOntrolCenters\n ? existedControlCenters.map(controlCenter => ({\n controlCenterId: controlCenter,\n controlCenter: controlCenterStatistics.find(f => f.controlCenterId === controlCenter)[\n 'name'\n ],\n countOrders: 0,\n averageDeliveryTime: 0,\n ordersInAvrgCalcualtation: 0,\n }))\n : [\n {\n controlCenterId: i18n.t('reports.TOTAL'),\n controlCenter: i18n.t('reports.TOTAL'),\n countOrders: 0,\n averageDeliveryTime: 0,\n ordersInAvrgCalcualtation: 0,\n },\n ],\n });\n\n index = acc.map(a => a.time).indexOf(time);\n }\n\n if (isExistCOntrolCenters) {\n const indexValue = acc[index].values.map(a => a.controlCenterId).indexOf(item.controlCenterId);\n if (indexValue > -1) {\n acc[index].values[indexValue].countOrders = acc[index].values[indexValue].countOrders + 1;\n\n if (item.state === ORDER_STATE.delivered && item.deliveryDurationInMsec) {\n const diffDeliveryTime = item.deliveryDurationInMsec;\n acc[index].values[indexValue].averageDeliveryTime = acc[index].values[indexValue].ordersInAvrgCalcualtation === 0\n ? diffDeliveryTime\n : (acc[index].values[indexValue].averageDeliveryTime * acc[index].values[indexValue].ordersInAvrgCalcualtation + diffDeliveryTime) /\n (acc[index].values[indexValue].ordersInAvrgCalcualtation + 1);\n acc[index].values[indexValue].ordersInAvrgCalcualtation = acc[index].values[indexValue].ordersInAvrgCalcualtation + 1;\n }\n }\n } else {\n acc[index].values[0].countOrders = acc[index].values[0].countOrders + 1;\n\n if (item.state === ORDER_STATE.delivered && item.deliveryDurationInMsec) {\n const diffDeliveryTime = item.deliveryDurationInMsec;\n acc[index].values[0].averageDeliveryTime = acc[index].values[0].ordersInAvrgCalcualtation === 0\n ? diffDeliveryTime\n : (acc[index].values[0].averageDeliveryTime * acc[index].values[0].ordersInAvrgCalcualtation + diffDeliveryTime) /\n (acc[index].values[0].ordersInAvrgCalcualtation + 1);\n acc[index].values[0].ordersInAvrgCalcualtation = acc[index].values[0].ordersInAvrgCalcualtation + 1;\n }\n }\n }\n\n return acc;\n }, [])\n .map(res => ({ ...res, time: `${res.time.split(' ')[1]}:00` }));\n}\n\nexport function getReportAverageDeliveryTimeStatistics(data) {\n if (!data)\n return {\n averageDeliveryTime: 0,\n averageMinDeliveryTime: 0,\n averageMaxDeliveryTime: 0,\n values: [\n {\n time: `${new Date().getHours()}:00`,\n minDeliveryTime: 0,\n maxDeliveryTime: 0,\n },\n ],\n };\n\n return {\n averageDeliveryTime: data.averageDeliveryTime / 60,\n averageMinDeliveryTime: data.minDeliveryTime / 60,\n averageMaxDeliveryTime: data.maxDeliveryTime / 60,\n items: data.items\n .reduce((acc, item) => {\n const dateTime = moment(item.date);\n if (dateTime.isValid()) {\n const time = dateTime.format('YYYY-MM-DD HH');\n let index = acc.map(a => a.time).indexOf(time);\n\n if (index === -1) {\n acc.push({\n time: time,\n minDeliveryTime: 0,\n maxDeliveryTime: 0,\n averageDeliveryTime: 0,\n ordersInAvrgCalcualtation : 0,\n });\n index = acc.map(a => a.time).indexOf(time); }\n if (item.state === ORDER_STATE.delivered && item.deliveryDurationInMsec) {\n const diffDeliveryTime = item.deliveryDurationInMsec / 1000 / 60;\n acc[index].minDeliveryTime = acc[index].minDeliveryTime === 0 || diffDeliveryTime < acc[index].minDeliveryTime\n ? diffDeliveryTime\n : acc[index].minDeliveryTime;\n acc[index].maxDeliveryTime = acc[index].maxDeliveryTime === 0 || diffDeliveryTime > acc[index].maxDeliveryTime\n ? diffDeliveryTime\n : acc[index].maxDeliveryTime;\n acc[index].averageDeliveryTime = acc[index].ordersInAvrgCalcualtation === 0\n ? diffDeliveryTime\n : (acc[index].averageDeliveryTime * acc[index].ordersInAvrgCalcualtation + diffDeliveryTime) / (acc[index].ordersInAvrgCalcualtation + 1);\n acc[index].ordersInAvrgCalcualtation = acc[index].ordersInAvrgCalcualtation + 1;\n }\n }\n\n return acc;\n }, [])\n .map(res => ({ ...res, time: `${res.time.split(' ')[1]}:00` })),\n };\n}\n\nexport function getTotalReportDeliveryTimeStatistics(data) {\n return data.map(val => ({\n time: val.time,\n values: [\n {\n controlCenterId: i18n.t('reports.TOTAL'),\n controlCenter: i18n.t('reports.TOTAL'),\n countOrders: val.values.reduce((a, b) => a + b.countOrders, 0),\n },\n ],\n }));\n}\n\nexport function getOrderMenuProducts(order) {\n if (!order) return null;\n\n return {\n ...order,\n deliveryDate: order.delivery_datetime,\n creation_datetime: order.creation_datetime,\n sequenceId: order.sequence_id || '',\n type: order.delivery_type || order.type + 1,\n customerName: order.customer_name || '',\n deliveryPrice: order.delivery_price || 0,\n offerName: order.offer_name || '',\n items: getOrderMenuProductItems(order.products || order.content, order.businessInfo, order.business_id),\n };\n}\n\nexport function getOrderMenuProductItems(products, businessInfo, businessId) {\n const state = Store.store.getState();\n const depotConsumerMenu = state.restaurant.data.consumerOrderMenu;\n const businessMenus = state.restaurant.data.businessMenus;\n const consumerOrderMenu = businessId\n ? businessId === businessInfo?.id\n ? businessInfo\n : businessId === depotConsumerMenu?.id\n ? depotConsumerMenu\n : (businessMenus || []).find(m => m.id === businessId) || { categories: [], products: [] }\n : businessInfo || state.restaurant.data.consumerOrderMenu || { categories: [], products: [] }\n\n\n const menuProducts = consumerOrderMenu.categories.reduce((acc, consumerOrderMenu) => {\n return acc.concat(consumerOrderMenu.products);\n }, []);\n const menuOptions = consumerOrderMenu.categories.reduce((acc, consumerOrderMenu) => {\n let newOptions = [];\n\n consumerOrderMenu.products.forEach(product => {\n product.extras.forEach(extra => {\n extra.options.forEach(extraOption => {\n newOptions.push({\n categoryId: product.category_id,\n extraId: extra.id,\n name: extraOption.name,\n suboptions: extraOption.suboptions.map(suboption => ({\n id: suboption.id,\n name: suboption.name,\n })),\n });\n });\n });\n });\n\n return acc.concat(newOptions);\n }, []);\n\n if (!products) {\n return [];\n }\n\n return products.reduce((acc, product) => {\n const menuProduct = menuProducts.find(f => f.id === (product.id || product.item)) || {};\n acc.push({\n ...product,\n max: menuProduct.max,\n unit_weight: menuProduct.unit_weight,\n weight_range: menuProduct.weight_range,\n weighed: menuProduct.weighed,\n description: menuProduct.description,\n image: menuProduct.images,\n name: menuProduct.name || product.name || product.item,\n options: (product.options || product.addons || []).map(option => {\n const subOptions = (option.suboptions || []).map(sub => {\n const menuOption =\n menuOptions.find(f => f.suboptions.find(suboption => suboption.id === sub.id)) || {};\n return {\n ...sub,\n optionName: menuOption.name,\n halfOption: sub.half_option,\n ...(menuOption.suboptions || []).find(f => f.id === sub.id),\n };\n });\n\n return {\n ...option,\n suboptions: subOptions,\n };\n }),\n ingredientsNames: (product.ingredients || []).map(ingredient => {\n const menuProductIngredient = (menuProduct.ingredients || []).find(f => f.id === ingredient) || {};\n return menuProductIngredient['name'];\n }),\n total: product.full_price || product.price,\n });\n\n return acc;\n }, []);\n}\n\nexport function getReshipmentOrderData(data) {\n return {\n products: (data.products || []).map(product => getInitModel(MODEL_TYPE.adminOrderProductServerModel, product)),\n reshipment_type: data.reshipment_type,\n notes: data.notes,\n };\n}\n\nexport function getMenuCredentials() {\n const state = Store.store.getState();\n return (\n (state &&\n state.restaurant.data.paymentsConfiguration && {\n login: state.restaurant.data.paymentsConfiguration.orderingUser,\n password: state.restaurant.data.paymentsConfiguration.orderingPassword,\n }) ||\n {}\n );\n}\n\nexport function getAdminOrdersAcceptDialogItems() {\n return [\n { key: 0, value: i18n.t('admin-orders.REJECT_DIALOG_WITH_REFUND_LABEL') },\n { key: 1, value: i18n.t('admin-orders.REJECT_DIALOG_NO_REFUND_LABEL') },\n ];\n}\n\nexport function getDeliveryZoneData(data) {\n const newData = {\n enabled: data.enabled,\n id: data.id,\n minimum: data.minimum,\n name: data.name,\n operation_profile: data.operation_profile,\n price: data.price,\n type: data.type,\n price_calculation_mode: data.price_calculation_mode_bool ? 0 : null,\n };\n const resData = {\n region: null,\n circle: null,\n reference: null,\n delivery_zone_reference: null,\n };\n\n switch (data.type) {\n case DELIVERY_ZONE_TYPE.polygon:\n if (Array.isArray(data.region)) {\n resData.region = data.region.map(region => ({\n lat: region.latitude || region.lat,\n lng: region.longitude || region.lng,\n }));\n }\n break;\n case DELIVERY_ZONE_TYPE.circle:\n if (data.circle) {\n resData.circle = {\n center: {\n lat: data.circle.center.latitude || data.circle.center.lat,\n lng: data.circle.center.longitude || data.circle.center.lng,\n },\n radio: data.circle.radius / 1000,\n };\n }\n break;\n case DELIVERY_ZONE_TYPE.reference:\n resData.reference = data.reference || data.reference === 0 ? { region_id: parseInt(data.reference) } : null;\n break;\n case DELIVERY_ZONE_TYPE.deliveryZoneReference:\n resData.delivery_zone_reference = { zone_id: data.zone_id };\n break;\n default:\n break;\n }\n\n newData.data = resData;\n return newData;\n}\n\nexport function getNewCategoryOrder(depotId) {\n const state = Store.store.getState();\n const depot = state && state.restaurant.data && state.restaurant.data.depots.find(depot => depot.id === depotId);\n const sortedCategories = ((depot && depot.businessMenu && depot.businessMenu.categories) || [])?.sort(\n (a, b) => b.order - a.order\n );\n return sortedCategories.length ? sortedCategories[0].order + 1 : 0;\n}\n\nexport function getDepotCategories(depotId) {\n const state = Store.store.getState();\n const depot =\n state &&\n state.restaurant.data &&\n state.restaurant.data.depots &&\n state.restaurant.data.depots.find(depot => depot.id === depotId);\n return (depot && depot.businessMenu && depot.businessMenu.categories) || [];\n}\n\nexport function getCurrentBusinessMenu() {\n const state = Store.store.getState();\n return state.restaurant.data.businessMenu || {};\n}\n\nexport function getBusinessMenuCategories() {\n const state = Store.store.getState();\n return (\n (state.restaurant.data &&\n state.restaurant.data.businessMenu &&\n state.restaurant.data.businessMenu.categories) ||\n []\n );\n}\n\nexport function getDepotCategoryExtras(depotId, categoryId, store) {\n const state = store || Store.store.getState();\n const menu = state.restaurant.data && state.restaurant.data.businessMenu;\n const category = ((menu && menu.categories) || []).find(category => category.id === categoryId) || {};\n\n const extras = (menu && menu.extras) || [];\n\n return (category.extras || []).concat(extras);\n}\n\nexport function getBusinessProduct(categoryId, productId, store) {\n const state = store || Store.store.getState();\n const menu = state.restaurant.data && state.restaurant.data.businessMenu;\n const category = ((menu && menu.categories) || []).find(category => category.id === categoryId) || {};\n const product = (category.products || []).find(p => p.id === productId);\n return product;\n}\n\nexport function getBusinessExtra(categoryId, productId, extraId, store) {\n const state = store || Store.store.getState();\n const menu = state.restaurant.data && state.restaurant.data.businessMenu;\n const category = ((menu && menu.categories) || []).find(category => category.id === categoryId) || {};\n const product = (category.products || []).find(p => p.id === productId) || {};\n const extra = (product.extras || []).find(e => e.id === extraId);\n return extra;\n}\n\nexport function getAllBusinessSuboption(categoryId, productId, extraId, suboptionId, store) {\n const state = store || Store.store.getState();\n const menu = state.restaurant.data && state.restaurant.data.businessMenu;\n const category = ((menu && menu.categories) || []).find(category => category.id === categoryId) || {};\n const product = (category.products || []).find(p => p.id === productId) || {};\n const extra = (product.extras || []).find(e => e.id === extraId);\n const suboptions = (extra.options || []).flatMap(e => e.suboptions);\n return suboptions;\n}\n\nexport function prepareOverrideObject(object, initItem, overrides) {\n const newOverride = [];\n const result = {...object};\n delete result.overridesProperty;\n Object.keys(result).forEach(key => {\n if(result[key] !== initItem[key]) {\n newOverride.push({\n id: initItem.id,\n language:null,\n name: key,\n value: result[key],\n });\n }\n });\n return (overrides || []).filter(o => o.id !== object.id).concat(newOverride);\n}\n\nexport function getAllEnabledOverrideDataFromMenu(menu) {\n if(!menu) return [];\n const categories = (menu.categories) || [];\n const products = categories.flatMap(c => c.products);\n const categoryExtras = categories.flatMap(cat => cat.extras || []);\n const categoryOptions = categoryExtras.flatMap(extra => extra.options || []);\n const categorySuboptions = categoryOptions.flatMap(option => option.suboptions || []);\n const globalExtras = menu.extras || [];\n const globalOptions = globalExtras.flatMap(extra => extra.options);\n const globalSuboptions = globalOptions.flatMap(option => option.suboptions || []);\n\n return []\n .concat(categories)\n .concat(products)\n .concat(categoryExtras).concat(categoryOptions).concat(categorySuboptions)\n .concat(globalExtras).concat(globalOptions).concat(globalSuboptions);\n}\n\nexport function getAllExtra(menu) {\n const globalExtra = menu.extras || [];\n const extras = menu.categories.flatMap(cat => cat.extras) || [];\n return [].concat(extras).concat(globalExtra);\n}\n\nexport function getAllOption(menu) {\n const globalExtra = menu.extras || [];\n const extras = menu.categories.flatMap(cat => cat.extras) || [];\n\n const globalOptions = globalExtra.flatMap(extra => extra.options);\n const options = extras.flatMap(extra => extra.options);\n\n return [].concat(options).concat(globalOptions);\n}\n\nexport function getAllSuboption(menu) {\n const globalExtra = menu.extras || [];\n const globalOption = globalExtra.flatMap(extra => extra.options);\n const globalSuboptions = globalOption.flatMap(opt => opt.suboptions);\n\n const extras = menu.categories.flatMap(cat => cat.extras) || [];\n const options = extras.flatMap(extra => extra.options);\n const suboptions = options.flatMap(opt => opt.suboptions);\n\n return [].concat(suboptions).concat(globalSuboptions);\n}\n\nexport function getOveridesArray(currentObject, oldObject) {\n const override = [];\n for(let propName in currentObject) {\n if(currentObject[propName] !== oldObject[propName]) {\n override.push({\n name: propName,\n value: currentObject[propName]\n });\n } else {\n override.push({\n name: propName,\n value: null\n });\n }\n }\n return override;\n}\n\nexport function getCurrentOrderingMenuDepotId() {\n const state = Store.store.getState();\n const { id } = getHistoryLocationParams(window.location.search);\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) || id;\n}\n\nexport function getOrderingMenuExtraOptions(extraId, store) {\n const state = store || Store.store.getState();\n const businessMenu = (state.restaurant.data && state.restaurant.data.businessMenu) || {};\n const extras = (businessMenu && businessMenu.extras) || [];\n const extra = extras.find(f => f.id === extraId);\n return (extra && extra.options) || [];\n}\n\nexport function getOrderingMenuOptions(categoryId, extraId, store) {\n const state = store || Store.store.getState();\n const categories = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === categoryId);\n const extras = (category && category.extras) || [];\n const extra = extras.find(f => f.id === extraId);\n return (extra && extra.options) || [];\n}\n\nexport function getFleetProducerType(){\n const result = [\n {\n key: 0, value: i18n.t('fleet.NONE'), icon: ''\n },\n {\n key: 1, value: i18n.t('fleet.NIU'), icon: 'niu-icon'\n }];\n return result\n}\n\nexport function getFleetVehicleType(){\n const result = [{\n key: 0, value: i18n.t('fleet.SCOOTER'), icon: \"kickScooterDark\",\n },\n {\n key: 2, value: i18n.t('fleet.CAR'), icon: \"carDark\",\n },\n {\n key: 1, value: i18n.t('fleet.BICYCLE'), icon: \"deliveryDark\",\n }];\n return result\n}\n\n\nexport function getNameForExtraById(depotId, extraId, store) {\n const state = store || Store.store.getState();\n const extras = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.extras) || [];\n return (extras.find(e => e.id === extraId) || {}).name || '';\n}\n\nexport function getNameForOptionExtraById(depotId, extraId, optionId, store) {\n const state = store || Store.store.getState();\n const extras = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.extras) || [];\n const extra = extras.find(e => e.id === extraId) || {};\n return ((extra.options || []).find(o => o.id === optionId) || {}).name || '';\n}\n\nexport function getCurrentContryCode() {\n const state = Store.store.getState();\n return (state && state.restaurant.data && state.restaurant.data.countryCode) || 'HE';\n}\n\nexport function getCurrentCurrency() {\n const state = Store.store.getState();\n return (\n COUNTRY_CURRENCY_CODES[state && state.restaurant.data && state.restaurant.data.countryCode] ||\n COUNTRY_CURRENCY_CODES.US\n );\n}\n\nexport function getCampaignsExecutionStatusLabel(type) {\n switch (type) {\n case CAMPAIGN_EXECUTION_STATE_TYPES.pending:\n return i18n.t('enums.campaign.CAMPAIGN_EXECUTION_STATE_PENDING');\n case CAMPAIGN_EXECUTION_STATE_TYPES.active:\n return i18n.t('enums.campaign.CAMPAIGN_EXECUTION_STATE_ACTIVE');\n case CAMPAIGN_EXECUTION_STATE_TYPES.finished:\n return i18n.t('enums.campaign.CAMPAIGN_EXECUTION_STATE_FINISHED');\n default:\n return '';\n }\n}\n\nexport function getDiscountTypeLabel(type) {\n switch (type) {\n case DISCOUNT_TYPE.coupon:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_COUPON');\n case DISCOUNT_TYPE.promotion:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_PROMOTION');\n default:\n return '';\n }\n}\n\nexport function getPeriodsByDate(startDate, endDate) {\n if(startDate && endDate){\n const startDateMoment = moment(startDate);\n const endDateMoment = moment(endDate);\n const formattedStartDate = `${i18n.t(`covertTime.MONTH_SHORT_${startDateMoment.month()}`)} ${startDateMoment.date()}, ${startDateMoment.year()}`;\n const formattedEndDate = `${i18n.t(`covertTime.MONTH_SHORT_${endDateMoment.month()}`)} ${endDateMoment.date()}, ${endDateMoment.year()}`;\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n } else {\n return '';\n }\n}\n\nexport function getStageByNumber(stage) {\n let stageResult = '';\n switch(stage) {\n case 0:\n stageResult = i18n.t('stagePeriods.PENDING'); break;\n case 1:\n stageResult = i18n.t('stagePeriods.APPROVED'); break;\n case 2:\n stageResult = i18n.t('stagePeriods.EXECUTION'); break;\n case 3:\n stageResult = i18n.t('stagePeriods.PAYMENT_READY'); break;\n case 4:\n stageResult = i18n.t('stagePeriods.DECLINED'); break;\n default:\n stageResult = '';\n }\n return stageResult;\n}\n\n\nexport function getDiscountOrderTypeLabel(type) {\n switch (type) {\n case DISCOUNT_ORDER_TYPE.any:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_ANY');\n case DISCOUNT_ORDER_TYPE.delivery:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_DELIVERY');\n case DISCOUNT_ORDER_TYPE.takeAway:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_TAKEAWAY');\n case DISCOUNT_ORDER_TYPE.dinein:\n return i18n.t('settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_DINEIN');\n default:\n return '';\n }\n}\n\nexport function getDiscountTargetType(type) {\n switch (type) {\n case OFFER_DISCOUNT_TARGET.products:\n return i18n.t('enums.offerDiscountTarget.PRODUCTS');\n case OFFER_DISCOUNT_TARGET.delivery:\n return i18n.t('enums.offerDiscountTarget.DELIVERY');\n case OFFER_DISCOUNT_TARGET.product:\n return i18n.t('enums.offerDiscountTarget.PRODUCT');\n default:\n return '';\n }\n}\n\nexport function getDiscountCalculationBaseType(type) {\n switch (type) {\n case OFFER_DISCOUNT_TARGET.products:\n return i18n.t('enums.offerCalculationBase.PRODUCTS');\n case OFFER_DISCOUNT_TARGET.delivery:\n return i18n.t('enums.offerCalculationBase.DELIVERY');\n default:\n return '';\n }\n}\n\nexport function getCampaignType(type) {\n switch (type) {\n case CAMPAIGN_TYPES.push:\n return i18n.t('enums.campaign.CAMPAIGN_TYPE_PUSH');\n default:\n return '';\n }\n}\n\nexport function getDepotDefaultRegionControlCenterName(item) {\n const region = getRegions().find(f => f.id.toString() === item.deliveryRegionId.toString()) || {};\n const controlCenter = getControlCenterById(item.controlCenterId) || {};\n return `${region.name || ''}${controlCenter.name ? '-' + controlCenter.name : ''}`;\n}\n\nexport function getAllOrders() {\n const state = Store.store.getState();\n if (!((state || {}).order || {}).data) return [];\n const activeOrders = state.order.data.activeOrders;\n const pendingPreOrders = state.order.data.pendingPreOrders;\n return activeOrders.concat(pendingPreOrders);\n}\n\nexport function getPendingOrdersItems(type, isShowPreorders, orderData, users, externalCycles) {\n let activeOrders = [];\n let pendingPreOrders = [];\n let historyOrders = [];\n\n if(orderData) {\n activeOrders = orderData.activeOrders;\n pendingPreOrders = orderData.pendingPreOrders;\n historyOrders = orderData.historyOrders;\n } else {\n const state = Store.store.getState();\n if (!((state || {}).order || {}).data) return [];\n\n activeOrders = state.order.data.activeOrders;\n pendingPreOrders = state.order.data.pendingPreOrders; historyOrders = state.order.data.historyOrders;\n }\n\n let result = [];\n\n switch (type) {\n case PENDING_ORDERS_FILTER_TYPE.active:\n result = pendingOrdersFilter((activeOrders || []).filter(\n order =>\n order.process_step === ORDER_PROCESS_STEP.waitingForApproval ||\n order.process_step === ORDER_PROCESS_STEP.waitingForCourierAssignment ||\n order.process_step === ORDER_PROCESS_STEP.waitingForPickup ||\n order.isAssistOrder\n ));\n break;\n case PENDING_ORDERS_FILTER_TYPE.pending:\n result = pendingOrdersSort((activeOrders || [])\n .filter(order => order.process_step === ORDER_PROCESS_STEP.waitingForApproval || order.isAssistOrder));\n break;\n case PENDING_ORDERS_FILTER_TYPE.cooking:\n result = pendingOrdersCookingSort((activeOrders || []).filter(\n order => order.process_step === ORDER_PROCESS_STEP.waitingForCourierAssignment\n ));\n break;\n case PENDING_ORDERS_FILTER_TYPE.ready:\n result = pendingOrdersCouriersOlderSort(\n (activeOrders || []).filter(order => order.process_step === ORDER_PROCESS_STEP.waitingForPickup),\n users,\n externalCycles\n );\n break;\n case PENDING_ORDERS_FILTER_TYPE.delivering:\n result = pendingOrdersCouriersOlderSort(\n (activeOrders || []).filter(order => order.process_step === ORDER_PROCESS_STEP.delivering),\n users,\n externalCycles\n );break;\n case PENDING_ORDERS_FILTER_TYPE.preorders:\n result = pendingOrdersFilter(pendingPreOrders || []);\n break;\n case PENDING_ORDERS_FILTER_TYPE.history:\n result = pendingHistoryOrdersFilter(historyOrders || []);\n break;\n default:\n break;\n }\n\n const orders =\n isShowPreorders && type !== PENDING_ORDERS_FILTER_TYPE.preorders\n ? result.concat(pendingPreOrders || [])\n : result;\n\n return orders;\n}\n\nexport function getPendingOrdersContainerConfig(filterType, orderData, users, externalCycles) {\n const isDesktop = getPendingOrdersIsDesktop();\n const isIpad = getPendingOrdersIsIpad();\n const filterTypesExcept = [\n PENDING_ORDERS_FILTER_TYPE.delivering,\n PENDING_ORDERS_FILTER_TYPE.history,\n PENDING_ORDERS_FILTER_TYPE.preorders,\n ];\n const isShowThreeColumn = (isDesktop || isIpad) && !filterTypesExcept.includes(filterType);\n const showPendingLabel =\n (isDesktop || isIpad) &&\n [\n PENDING_ORDERS_FILTER_TYPE.active,\n PENDING_ORDERS_FILTER_TYPE.cooking,\n PENDING_ORDERS_FILTER_TYPE.pending,\n\n PENDING_ORDERS_FILTER_TYPE.ready,\n ].includes(filterType);\n const firstContainerItems = getPendingOrdersItems(\n (isDesktop || isIpad) && filterType === PENDING_ORDERS_FILTER_TYPE.active\n ? PENDING_ORDERS_FILTER_TYPE.pending\n : filterType\n , false, orderData, users, externalCycles);\n\n return {\n isDesktop,\n isIpad,\n showPendingLabel,\n isShowThreeColumn,\n filterTypesExcept,\n firstContainerItems,\n secondContainerItems: isShowThreeColumn && getPendingOrdersItems(PENDING_ORDERS_FILTER_TYPE.cooking),\n thirdContainerItems: isShowThreeColumn && getPendingOrdersItems(PENDING_ORDERS_FILTER_TYPE.ready),\n };\n}\n\nexport function getPendingOrdersTypes() {\n const desktopPending = [\n PENDING_ORDERS_FILTER_TYPE.active,\n PENDING_ORDERS_FILTER_TYPE.delivering,\n PENDING_ORDERS_FILTER_TYPE.preorders,\n PENDING_ORDERS_FILTER_TYPE.history,\n ];\n return getPendingOrdersIsDesktop() || getPendingOrdersIsIpad()\n ? desktopPending\n : [\n ...getPendingActiveTypes(),\n PENDING_ORDERS_FILTER_TYPE.delivering,\n PENDING_ORDERS_FILTER_TYPE.preorders,\n PENDING_ORDERS_FILTER_TYPE.history,\n ];\n}\n\nexport function getPendingActiveTypes() {\n return [PENDING_ORDERS_FILTER_TYPE.pending, PENDING_ORDERS_FILTER_TYPE.cooking, PENDING_ORDERS_FILTER_TYPE.ready];\n}\n\nexport function getFirstPendingActiveTypeOrder() {\n let type = null;\n let order = null;\n const indexActiveType = getPendingActiveTypes().findIndex(type => getPendingOrdersItems(type).length > 0);\n\n if (indexActiveType > -1) {\n type = PENDING_ORDERS_FILTER_TYPE.active;\n order = getPendingOrdersItems(getPendingActiveTypes()[indexActiveType])[0];\n } else {\n type = getPendingActiveTypes()\n .slice(1)\n .findIndex(type => getPendingOrdersItems(type).length > 0);\n order = getPendingOrdersItems(type)[0];\n }\n\n return { type, order };\n}\n\nexport function getOrderAndTypeById(orderId) {\n const isFullPreview = getPendingOrdersIsDesktop() || getPendingOrdersIsIpad();\n const order = getAllOrders().find(order => order.id === orderId);\n\n const isActiveTabs = [ORDER_PROCESS_STEP.waitingForApproval, ORDER_PROCESS_STEP.waitingForCourierAssignment, ORDER_PROCESS_STEP.waitingForPickup].includes(order.process_step);\n if(isFullPreview && (isActiveTabs || order.isAssistOrder)) {\n return { order, type: PENDING_ORDERS_FILTER_TYPE.active };\n }\n if(!isFullPreview && (order.process_step === ORDER_PROCESS_STEP.waitingForApproval || order.isAssistOrder)) {\n return { order, type: PENDING_ORDERS_FILTER_TYPE.pending };\n }\n if(order.process_step === ORDER_PROCESS_STEP.delivering) {\n return { order, type: PENDING_ORDERS_FILTER_TYPE.delivering };\n }\n if(order.process_step === ORDER_PROCESS_STEP.waitingForPickup) {\n return { order, type: PENDING_ORDERS_FILTER_TYPE.ready };\n }\n if(order.process_step === ORDER_PROCESS_STEP.waitingForCourierAssignment) {\n return { order, type: PENDING_ORDERS_FILTER_TYPE.cooking };\n }\n\n return getFirstPendingActiveTypeOrder();\n}\n\nexport function getCityList(city) {\n const state = Store.store.getState();\n const serviceCities =\n (state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.configuration &&\n state.restaurant.data.configuration.serviceCities) ||\n [];\n\n return city && !serviceCities.find(f => f === city)\n ? [{ city, skipForExistCheck: true}].concat(serviceCities.map(city => ({ city })))\n : serviceCities.map(city => ({ city }));\n}\n\nexport function getFilteredCityList(cities, city) {\n let result = [...cities];\n if(cities && cities.length > 0 && city){\n result = cities.filter((e) => e.city.toLowerCase().includes(city.toLowerCase()));\n }\n\n return result;\n}\n\nexport function getDefaultCity(depotId, city) {\n if (!depotId) return '';\n\n const state = Store.store.getState();\n const serviceCities =\n (state.restaurant &&\n state.restaurant.data.configuration &&\n state.restaurant.data.configuration.serviceCities) ||\n [];\n const depot = state.restaurant && state.restaurant.data.depots.find(f => f.id === depotId);\n const depotCity = depot && depot.address && depot.address.address && depot.address.address.city;\n\n const firstCity = (serviceCities[0] && serviceCities[0].city) || (serviceCities[0]);\n\n if(city && serviceCities.some(c => c === city)) {\n return city;\n }\n\n return (\n (depotCity && (serviceCities.find(f => getStringValue(f) === getStringValue(depotCity)) || depotCity)) ||\n firstCity\n );\n}\n\nexport function getDefaultDepotCity(depotId) {\n if (!depotId) return '';\n\n const state = Store.store.getState();\n const depot = state.restaurant && state.restaurant.data.depots.find(f => f.id === depotId);\n\n return depot?.defaultCity || '';\n}\n\nexport function getRestaurantConfigPropValue(prop) {\n const state = Store && Store.store.getState();\n\n return (\n state &&\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.configuration &&\n state.restaurant.data.configuration[prop]\n );\n}\n\nexport function getLabelWithMetric(label) {\n const isUSMetric = getRestaurantConfigPropValue('uSBasedMetricSystem');\n return isUSMetric ? `${label}_US` : label;\n}\n\nexport function getRestaurantLocation() {\n const state = Store.store.getState();\n return state && state.restaurant && state.restaurant.data.location;\n}\n\nexport function getAddressSearchRadius(depotId) {\n const state = Store.store.getState();\n const depot = depotId && state.restaurant && state.restaurant.data.depots.find(f => f.id === depotId);\n\n return {\n radius: (depot && depot.radius) || SEARCH_RADIUS,\n location: getLatLngFromLocation(\n (depot && depot.address && depot.address.location) || (state.restaurant && state.restaurant.data.location),\n true\n ),\n };\n}\n\nexport function getPusherChannelName() {\n const connData = getUserConnectionData() || {};\n return (connData.depotId || connData.rest || '').toLowerCase();\n}\n\nexport function getDepotModeId() {\n const connData = getUserConnectionData() || {};\n return connData.depotId;\n}\n\nexport function getCurrentSelectedControlCenter() {\n const state = Store.store.getState();\n return state && state.restaurant && state.restaurant.data && state.restaurant.data.selectedControlCenter;\n}\n\nexport function getCouriersBarGroupItemData(type, { disableBackupCouriers, itemsLength }) {\n let data = {};\n switch (type) {\n case COURIER_GROUP_MODEL_TYPE.onRouteGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.ON_ROUTE_GROUP_LABEL'), true, true);\n data.showCountOrders = true;\n data.isActive = true;\n break;\n case COURIER_GROUP_MODEL_TYPE.approvedGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.APPROVED_GROUP_LABEL'), true, true);\n data.showCountOrders = true;\n data.isActive = true;\n break;\n case COURIER_GROUP_MODEL_TYPE.comingBackGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.COMING_BACK_GROUP_LABEL'), true, true);\n data.hide = !getRestaurantConfigPropValue('isSingleLocationAccount');\n data.isActive = true;\n break;\n case COURIER_GROUP_MODEL_TYPE.awayGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.AWAY_GROUP_LABEL'), true, true);\n data.hide = isDepotMode() && !itemsLength;\n break;\n case COURIER_GROUP_MODEL_TYPE.waitingGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.WAITING_GROUP_LABEL'), true, true);\n data.showCountOrders = true;\n data.isActive = true;\n break;\n case COURIER_GROUP_MODEL_TYPE.backupGroup:\n data = createCourierGroupModel(i18n.t('dashboard.couriersbar.BACKUP_GROUP_LABEL'));\n data.hide = disableBackupCouriers;\n break;\n case COURIER_GROUP_MODEL_TYPE.externalCycle:\n data = createCourierGroupModel(i18n.t('externalCycles.EXTERNAL_CYCLE_GROUP_LABEL'), false, true);\n data.isActive = true;\n break;\n default:\n break;\n }\n\n return data;\n}\n\nexport function getCouriersBarGroupItems(type, { users, orders, externalCycles, selectedControlCenters, searchString }) {\n switch (type) {\n case COURIER_GROUP_MODEL_TYPE.onRouteGroup:\n return getCourierGroupDataSort(\n type,\n users.filter(\n user => couriersBarFilter(user, orders, searchString, selectedControlCenters) && onRouteFilter(user)\n )\n );\n case COURIER_GROUP_MODEL_TYPE.approvedGroup:\n return getCourierGroupDataSort(\n type,\n users.filter(\n user => couriersBarFilter(user, orders, searchString, selectedControlCenters) && approvedFilter(user)\n )\n );\n case COURIER_GROUP_MODEL_TYPE.comingBackGroup:\n return getCourierGroupDataSort(\n type,\n users.filter(\n user =>\n couriersBarFilter(user, orders, searchString, selectedControlCenters) &&\n comingBackFilter(user)\n )\n );\n case COURIER_GROUP_MODEL_TYPE.awayGroup:\n const items = users.filter(\n user => couriersBarFilter(user, orders, searchString, selectedControlCenters) && awayFilter(user)\n );\n return isDepotMode() && !items.length ? [] : getCourierGroupDataSort(type, items);\n case COURIER_GROUP_MODEL_TYPE.waitingGroup:\n case COURIER_GROUP_MODEL_TYPE.backupGroup:\n const includeCycleStates = [CYCLE_STATE.started, CYCLE_STATE.closed, CYCLE_STATE.comingBack];\n const waitingItems = users.filter(\n user => waitingFilter(user) && couriersBarFilter(user, orders, searchString, selectedControlCenters)\n );\n const backupItems = users.filter(\n user =>\n backUpCouriersFilter(user) &&\n couriersBarFilter(user, orders, searchString, selectedControlCenters, true) &&\n (!user.cycle || includeCycleStates.includes(user.cycle.state)) &&\n !waitingItems.find(f => f.userId === user.userId)\n );\n\n return getCourierGroupDataSort(\n type,\n type === COURIER_GROUP_MODEL_TYPE.waitingGroup ? waitingItems : backupItems\n );\n case COURIER_GROUP_MODEL_TYPE.externalCycle:\n return externalCycleCouriersBarFilter(externalCycles, selectedControlCenters);\n default:\n return [];\n }\n}\n\nexport function getShowDescription(group) {\n const travelData = group.travelData || getInitModel(MODEL_TYPE.travelDataModel);\n\n return (\n travelData.gpsDisabled ||\n (group.cycle &&\n group.cycle.state !== CYCLE_STATE.started &&\n travelData.state === COURIER_LOCATION_STATE.standing &&\n !travelData.stoppedAtAllowedLocation) ||\n travelData.state === COURIER_LOCATION_STATE.lost ||\n isLowBattery(travelData)\n );\n}\n\nexport function getDescriptionLocationState(group) {\n const travelData = group.travelData || getInitModel(MODEL_TYPE.travelDataModel);\n\n if (travelData.gpsDisabled) {\n return i18n.t('dashboard.couriersbar.COURIER_DISABLED_GPS');\n }\n if (\n group.cycle &&\n group.cycle.state !== CYCLE_STATE.started &&\n travelData.state === COURIER_LOCATION_STATE.standing &&\n !travelData.stoppedAtAllowedLocation\n ) {\n return i18n.t('dashboard.couriersbar.COURIER_STOPPED');\n }\n if (travelData.state === COURIER_LOCATION_STATE.lost) {\n return i18n.t('dashboard.couriersbar.COURIER_LOST');\n }\n if (isLowBattery(travelData)) {\n return i18n.t('dashboard.couriersbar.LOW_BATTERY_LABEL');\n }\n return '';\n}\n\nexport function getExternalCycleDriverInfo(externalCycle, propName) {\n let info = '';\n if ((externalCycle || {}).driverInfo) {\n if (propName) {\n return externalCycle.driverInfo[propName] || '';\n }\n\n if (externalCycle.driverInfo.name) {\n info += `${externalCycle.driverInfo.name}`;\n }\n\n if (externalCycle.driverInfo.carModel) {\n info += `, ${externalCycle.driverInfo.carModel}`;\n }\n\n if (externalCycle.driverInfo.carNumber) {\n info += `(${externalCycle.driverInfo.carNumber})`;\n }\n }\n return info;\n}\n\nexport function getExternalCycleLogo(provider) {\n return (provider && (provider.avatarUrl || getExternalCycleLogoByProvider(provider.provider))) || \"\";\n}\n\nexport function getExternalCycleLogoByProvider(provider) {\n switch (provider) {\n case EXTERNAL_COURIER_PROVIDER.yango:\n return defaultIcons.yango;\n case EXTERNAL_COURIER_PROVIDER.delivApp:\n return defaultIcons.default;\n case EXTERNAL_COURIER_PROVIDER.wolt:\n return defaultIcons.wolt;\n case EXTERNAL_COURIER_PROVIDER.doorDash:\n return defaultIcons.doorDash;\n case EXTERNAL_COURIER_PROVIDER.gett:\n return defaultIcons.gett;\n default:\n return '';\n }\n}\n\nexport function getExternalCycleDistance(group) {\n const distance = getDistance(group);\n return distance ? ` ${distance} ${getLabelWithMetric('dashboard.orders.DISTANCE_LABEL')} ` : '';\n}\n\nexport function getExternalCyclePriceInfo(externalCycle) {\n if (!externalCycle || !externalCycle.priceInfo || !externalCycle.priceInfo.price) return '';\n return `${externalCycle.priceInfo.price} ${getCurrencyIcons(externalCycle.priceInfo.currency)}`;\n}\n\nfunction getCourierGroupDataSort(type, items) {\n switch (type) {\n case COURIER_GROUP_MODEL_TYPE.onRouteGroup:\n return onRouteCourierGroupSort(items);\n default:\n return items?.sort((a, b) => courierQueueSort(a, b));\n }\n}\n\nfunction createCourierGroupModel(label, highlightGroup, openGroup) {\n return {\n label,\n items: [],\n open: openGroup,\n highlightGroup: highlightGroup,\n hide: false,\n isActive: false,\n showCountOrders: false,\n };\n}\n\nexport function getDepot(depots, depotId, isFirstDepot = false) {\n if (!isFirstDepot && !depotId) return {};\n\n if (depots) {\n return (isFirstDepot ? (depots || [])[0] : (depots || []).find(depot => depot.id === depotId)) || {};\n } else {\n const state = Store.store.getState();\n return (\n (isFirstDepot\n ? ((state && state.restaurant && state.restaurant.data.depots) || [])[0]\n : ((state && state.restaurant && state.restaurant.data.depots) || []).find(\n depot => depot.id === depotId\n )) || {}\n );\n }\n}\n\nexport function getDefaultLocation(location) {\n if(!locationIsEmpty(location)) return location;\n const store = Store.store.getState() || {};\n const restaurant = store.restaurant.data || {};\n const depots = restaurant.depots || [];\n const firstDepotLocation = ((depots[0] || {}).address || {}).location;\n return firstDepotLocation || restaurant.location;\n}\n\nexport function getDefaultRegion(center, locationIsFromCenter = false, isReturnDefaultIfEmpty = true) {\n const store = Store.store.getState() || {};\n const restaurant = store.restaurant.data || {};\n const depots = restaurant.depots || [];\n const firstDepotLocation = ((depots[0] || {}).address || {}).location;\n let location = locationIsFromCenter\n ? center || firstDepotLocation || restaurant.location\n : firstDepotLocation || (locationIsEmpty(restaurant.location) ? center : restaurant.location);\n\n if (!location || locationIsEmpty(location)) {\n if(!isReturnDefaultIfEmpty) return [];\n\n location = firstDepotLocation || restaurant.location;\n if (!location || locationIsEmpty(location)) return [];\n }\n const locationLat = location.lat || location.latitude;\n const locationLng = location.lng || location.longitude;\n\n return [\n {\n latitude: locationLat - MAP_POLYGON_DIFF,\n longitude: locationLng - MAP_POLYGON_DIFF,\n },\n {\n latitude: locationLat - MAP_POLYGON_DIFF,\n longitude: locationLng + MAP_POLYGON_DIFF,\n },\n {\n latitude: locationLat + MAP_POLYGON_DIFF,\n longitude: locationLng + MAP_POLYGON_DIFF,\n },\n {\n latitude: locationLat + MAP_POLYGON_DIFF,\n longitude: locationLng - MAP_POLYGON_DIFF,\n },\n ];\n}\n\nfunction isGoogleMapEmpty() {\n return !window || !window.google || !window.google.maps;\n}\n\nexport function generateRandomString(length) {\n const symbols = '1234567890qwertyuiopasdfghjklzxcvbnm';\n return Array(length || 12)\n .fill(0)\n .map(() => symbols[Math.floor(Math.random() * symbols.length)])\n .join('');\n}\n\nexport const isMobileWidth = () => window.innerWidth <= 700;\n\nexport function getItemsWithColor(data, propName = \"id\", propColor = \"color\") {\n const couriersWithColors = {};\n return (data || []).map(item=> {\n if(item[propName]) {\n couriersWithColors[propName] = item[propColor] || couriersWithColors[propName] || ColorService.instance.getColor();\n item[propColor] = couriersWithColors[propName];\n }\n\n return item;\n });\n}\n\nexport function getItemsColors(data, propName = \"id\", propColor = \"color\") {\n return (data || []).reduce((a, item) => ({ ...a, [item[propName]]: item[propColor] }), {});\n}\n\nexport const getRestaurantCardConfig = () => {\n const state = Store.store.getState();\n const config = state.restaurant.data.paymentsConfiguration;\n return {\n initPaymentIntent: GET_ORDER_SETUP_INTENT,\n stripeVerifyCard: STRIPE_VERIFY_CARD_ORDER,\n provider: config.provider,\n sellerId: config.paymeSellerId,\n productionMode: config.productionMode,\n stripeKey: config.publicStripeKey,\n tranzilaKey: config.tranzilaTokenTerminal,\n }\n}\n\nexport const countPendingOrder = () => {\n const state = Store.store.getState();\n return state.order?.data?.adminOrders?.pendingCount || 0;\n}\n\nexport const menuItemIconOrdersCount = () => {\n const state = Store.store.getState();\n return (state.order?.data?.activeOrders || []).filter(order=> order.status === ACCOUNT_ORDER_STATUS.pending).length || 0;\n}","import { MODEL_TYPE, TYPE_PATTERN } from './enums';\nimport {\n createLocationModel,\n getAddressServerModel,\n getLocationServerModel,\n getOrderServerModel,\n getPaymentsServerModel,\n} from '../services/order';\nimport i18n from '../i18n.js';\n\nconst formatRegExp = /{(\\d+)}/g;\n\nexport function parseServerModel(obj, modelTypesDictionary, objectKey) {\n if (Array.isArray(obj)) {\n return obj.map(item =>\n parseServerModel(item, modelTypesDictionary, objectKey)\n );\n } else if (typeof obj === \"object\" && obj) {\n let newobj = {\n modelType: modelTypesDictionary[objectKey]\n };\n Object.keys(obj).forEach(key => {\n newobj[key.toFirstCharLowerCase()] = parseServerModel(\n obj[key],\n modelTypesDictionary,\n key\n );\n });\n return newobj;\n }\n\n return obj;\n}\n\nexport function getParsedServerModel(obj) {\n if (Array.isArray(obj)) {\n return obj.map(item => getParsedServerModel(item));\n } else if (typeof obj === \"object\" && obj) {\n return obj.modelType && parseServerModelDictionary[obj.modelType]\n ? parseServerModelDictionary[obj.modelType](obj)\n : objectKeysToUpperLowerCase(obj, true);\n }\n return obj;\n}\n\nexport const parseServerModelDictionary = {\n [MODEL_TYPE.order]: getOrderServerModel,\n [MODEL_TYPE.address]: getAddressServerModel,\n [MODEL_TYPE.location]: getLocationServerModel,\n [MODEL_TYPE.payments]: getPaymentsServerModel\n};\n\nexport function objectKeysToUpperLowerCase(obj, upperCase = false) {\n if (Array.isArray(obj)) {\n return obj.map(item => objectKeysToUpperLowerCase(item, upperCase));\n } else if (typeof obj === \"object\" && obj) {\n let newobj = {};\n Object.keys(obj).forEach(\n key =>\n (newobj[\n upperCase ? key.toFirstCharUpperCase() : key.toFirstCharLowerCase()\n ] =\n Array.isArray(obj) || typeof obj === \"object\"\n ? objectKeysToUpperLowerCase(obj[key], upperCase)\n : obj[key])\n );\n return newobj;\n }\n return obj;\n}\n\nexport function formatString(string) {\n let args = Array.prototype.slice.call(arguments, 1);\n return string.replace(formatRegExp, function(match, number) {\n let argNum = args[number];\n return argNum !== undefined ? argNum : match;\n });\n}\n\nexport function findElementInArray(arr, prop, value) {\n let elem;\n arr.some(function(element) {\n if (element[prop] === value) {\n elem = element;\n return true;\n }\n return false;\n });\n return elem;\n}\n\nexport function removeElementFromArray(arr, prop, value) {\n let elem;\n arr.some(function(element, index) {\n if (element[prop] === value) {\n elem = element;\n arr.splice(index, 1);\n return true;\n }\n return false;\n });\n return elem;\n}\n\nexport const deleteKeysIfNull = (obj) => {\n if(!obj || typeof obj !== 'object') return null\n\n return Object.fromEntries(\n Object.entries(obj).reduce((acc, [key, value]) => {\n if (value !== null) {\n acc.push([key, value]);\n }\n return acc;\n }, [])\n )\n}\n\nexport function mergeArrays(\n source,\n newArray,\n accessorSource = \"id\",\n accessorNewArray = \"id\"\n) {\n if (!source || source.length === 0) return newArray;\n let newArrayFiltered = newArray.filter(f=> f);\n source = source.reduce((accumulator, currentValue) => {\n const index = newArrayFiltered\n .map(m => m[accessorNewArray])\n .indexOf(currentValue[accessorSource]);\n\n if (index > -1) {\n accumulator.push({ ...currentValue, ...newArrayFiltered[index] });\n newArrayFiltered.splice(index, 1);\n } else {\n accumulator.push(currentValue);\n }\n return accumulator;\n }, []);\n\n return source.concat(newArrayFiltered);\n}\n\nexport const excludePropsFromObject = (obj, props = []) => {\n if(!(props || []).length) return obj;\n return Object.keys(obj).reduce((acc, key)=> { return props.includes(key) ? acc : { ...acc, [key]: obj[key] } }, {});\n}\n\nexport function isSameObjects(obj1, obj2, excludedProps = []) {\n return JSON.stringify(excludePropsFromObject(obj1, excludedProps)) === JSON.stringify(excludePropsFromObject(obj2, excludedProps));\n}\n\nexport function mapObject(obj, func) {\n const result = {};\n Object.keys(obj).forEach(key => (result[key] = func(obj[key])));\n return result;\n}\n\nexport function someObject(obj, func) {\n return Object.keys(obj).some(key => func(obj[key]));\n}\n\nexport function isValidStringNoSpaces(value) {\n return value && typeof value === \"string\" && value.indexOf(\" \") < 0;\n}\n\nexport function dataURItoBlob(dataURI) {\n // convert base64/URLEncoded data component to raw binary data held in a string\n let byteString;\n if (dataURI.split(\",\")[0].indexOf(\"base64\") >= 0) {\n byteString = atob(dataURI.split(\",\")[1]);\n } else {\n byteString = unescape(dataURI.split(\",\")[1]);\n }\n\n // separate out the mime component\n const mimeString = dataURI\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n\n // write the bytes of the string to a typed array\n let ia = new Uint8Array(byteString.length);\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([ia], { type: mimeString });\n}\n\nexport function getRegionFromGoogle(googleRegions) {\n const arr = googleRegions.map ? googleRegions : googleRegions.getArray();\n return arr.map(region => createLocationModel(region.lat(), region.lng()));\n}\n\nexport function isEmpty(value) {\n return value === \"undefined\" || value === null || value === \"\" || value === 0;\n}\n\nexport function isEmptyMode(value) {\n return value === \"undefined\" || value === null || value === \"\";\n}\n\nexport function isEmptyObject(value) {\n return Object.getPrototypeOf(value) === Object.prototype && Object.keys(value).length === 0;\n}\n\nexport function isNullOrWhitespace(string) {\n if (typeof string === 'undefined' || string == null) return true;\n return string.replace(/\\s/g, '').length < 1;\n}\n\nexport function isValidKey(keycode) {\n return (keycode > 47 && keycode < 58) || // number keys\n keycode === 32 || keycode === 13 || // spacebar & return key(s) (if you want to allow carriage returns)\n (keycode > 64 && keycode < 91) || // letter keys\n (keycode > 95 && keycode < 112) || // numpad keys\n (keycode > 185 && keycode < 193) || // ;=,-./` (in order)\n (keycode > 218 && keycode < 223); // [\\]' (in order)\n}\n\nexport function getSeparatedValue(string, separator, indexTo) {\n const arr = string.split(separator).filter((value, index) => index < indexTo);\n return arr && arr.length ? arr.join(separator) : string;\n}\n\nexport function fileFromRequestResult(requestResult) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = c\n .split(\";\")[1]\n .trim()\n .split(\"=\")[1];\n fileName = fileName.replace(new RegExp('\"', \"g\"), \"\");\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n\n return {\n fileName,\n file: requestResult.data,\n contentType\n };\n}\n\nexport function getPattern(typePattern) {\n switch (typePattern) {\n case TYPE_PATTERN.email:\n return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n case TYPE_PATTERN.userName:\n return /^[a-z0-9]+$/;\n case TYPE_PATTERN.userNameWithSpaces:\n return /^[a-zA-Z0-9\\u0590-\\u05FF\\u0400-\\u04FF ]+$/;\n case TYPE_PATTERN.slug:\n return /^[a-zA-Z0-9\\-_]+$/;\n case TYPE_PATTERN.userPassword:\n return /^[a-zA-Z0-9]+$/;\n case TYPE_PATTERN.onlyNumbers:\n return /^[0-9]+$/;\n default:\n return null;\n }\n}\n\nexport function getKeyByValue(object, value) {\n return Object.keys(object).find(key => object[key] === value);\n}\n\nexport function defaultPromiseResolve() {\n return new Promise(resolve=> resolve());\n}\n\nexport function moveArrayItem(items, fromItem, toItem, sortPropName = \"order\", uniqueKey) {\n const indexFrom = items\n .map(m=> m[uniqueKey || sortPropName])\n .indexOf(fromItem[uniqueKey || sortPropName]);\n const indexTo = items\n .map(m=> m[uniqueKey || sortPropName])\n .indexOf(toItem[uniqueKey || sortPropName]);\n\n items.splice(indexFrom, 1);\n items.splice(indexTo, 0, fromItem);\n return items.map((item, index)=> ({ ...item, [sortPropName]: index }));\n}\n\nexport function isValidDate(date) {\n return date instanceof Date && !isNaN(date.valueOf())\n}\n\nexport function getStringValue(value) {\n return value.replace(/\\s/g, '');\n}\n\nexport function removeItemFromArray(array, item) {\n const index = array.indexOf(item);\n if (index > -1) array.splice(index, 1);\n}\n\nexport function createExtraOverride(product, extra, newObject, oldObject){\n const changedKeys = [];\n const oldChangeKeys = [];\n const findCurrentOverrides = extra && extra.overrides && extra.overrides.filter(o => o.id === newObject.id).map(o => o.name);\n let overrides = [];\n\n for(let key in newObject) {\n if (typeof newObject[key] !== \"object\" && oldObject[key] !== newObject[key]) {\n changedKeys.push(key);\n }\n }\n\n if(findCurrentOverrides) {\n changedKeys.forEach(k => {\n if(!findCurrentOverrides.includes(k)) {\n oldChangeKeys.push(k);\n }\n });\n }\n\n overrides = oldChangeKeys.concat(findCurrentOverrides || changedKeys).map(k => ({\n id: newObject.id,\n name: k,\n value: newObject[k]\n }));\n\n const findExtraInProduct = product && product.extras.find(e => e.id === extra.id);\n if(findExtraInProduct) {\n if(findExtraInProduct.overrides) {\n findExtraInProduct.overrides = [...findExtraInProduct.overrides.filter(o => o.id !== newObject.id), ...overrides];\n } else {\n findExtraInProduct.overrides = overrides;\n }\n } else {\n const extraOverrides = extra.overrides ? [...extra.overrides.filter(o => o.id !== newObject.id), ...overrides] : overrides;\n product.extras.push({...extra, overrides: extraOverrides});\n }\n}\n\nexport function getLastCharacters(str, length = 1) {\n if(!str) return \"\";\n return str.substr(-length);\n}\n\nexport function isContainsHeb(str) {\n return (/[\\u0590-\\u05FF]/).test(str || \"\");\n}\n\nexport const formatNumber = (number, digits = 2) => {\n return (number && typeof number == \"number\" && !isNaN(parseFloat(number)) && isFinite(number))\n ? number.toFixed(digits)\n : (number || 0);\n}\n\nexport const getTranslateTitle = (title) => {\n return title ? i18n.exists(title) ? i18n.t(title) : title : ''\n}\n\nexport const convertToBoolean = value => {\n if(typeof value === \"boolean\") {\n return value;\n }\n const isString = typeof value === \"string\";\n if(isString && (value === \"true\" || value === \"True\")) {\n return true;\n }\n if(isString && (value === \"false\" || value === \"False\")) {\n return false;\n }\n\n return Boolean(value);\n}\n\nexport const arrayToMap = (source) => {\n const map = new Map();\n if(!source) return map;\n source.forEach(item => {\n map.set(item.id, item);\n })\n return map;\n}\n\nexport const mergeObjectValues = (obj1, obj2) => {\n const merged = {};\n\n for (const key in obj1) {\n merged[key] = obj2[key] !== null && obj2[key] !== undefined ? obj2[key] : obj1[key];\n }\n\n return merged;\n}","export const getUserModel = state => state.userModel.data || [];\nexport const getOrder = state => state.order;\nexport const getActiveStateCycles = state => state.activeStateCycles.data;\nexport const getAllOrders = state => (state.order.data.orders || []).concat(state.order.data.pickUps || []);\nexport const getControlCenter = state => state.restaurant.data.controlCenters || [];\nexport const getSelectedControlCenter = state => state.restaurant.data.selectedControlCenter || '';\nexport const getOrders = state => state.order.data.orders || [];\nexport const getPendingOrders = state => state.order.data.activeOrders;\nexport const getAdminOrders = state => state.order.data.adminOrders;\nexport const getPickups = state => state.order.data.pickUps || [];\nexport const getHistoryOrders = state => state.order.data.historyOrders || [];\nexport const getGroups = state => state.order.data.groups || [];\nexport const getRestaurant = state => state.restaurant.data;\nexport const getSelectedControlCenterMulti = state => state?.restaurant?.data?.selectedControlCenterMulti || [];\nexport const getRestaurantDepots = state => state.restaurant.data.depots || [];\nexport const getConfigurationRegions = state => state.restaurant.data.configuration.regions || [];\nexport const getRestaurantBusinessMenu = state => state.restaurant.data.businessMenu;\nexport const getAutentification = state => state.authentication;\nexport const getMarkers = state => {\n return Array.from(state.marker.dataMap, ([key, value]) => ({...value }));\n};\nexport const getOrderEdit = state => state.orderEdit.data;\nexport const getSectionModel = state => state.sectionModel;\nexport const getNotifications = state => state.notifications.data.notifications || [];\nexport const getExternalCycles = state => state.externalCycles.data || [];\nexport const getProvidersAll = state => state.restaurant?.data?.providers || [];\nexport const getMenuTemplates = state => (state.menuTemplate.data || {}).templates || [];\nexport const getReconciliationSettings = state => state.reconciliations.data.configurations || [];\nexport const getBilling = state => state.billing;\nexport const getIsSectionsWrapperLoading = state => state.sectionsWrapperData.isLoading\n","export class ControlBreadcrumbModel {\n constructor({label, getLabel, isShow = true}) {\n this.label = label;\n this.isShow = isShow;\n\n if(getLabel) {\n this.getLabel = getLabel.bind(this);\n }\n }\n}","import {ControlBreadcrumbModel} from \"../models/controlBreadcrumbModel\";\nimport i18n from '../i18n.js';\n\nexport const createBreadcrumbModel = ({label, getLabel, isShow}) => {\n const translateLabel = label ? i18n.exists(label) ? i18n.t(label) : '' : ''\n\n return new ControlBreadcrumbModel({\n label: translateLabel,\n getLabel,\n isShow,\n });\n}","export const REMOVE_ALL_DATA = \"REMOVE_ALL_DATA\";\nexport const PUSHER_CYCLE_STATE_UPDATE = \"PUSHER_CYCLE_STATE_UPDATE\";\nexport const PUSHER_CYCLE_DISPATCHED = \"PUSHER_CYCLE_DISPATCHED\";\nexport const PUSHER_CYCLE_ROUTE_UPDATE = \"PUSHER_CYCLE_ROUTE_UPDATE\";\nexport const PUSHER_MANUAL_UNASSOCIATE_UPDATE =\n \"PUSHER_MANUAL_UNASSOCIATE_UPDATE\";\nexport const PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST =\n \"PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST\";\nexport const PUSHER_MANUAL_ASSOCIATE_UPDATE = \"PUSHER_MANUAL_ASSOCIATE_UPDATE\";\nexport const PUSHER_SET_AWAY = \"PUSHER_SET_AWAY\";\nexport const GET_INITIAL_DATA = \"GET_INITIAL_DATA\";\n\nexport const ADD = \"_ADD\";\nexport const EDIT = \"_EDIT\";\nexport const DELETE = \"_DELETE\";\nexport const UPDATE = \"_UPDATE\";\nexport const REORDER = \"_REORDER\";\nexport const GET = \"_GET\";\nexport const EXPORT = \"_EXPORT\";\n\nexport function actionRemoveAllData() {\n return {\n type: REMOVE_ALL_DATA\n };\n}\n","import React, { Component } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport Loadable from 'react-loadable';\nimport { connect } from 'react-redux';\nimport {\n BILLING_PATHS, CUSTOMER_SERVICE_MODEL,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL, RECONCILIATIONS_MODEL, SHIFTS_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MENUTEMPLATE_MODEL,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\n\nconst PrivateRoute = ({ component: Component, ...args }) => {\n return (\n \n args.isAuthenticated ? (\n \n ) : (\n \n )\n }\n />\n );\n};\n\nclass Pages extends Component {\n loginpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/loginpage\"),\n loading: () => null,\n modules: [\"loginpage\"]\n });\n\n dashboardpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/dashboardpage\"),\n loading: () => null,\n modules: [\"dashboardpage\"]\n });\n\n billingpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/billingpage\"),\n loading: () => null,\n modules: [\"billingpage\"]\n });\n\n neworderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/neworderpage\"),\n loading: () => null,\n modules: [\"neworderpage\"]\n });\n\n createorder = () =>\n Loadable({\n loader: () => import(\"../../app/pages/createorderpage\"),\n loading: () => null,\n modules: [\"createorderpage\"]\n });\n\n editorderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/editorderpage\"),\n loading: () => null,\n modules: [\"editorderpage\"]\n });\n\n editcustomerorderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/editcustomerorderpage\"),\n loading: () => null,\n modules: [\"editcustomerorder\"]\n });\n\n orderspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/orderspage\"),\n loading: () => null,\n modules: [\"orderspage\"]\n });\n assistancepage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/assistancepage\"),\n loading: () => null,\n modules: [\"assistancepage\"]\n });\n settingspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/settingspage\"),\n loading: () => null,\n modules: [\"settingspage\"]\n });\n shiftspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/shiftspage\"),\n loading: () => null,\n modules: [\"shiftspage\"]\n });\n marketplacesettingspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/marketplacesettingspage\"),\n loading: () => null,\n modules: [\"marketplacesettingspage\"]\n });\n reconciliationpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/reconciliationpage\"),\n loading: () => null,\n modules: [\"reconciliationpage\"]\n });\n mobileSettingspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/mobileSettingspage\"),\n loading: () => null,\n modules: [\"mobileSettingspage\"]\n });\n mobileMarketplacepage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/mobileMarketplacepage\"),\n loading: () => null,\n modules: [\"mobileMarketplacepage\"]\n });\n reportpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/reportpage\"),\n loading: () => null,\n modules: [\"reportpage\"]\n });\n adminorderspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/adminorderspage\"),\n loading: () => null,\n modules: [\"adminorderspage\"]\n });\n\n // orderingmenupage = () =>\n // Loadable({\n // loader: () => import(\"../../app/pages/orderingmenupage\"),\n // loading: () => null,\n // modules: [\"orderingmenupage\"]\n // });\n infopage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/infopage\"),\n loading: () => null,\n modules: [\"infopage\"]\n });\n squareauthpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/squareauthpage\"),\n loading: () => null,\n modules: [\"squareauthpage\"]\n });\n\n getRedirect = path => {\n const { sectionModels, prevModelType } = this.props;\n let pathname = \"\";\n let search = \"\";\n switch (path) {\n case \"/settings\":\n const typeSectionModel =\n sectionModels[prevModelType.TYPE_SECTION_MODEL];\n const id =\n typeSectionModel.model &&\n sectionModels[typeSectionModel.model.parentUrl] &&\n sectionModels[typeSectionModel.model.parentUrl].id;\n\n pathname = prevModelType.TYPE_SECTION_MODEL;\n search = id && id !== typeSectionModel.id\n ? `?parentId=${id}${(typeSectionModel.id &&\n `&id=${typeSectionModel.id}`) ||\n \"\"}`\n : `${(typeSectionModel.id && `?id=${typeSectionModel.id}`) || \"\"}`;\n break;\n case \"/adminorders\":\n pathname = CUSTOMER_SERVICE_MODEL.order;\n search = '';\n break;\n case \"/orderingmenu\":\n case ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit:\n pathname = ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu;\n search =\n \"?id=\" + getHistoryLocationParams(window.location.search)[\"id\"];\n break;\n case \"/marketplace-settings\":\n const typeSectionModelPrev =\n sectionModels[prevModelType.MARKETPLACE_SETTINGS_MODEL];\n const idFromModel =\n typeSectionModelPrev.model &&\n sectionModels[typeSectionModelPrev.model.parentUrl] &&\n sectionModels[typeSectionModelPrev.model.parentUrl].id;\n\n pathname = prevModelType.MARKETPLACE_SETTINGS_MODEL;\n search = id && id !== typeSectionModelPrev.id\n ? `?parentId=${idFromModel}${(typeSectionModelPrev.id &&\n `&id=${typeSectionModelPrev.id}`) ||\n \"\"}`\n : `${(typeSectionModelPrev.id && `?id=${typeSectionModelPrev.id}`) ||\n \"\"}`;\n break;\n default:\n break;\n }\n\n return ;\n };\n\n render() {\n const { isAuthenticated, ...otherProps } = this.props;\n\n return (\n \n \n \n {Object.keys(BILLING_PATHS).map(key => (\n \n ))}\n \n \n \n \n \n \n this.getRedirect(\"/settings\")}\n />\n \n {Object.keys(TYPE_SECTION_MODEL).map(key => (\n \n ))}\n {Object.keys(TYPE_SECTION_DEPOT_MODEL).map(key => (\n \n ))}\n {Object.keys(ORDERING_MENU_TYPE_SECTION_MODEL).map(key => (\n \n ))}\n this.getRedirect(\"/shifts\")}\n />\n {Object.keys(SHIFTS_MODEL).map(key => (\n \n ))}\n this.getRedirect(\"/marketplace-settings\")}\n />\n \n {Object.keys(MARKETPLACE_SETTINGS_MODEL).map(key => (\n \n ))}\n {Object.keys(TYPE_SECTION_MENUTEMPLATE_MODEL).map(key => (\n \n ))}\n {Object.keys(ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL).map(key => (\n \n ))}\n \n\n\n {Object.keys(CUSTOMER_SERVICE_MODEL).map(key => (\n \n ))}\n\n this.getRedirect(\"/orderingmenu\")}\n />\n \n this.getRedirect(\"/reconciliations\")}\n />\n {Object.keys(RECONCILIATIONS_MODEL).map(key => (\n \n ))}\n \n \n } />\n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n isAuthenticated: state.authentication.isAuthenticated,\n sectionModels: state.sectionModel.sectionModels,\n prevModelType: state.sectionModel.prevModelType\n});\n\nexport default connect(mapStateToProps)(Pages);\n","import React, { Component } from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\nimport Loadable from \"react-loadable\";\nimport { connect } from \"react-redux\";\nimport {CUSTOMER_SERVICE_MODEL, TYPE_SECTION_MODEL} from \"../../utils/enums\";\n\nconst PrivateRoute = ({ component: Component, ...args }) => {\n return (\n \n args.isAuthenticated === true ? (\n \n ) : (\n \n )\n }\n />\n );\n};\n\nclass Pages extends Component {\n loginpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/loginpage\"),\n loading: () => null,\n modules: [\"loginpage\"]\n });\n\n orderspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/orderspage\"),\n loading: () => null,\n modules: [\"orderspage\"]\n });\n\n editorderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/editorderpage\"),\n loading: () => null,\n modules: [\"editorderpage\"]\n });\n\n neworderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/neworderpage\"),\n loading: () => null,\n modules: [\"neworderpage\"]\n });\n \n pendingorderspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/pendingorderspage\"),\n loading: () => null,\n modules: [\"pendingorderspage\"]\n });\n restaurateurmenupage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/restaurateurmenupage\"),\n loading: () => null,\n modules: [\"restaurateurmenupage\"]\n });\n orderingmenupage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/orderingmenupage\"),\n loading: () => null,\n modules: [\"orderingmenupage\"]\n });\n createorder = () =>\n Loadable({\n loader: () => import(\"../../app/pages/createorderpage\"),\n loading: () => null,\n modules: [\"restaurateurmenupage\"]\n });\n infopage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/infopage\"),\n loading: () => null,\n modules: [\"infopage\"]\n });\n squareauthpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/squareauthpage\"),\n loading: () => null,\n modules: [\"squareauthpage\"]\n });\n settingspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/settingspage\"),\n loading: () => null,\n modules: [\"settingspage\"]\n });\n editcustomerorderpage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/editcustomerorderpage\"),\n loading: () => null,\n modules: [\"editcustomerorder\"]\n });\n adminorderspage = () =>\n Loadable({\n loader: () => import(\"../../app/pages/adminorderspage\"),\n loading: () => null,\n modules: [\"adminorderspage\"]\n });\n\n render() {\n const { isAuthenticated, ...otherProps } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n {Object.keys(TYPE_SECTION_MODEL).map(key => (\n \n ))}\n \n {Object.keys(CUSTOMER_SERVICE_MODEL).map(key => (\n \n ))}\n \n \n } />\n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n isAuthenticated: state.authentication.isAuthenticated\n});\n\nexport default connect(mapStateToProps)(Pages);\n","import queryString from \"query-string\";\nimport moduleMain from \"../modules/main\";\nimport moduleRestaurateur from \"../modules/restaurateur\";\nimport { currentUserIsDepotRole } from \"../services/userModel\";\nimport { getUserConnectionData } from \"./auth-util\";\n\nexport function excludedRoutes() {\n return [\"/login\"];\n}\n\nexport function IsInitAllowed(path) {\n const user = getUserConnectionData();\n return (path === \"/login\" && user) ||\n !excludedRoutes().includes(path);\n}\n\nexport function getPages() {\n return currentUserIsDepotRole() ? moduleRestaurateur : moduleMain;\n}\n\nexport function getHistoryLocationParams(historyLocationSearch) {\n return historyLocationSearch ? (queryString.parse(historyLocationSearch) || {}) : {};\n}\n","import {callServer} from '../utils/request-util';\nimport environment from 'environment';\nimport {currentUserIsDepotRole, isShowControlCenterSearch} from '../services/userModel';\nimport Pusher from '../services/pusher';\n\nexport function fetchRestaurant() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getDeliveryActiveState() {\n return new Promise((resolve, reject) => {\n const controlCenterMulti = Pusher.instance.getControlCenterMultiChannel();\n const isPostRequest = isShowControlCenterSearch();\n\n callServer({\n url: environment.backendAPI + \"delivery/activeState\",\n method: isPostRequest ? \"POST\" : \"GET\",\n data: isPostRequest ? {\n ControlCenterIds: controlCenterMulti\n } : null,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot, environment.USER_ROLES.controlCenterManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchDepotAvatarBase64(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/avatar/\" + depotId,\n method: \"GET\",\n responseType: \"blob\"\n }).then(\n response => {\n resolve(response);\n },\n error => {\n resolve(null);\n }\n );\n });\n}\n\nexport function getControlCenter() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getControlCenterActive(orderIds) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter/available\",\n method: \"POST\",\n data: (orderIds && { OrderIds: orderIds })\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getControlCenterStatus() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter/status/\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setMode(mode) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/state\",\n method: \"POST\",\n data: {\n State: mode\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function checkDepotMenu(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/menu`,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function depotCopyTemplateMenu(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/copyTemplateMenu`,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function depotMenuCopy(fromDepotId, toDepotId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${fromDepotId}/copyMenu/${toDepotId}`,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateDepotMenu(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/updateMenu`,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateDepotCategoryStates(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/categories`,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchCancelReason() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceOrderRejects`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchAddCancelReason(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceOrderRejects`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchEditCancelReason(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceOrderRejects/${id}`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchDeleteCancelReason(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceOrderRejects/${id}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchBusinessCategory() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessCategory`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function reverseGeoLocation(lat, lng) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"geolocation/reverse\",\n method: \"POST\",\n data: {\n Latitude: lat,\n Longitude: lng\n },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addDepot(depot) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot\",\n method: \"POST\",\n data: depot,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getDepotOperationMode(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"operation/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateDepotOperationMode(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"operation/\" + id,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editDepot(depot) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/\" + depot.Id,\n method: \"PUT\",\n data: depot,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function removeDepot(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/\" + depotId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addDepotUser(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/user\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function removeDepotUser(depotId, userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/user/\" + userId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setDepotAvatarBase64(depotId, avatar) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/avatar/\" + depotId,\n method: \"POST\",\n data: avatar,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getDepotUsers({ depotId, num, count, query }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/user/page\",\n method: \"POST\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ],\n data: {\n Count: count,\n Page: num,\n Query: query,\n },\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editDepotUser(depotId, userId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/user/\" + userId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function changeDepotPassword(depotId, userId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url:\n environment.authAPI +\n \"profile/depot/\" +\n depotId +\n \"/resetPassword/\" +\n userId,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getDepotDeliveryPrice(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/deliveryprice/\" + depotId,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setDepotDeliveryPrice(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/deliveryprice/\" + depotId,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setNotificationSettings(\n lostAlertTime,\n orderIsLateAlertTime,\n orderIsLateWarningTime,\n stopAlertTime,\n courierReadyTimeDelay,\n orderIsUnassignedTime\n) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/notificationsettings\",\n method: \"POST\",\n data: {\n LostAlertTime: lostAlertTime,\n OrderIsLateAlertTime: orderIsLateAlertTime,\n OrderIsLateWarningTime: orderIsLateWarningTime,\n StopAlertTime: stopAlertTime,\n CourierReadyTimeDelay: courierReadyTimeDelay,\n OrderIsUnassignedTime: orderIsUnassignedTime\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getCourierInterfaceSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierInterfaceSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getCourierConfirmationSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierConfirmationSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function updateCourierConfirmationSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierConfirmationSettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateCourierInterfaceSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierInterfaceSettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getCourierDisplaySettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierDisplaySettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateCourierDisplaySettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierDisplaySettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getCourierControlSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierControlSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateCourierControlSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierControlSettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessAppSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/businessAppSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessAppSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/businessAppSettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getShipmentPriceSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierShipmentPriceSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getShipmentPriceSettingsTemplate() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/deliveryPriceProfiles\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteShipmentPriceSettingsTemplate(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/deliveryPriceProfiles/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setShipmentPriceSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/courierShipmentPriceSettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setShipmentPriceSettingsTemplate(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/deliveryPriceProfiles\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function editShipmentPriceSettingsTemplate(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/deliveryPriceProfiles/\" + id,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getAppShipmentPriceSettings() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/appShipmentPriceSettings\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setAppShipmentPriceSettings(\n basisPrice,\n basisDistanceInMeters,\n pricePerKm,\n maxDeliveryPrice,\n mode\n) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/appShipmentPriceSettings\",\n method: \"POST\",\n data: {\n BasisPrice: basisPrice,\n BasisDistanceInMeters: basisDistanceInMeters,\n PricePerKm: pricePerKm,\n MaxDeliveryPrice: maxDeliveryPrice,\n Mode: mode\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setNumericalSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/numericalsettings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setRestaurantInfo(location, regions, phoneNumber) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/info\",\n method: \"POST\",\n data: {\n Location: location,\n Regions: regions,\n PhoneNumber: phoneNumber\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateRegionInfo(region) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/region\",\n method: \"PUT\",\n data: region,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setNewRegionInfo(region) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/region\",\n method: \"POST\",\n data: region,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function removeRegion(regionId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/region/\" + regionId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function fetchSettingProviders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/providers\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function fetchSettingExternalProvidersById(providerEntityId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/externalProvider/\" + providerEntityId,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchSettingProviderDetails(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addSettingProviders(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/\" + id,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addSettingExternalProviders(id, data) {\n\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/externalProvider\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\n\n\nexport function deleteSettingProviders(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteSettingExternalProviders(providerEntityId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/externalProvider/\" + providerEntityId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchSettingCloudPrinters() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/printer\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchSettingCloudPrintersDetails(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/printer/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addSettingCloudPrinters(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/printer\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editSettingCloudPrinters(data, id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/printer/\" + id,\n method: \"PUT\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteSettingCloudPrinters(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/printer/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function telegramSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/telegramSettings\",\n method: \"POST\",\n data: {\n RequireWaitingTime: data.requireWaitingTime,\n ShowMap: data.showMap,\n NotifyDeliveredOrder: data.notifyDeliveredOrder,\n NotifyCourierDispatched: data.notifyCourierDispatched,\n AllowOrderDeletion: data.allowOrderDeletion,\n\t \tEnablePhoneQuery: data.enablePhoneQuery,\n WaitingTimes: data.waitingTimes,\n AllowOrderSetVIP: data.allowOrderSetVIP,\n AllowOrderDelay: data.allowOrderDelay,\n RequirePhoneNumberOnOrderCreation: data.requirePhoneNumberOnOrderCreation,\n HideReadyButton: data.hideReadyButton\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchMarketplaceMessage() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.message));\n });\n}\n\nexport function fetchPages() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage\",\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.message));\n });\n}\n\nexport function pushMessage(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceMessage/${id}/send`,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.message));\n });\n}\n\nexport function createMarketplaceMessage(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage\",\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager],\n data\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\nexport function createMarketplacePage(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\nexport function updateMarketplaceMessage(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage/\" + data.id,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\nexport function updateMarketplacePage(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage/\" + data.id,\n method: \"PUT\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supportOperator],\n data\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\n\nexport function deleteMarketplaceMessage(marketplaceId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage/\" + marketplaceId,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\nexport function deleteMarketplacePage(marketplacePageId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage/\" + marketplacePageId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.message));\n })\n}\n\nexport function setMarketplaceBannerBase64(id, banner, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage/\" + id + \"/banner\",\n method: \"POST\",\n headers: {\n \"Content-Type\": \"image/png\"\n },\n isVideoType: isVideo,\n data: banner,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setMarketplacePageBannerBase64(id, banner, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage/\" + id + \"/banner\",\n method: \"POST\",\n headers: {\n \"Content-Type\": \"image/png\"\n },\n isVideoType: isVideo,\n data: banner,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function marketplaceMessageReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceMessage/reorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.message));\n });\n}\n\nexport function marketplacePagesReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplacePage/reorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.message));\n });\n}\n\nexport function depotWallet(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/\" + depotId + \"/wallet\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function restaurantWallet(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/wallet\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function restaurantPaymentState(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/paymentState\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotPaymentState(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/depot/\" + depotId + \"/paymentState\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryAdd(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessCategory\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryEdit(data, id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessCategory/\" + id,\n method: \"PUT\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryRemove(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessCategory/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setBusinessCategoryAvatarBase64(id, avatar) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessCategory/logo/\" + id,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"image/png\"\n },\n data: avatar,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessCategory/reorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addServiceCity(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceCity\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editServiceCity(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceCity/\" + id,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getServiceCity() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceCity\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getFleet() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"vehicle\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function getFleetById(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `vehicle/${id}`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function getFleetTelemetryBlink(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `vehicle/${id}/sendCommand`,\n method: \"POST\",\n data: {\n Command: 0,\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\nexport function getFleetTelemetry(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `vehicle/telemetry/${id}`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteFleet(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `vehicle/${id}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addFleet(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"vehicle\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editFleet(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `vehicle/${data.id}`,\n method: \"PUT\",\n data: data.data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\n\n\nexport function toggleServiceCity(city, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceCity/\" + city,\n method: \"PUT\",\n data: body,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteServiceCity(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceCity/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getNamedPlaces() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"namedPlaces\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function addNamedPlace(namedPlace) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"namedPlaces\",\n method: \"POST\",\n data: namedPlace,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editNamedPlace(namedPlace, id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"namedPlaces/\" + id,\n method: \"PUT\",\n data: namedPlace,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteNamedPlace(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"namedPlaces/\" + id,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function startControlCenterShift(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter/startShift\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function endControlCenterShift(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter/endShift\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function controlCenterEdit(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `controlCenter/${id}`,\n method: \"PUT\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n })\n}\n\nexport function changeControlCenterShift(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenter/changeShift\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getReportOrderStatistics(skipHours) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/orderstat/\" + skipHours,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getReportOrderStatisticsByDate(startDate, endDate, controlCenterIds, userId, territoryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/orderstat\",\n method: \"POST\",\n data: {\n StartDate: startDate,\n EndDate: endDate,\n ControlCenterIds: controlCenterIds,\n UserId: userId,\n TerritoryId: territoryId\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getNotification() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"notification\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchOperations() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"operation\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateOperations(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"operation\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessMenu(businessId, isById) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + ((!isById && currentUserIsDepotRole()) ? \"businessMenu\" : \"businessMenu/\" + businessId),\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createBusinessDeepLink(businessId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/link\",\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createBusinessProductDeepLink(businessId, categoryId, productId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `/businessMenu/${businessId}/category/${categoryId}/product/${productId}/link`,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createMarketplaceDeepLink() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplace/link\",\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getDepotBusinessTranslation({ businessId, language }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/overrides/${language}/translate`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getDepotBusinessSKU(businessId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/skuExport`,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setDepotBusinessTranslation({ data, businessId, language }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/overrides/${language}/translate`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setDepotBusinessSKU({ data, businessId }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/skuImport`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function exportDepotBusinessSku(businessId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/skuExport/table`,\n method: \"GET\",\n responseType: \"blob\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function importDepotBusinessSKU({ businessId, file }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/skuImport/table`,\n method: \"POST\",\n data: file,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function exportDepotBusinessTranslation({ businessId, language }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/translate/export`,\n method: \"POST\",\n responseType: \"blob\",\n data: {\n languages: [language]\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function importDepotBusinessTranslation({ businessId, file }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/translate/import`,\n method: \"POST\",\n data: file,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function getLinkStats(link, period) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplace/linkStats\",\n method: \"POST\",\n data: {\n DeepLink: link,\n DaysDuration: period,\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function overrideParentBusinessMenu(businessId, objectId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/overrides/${objectId}`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteOverrideParentBusinessMenu(businessId, objectId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/override/${objectId}`,\n method: \"DELETE\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessOffer() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessOffer\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessOffer(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessOffer\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addBusinessOffer(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessOffer\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteBusinessOffer(offerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessOffer/\" + offerId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateDeliveryZone(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/deliveryZone\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateEnableDeliveryZone(businessId, zoneId, enabled) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/deliveryZone/\" + zoneId + \"/activate\",\n method: \"PUT\",\n data: {\n Enabled: enabled,\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setDeliveryZone(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/deliveryZone\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteDeliveryZone(businessId, zoneId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/deliveryZone/\" + zoneId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateOrderingMenuDeliveryZone(businessId, globalDeliveryZoneId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/deliveryZone/attach/${globalDeliveryZoneId}`,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateSchedule(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/schedule\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessMenuDiscount(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/offer\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addBusinessMenuDiscount(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/offer\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteBusinessMenuDiscount(businessId, offerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/offer/\" + offerId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessMenuInfo(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/settings\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessMenuHeaderAvatar(businessId, data, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/header\",\n method: \"POST\",\n data,\n isVideoType: isVideo,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessMenuHeaderMini(businessId, data, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/headerMini\",\n method: \"POST\",\n data,\n isVideoType: isVideo,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function businessMenuCategoryDelete(businessId, categoryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryAdd(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryEdit(businessId, categoryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryActivate(businessId, categoryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/activate\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function marketplaceMenuClearOverride(businessId, objectId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businessId}/childOverride/${objectId}`,\n method: \"DELETE\",\n data: {name: \"enabled\"},\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryReorder(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/categoryReorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductAdd(businessId, categoryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductEdit(businessId, categoryId, productId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductActivate(businessId, categoryId, productId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/activate\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductDelete(businessId, categoryId, productId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductsReorder(businessId, categoryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/productReorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBusinessMenuCategoryProductAvatar(businessId, categoryId, productId, data, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/header\",\n method: \"POST\",\n isVideType: isVideo,\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductIngredientAdd(businessId, categoryId, productId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/ingredient\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductIngredientUpdate(businessId, categoryId, productId, ingredientId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/ingredient/\" + ingredientId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductIngredientDelete(businessId, categoryId, productId, ingredientId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/ingredient/\" + ingredientId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryProductIngredientReorder(businessId, categoryId, productId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/product/\" + productId + \"/ingredientReorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasAdd(businessId, categoryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasUpdate(businessId, categoryId, extraId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasActive(businessId, categoryId, extraId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/activate\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtraDelete(businessId, categoryId, extraId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasOptionUpdate(businessId, categoryId, extraId, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasOptionActivate(businessId, categoryId, extraId, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/activate\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasOptionDelete(businessId, categoryId, extraId, optionId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasOptionAdd(businessId, categoryId, extraId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasOptionReorder(businessId, categoryId, extraId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/optionReorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionAdd(businessId, categoryId, extraId, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboption\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionUpdate(businessId, categoryId, extraId, optionId, suboptionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboption/\" + suboptionId,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionUpdateImage(businessId, categoryId, extraId, optionId, suboptionId, data, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboption/\" + suboptionId + \"/image\",\n method: \"POST\",\n isVideo,\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionActivate(businessId, categoryId, extraId, optionId, suboptionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboption/\" + suboptionId + \"/activate\",\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionReorder(businessId, categoryId, extraId, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboptionReorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessMenuCategoryExtrasSuboptionDelete(businessId, categoryId, extraId, optionId, suboptionId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/category/\" + categoryId + \"/extra/\" + extraId + \"/option/\" + optionId + \"/suboption/\" + suboptionId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setActivateModel(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenu/\" + businessId + \"/activate\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getAutoEnableTimes() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/autoEnableTimes\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotDefaultRegionControlCenterGet(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/controlCenter\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotDefaultRegionControlCenterUpdate(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/controlCenter\",\n method: \"PUT\",\n data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotDefaultRegionControlCenterDelete(depotId, id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/controlCenter/\" + id,\n method: \"DELETE\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotDefaultRegionControlCenterAdd(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"depot/\" + depotId + \"/controlCenter\",\n method: \"POST\",\n data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addSearchShortcut(shortcut) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"searchShortcut/\" + shortcut,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteSearchShortcut(shortcut) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"searchShortcut/\" + shortcut,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function giftCardGet() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"giftCard\",\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor, environment.USER_ROLES.controlCenterManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function giftCardEnable(value) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"giftCard/\" + (value ? \"enable\" : \"disable\"),\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getReferralSettings(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"referral\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getLoyaltySettings(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/loyaltySettings\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function editLoyaltySettingsRegisterVoucher(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/loyaltySettings/voucher\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function editLoyaltySettingsCashback(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/loyaltySettings/cashBack\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getDriverTip(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"driverTip\",\n method: \"GET\",\n skipRetry: true,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateReferralSettings(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"referral\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateReferralLogoSettings(data, isVideo){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"referral/logo\",\n method: \"POST\",\n isVideoType: isVideo,\n headers: {\n \"Content-Type\": \"image/png\"\n },\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateDriverTip(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"driverTip\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getListPromotion(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessList\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getRestaurantDeliveryZones() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceDeliveryZone\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function listPromotionAdd(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessList\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addRestaurantDeliveryZones(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceDeliveryZone\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function listPromotionUpdate(id, data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessList/\" + id,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function listPromotionReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessList/reorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateRestaurantDeliveryZones(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceDeliveryZone\",\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateRestaurantDeliveryZonesGlobalPrice(businesseId, zoneId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${businesseId}/deliveryZone/${zoneId}/updatePrice`,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function listPromotionDelete(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessList/\" + id,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteRestaurantDeliveryZone(zoneId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"marketplaceDeliveryZone/\" + zoneId,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function getServiceFee(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceFee\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function getMarketplaceCampaign(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign`,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getMarketplaceCampaignAudienceFilterCount(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/count`,\n method: \"POST\",\n data: data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addMarketplaceCampaign(newCampaign){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign`,\n method: \"POST\",\n data: {\n ...newCampaign,\n ...newCampaign.bonusVoucher\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function editMarketplaceCampaign({ campaignId, campaign }){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}`,\n method: \"PUT\",\n data: {\n ...campaign,\n ...campaign.bonusVoucher\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function toggleActivateMarketplaceCampaign({ campaignId, data }){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/activate`,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function executeCompaings(campaignId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/execute`,\n method: \"POST\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getMarketplaceCampaignExecutions(campaignId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/executions`,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createMarketplaceCampaignExecutions({ campaignId, data }){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/test`,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function deleteMarketplaceCampaign(campaignId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/`,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateMarketplaceCampaignExecutionById({ campaignId, executionId }){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceCampaign/${campaignId}/execution/${executionId}/update`,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function restaurantDeliveryZoneActivate(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `marketplaceDeliveryZone/${id}/activate`,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setServiceFee(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"serviceFee\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getDepotIntegrations(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/integrations`,\n method: \"GET\",\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateDepotIntegration(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/integrations`,\n method: \"PUT\",\n data,\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addDepotIntegration(depotId, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/integrations`,\n method: \"POST\",\n data: body\n }).then(response => resolve(response), error => reject(error.response));\n })\n}\n\nexport function editDepotIntegration(depotId, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/${depotId}/integrations`,\n method: \"PUT\",\n data: body\n }).then(response => resolve(response), error => reject(error.response));\n })\n}\n\nexport function getDepotSquareLocations(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + (currentUserIsDepotRole() ? \"squareUp/locations\" : `squareUp/locations/${depotId}`),\n method: \"GET\",\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getMenuTemplate() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessTemplate`,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getGlobalMenuTemplate() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessTemplate/global`,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getDepotSquareAssociatedLocation(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + (currentUserIsDepotRole() ? \"squareUp/associatedLocation\" : `squareUp/associatedLocation/${depotId}`),\n method: \"GET\",\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setDepotSquareAssociatedLocation(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"squareUp/associatedLocation/\" + depotId,\n method: \"POST\",\n data,\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setDepotSquareAssociatedRevoke(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + (currentUserIsDepotRole() ? \"squareUp/revoke\" : `squareUp/revoke/${depotId}`),\n method: \"POST\",\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addMenuTemplate(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessTemplate`,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function removeDepotSquareLocation(depotId, locationId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"squareUp/associatedLocation/\" + depotId,\n method: \"DELETE\",\n data: { LocationId: locationId }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function generateDepotAuthorizationUrl(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + (currentUserIsDepotRole()\n ? \"squareUp/generateAuthorizationUrl\"\n : (\"squareUp/generateAuthorizationUrl/\" + depotId)),\n method: \"GET\",\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setSquareUpAuthorized(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"squareUp/authorized\",\n method: \"POST\",\n data,\n skipRetry: true\n }, true).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function checkSquareUpAuthorizedRequired(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `squareUp/authorizationRequired${depotId ? `/${depotId}` : \"\"}`,\n method: \"GET\",\n roles: [environment.USER_ROLES.all]\n }, true).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraAdd(data,id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${id}/extra`,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryExtraEdit(data, businessId, id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}`,\n method: \"PUT\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryExtraRemove( id, businessId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryExtraUpdate(businessId, id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/activate`,\n method: \"PUT\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function businessCategoryExtraOptionAdd(businessId, id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteMenuTemplate(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessTemplate/${id}`,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateMenuTemplate(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessTemplate/${id}`,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraOptionUpdate(businessId, id, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraOptionActivate(businessId, id, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/activate`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createOverrideMenu(id, objectId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${id}/override/${objectId}`,\n method: \"POST\",\n data,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraOptionDelete(businessId, id, optionId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraOptionReorder(businessId, id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/optionReorder`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateOverrideMenu(id, objectId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${id}/override/${objectId}`,\n method: \"PUT\",\n data,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraSubOptionAdd(businessId, id, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboption`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraSubOptionEdit(businessId, id, optionId, subId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboption/${subId}`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessExtraSubOptionUpdateImage(businessId, id, optionId, subId, data, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboption/${subId}/image`,\n method: \"POST\",\n isVideo,\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteOverrideMenu(id, objectId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `businessMenu/${id}/override/${objectId}`,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraSubOptionDelete(businessId, id, optionId,subId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboption/${subId}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraSubOptionActivate(businessId, id, optionId,subId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboption/${subId}/activate`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessCategoryExtraSubOptionReorder(businessId, id, optionId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/extra/${id}/option/${optionId}/suboptionReorder`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessGalleryEdit(businessId, galleryId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/gallery/${galleryId}`,\n method: \"PUT\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessGalleryAdd(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/gallery`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessGalleryDelete(businessId, galleryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/gallery/${galleryId}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function businessGalleryReorder(businessId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/galleryReorder`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setBusinessGalleryImageBase64(businessId, galleryId, image, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}businessMenu/${businessId}/gallery/${galleryId}/image`,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"image/png\"\n },\n isVideoType: isVideo,\n data: image,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateMarketplaceSettings(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}restaurant/marketplace`,\n method: \"POST\",\n data,\n headers: {\n \"Content-Type\": \"image/png\"\n },\n roles: [environment.USER_ROLES.all]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n })\n}\n\nexport function setMarketplaceSettingsHeader(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}restaurant/marketplace/header`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.all]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n })\n}\n\nexport function getBusinessWithQuery(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}callCenter/business`,\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.all]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n })\n}\n\nexport function messageGalleryAdd(id, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}marketplaceMessage/${id}/gallery`,\n method: \"POST\",\n data: body,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function messageGalleryEdit(id, galleryId, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}marketplaceMessage/${id}/gallery/${galleryId}`,\n method: \"PUT\",\n data: body,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function messageGalleryImageBase64(id, galleryId, file, isVideo) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}marketplaceMessage/${id}/gallery/${galleryId}/image`,\n method: \"POST\",\n data: file,\n isVideoType: isVideo,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function messageGalleryReorder(id, body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}marketplaceMessage/${id}/galleryReorder`,\n method: \"POST\",\n data: body,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function messageGalleryDelete(messageId, galleryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}marketplaceMessage/${messageId}/gallery/${galleryId}`,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n","import * as Sentry from '@sentry/react';\nimport environment from 'environment';\nimport Store from '../../src/store/store';\nimport i18n from '../i18n';\n\nimport { fetchMarkerAvatarBase64 } from '../utils/image-util';\nimport {\n COURIER_STATE,\n CYCLE_STATE,\n FORMAT_RELATIVE_TIME_ONLY_TYPE,\n ORDER_STATE,\n ORDER_TYPE,\n PICKUP_STATE,\n SEVERITY_NOTIFICATION,\n SHIFT_TYPE,\n TYPE_STORAGE,\n USER_ROLES,\n VEHICLE_TYPE,\n} from '../utils/enums';\nimport { getFormatRelativeTime, getStaticTime } from '../utils/convertTime';\nimport { getUserConnectionData } from '../utils/auth-util';\nimport {NEW_ASSOCIATE_GROUP_ID} from '../utils/constants';\n\nimport ColorService from './color';\nimport User from './user';\nimport { getStoreData, saveStoreData } from './dataStorage';\nimport { isDefaultGroup } from './order';\nimport {getInitialControlCenters} from './restaurant';\nimport { sortItemsByProp } from './filter';\n\nexport function getAvatar(id, keys, url) {\n return new Promise((resolve, reject) => {\n if (keys.length > 0 && keys.includes(id)) {\n getStoreData(TYPE_STORAGE.db, id).then(response => resolve(response));\n } else {\n if(url) {\n fetchMarkerAvatarBase64(url).then(image=> {\n if(image) {\n saveStoreData(TYPE_STORAGE.db, id, false, image).then(\n () => resolve({ data: image }),\n ()=> Sentry.captureException(\"Error saveStoreData DB. Courier id: \" + id)\n );\n } else {\n Sentry.captureException(\"Error fetchMarkerAvatarBase64 DB. Courier id: \" + id);\n }\n }, ()=> {\n saveStoreData(TYPE_STORAGE.db, id, false, \"\").then(\n () => resolve({ data: \"\" }),\n ()=> Sentry.captureException(\"Error saveStoreData. Courier id: \" + id)\n );\n })\n } else {\n saveStoreData(TYPE_STORAGE.db, id, false, \"\").then(\n () => resolve({ data: \"\" }),\n ()=> Sentry.captureException(\"Error saveStoreData. Courier id: \" + id)\n );\n }\n }\n });\n}\n\nexport function isRTL() {\n const language = User.instance.getCurrentUserConfigurationProp(\"language\", true);\n return language === \"he\";\n}\n\nexport function isStartFromMonday() {\n return false;\n}\n\nexport function getShortName(courier) {\n return (((courier || {}).firstName || \"\")[0] || \"\") + \n (((courier || {}).lastName || \"\")[0] || \"\");\n}\n\nexport function getExternalCycleShortName(externalCycle) {\n return ((externalCycle &&\n externalCycle.driverInfo &&\n externalCycle.driverInfo?.name) || \"\")[0] || \"\";\n}\n\nexport function getExternalCycleName(externalCycle) {\n return ((externalCycle &&\n externalCycle.driverInfo &&\n externalCycle.driverInfo.name) || \"\");\n}\n\nexport function getUserName(user) {\n return (\n user.userName ||\n (user.firstName ? user.firstName + \" \" : \"\") +\n (user.lastName ? user.lastName : \"\")\n );\n}\n\nexport function isValidPasswordData(data) {\n return (\n !!(data.newPassword && data.retypePassword && data.userName) &&\n data.newPassword === data.retypePassword\n );\n}\n\nexport function getCourierColor(courier) {\n return User.instance.getCurrentUserConfigurationProp(\"courierColorScheme\")\n ? ColorService.instance.getColorForStateLocation(courier)\n : courier.color;\n}\n\nexport function getNotificationColorCode(order) {\n const colors = User.instance.getCurrentUserConfigurationProp(\"ordersColors\");\n if (colors && order.notificationType) {\n if(order.notificationType.includes(SEVERITY_NOTIFICATION.orderNotDeliveredInTime)) {\n return ColorService.instance.getCodeByColorKey(\"z\");\n }\n if(order.notificationType.includes(SEVERITY_NOTIFICATION.orderCanLate)) {\n return ColorService.instance.getCodeByColorKey(\"gg\");\n }\n }\n return '';\n}\n\nexport function updateUserColor(user) {\n if (user.shiftType) {\n // end shift\n if (user.color) {\n ColorService.instance.freeColor(user.color);\n user.color = null;\n }\n } else {\n // start shift\n if (!user.color) user.color = ColorService.instance.getColor();\n }\n return user;\n}\n\nexport function initUserModel(user) {\n if(!user) return null;\n const roles = getRolesFromUser(user);\n return {\n ...user,\n phoneNumber: (user.verifiedPhone || {}).nationalFormatedNumber || user.phoneNumber,\n courierState: user.courierState || COURIER_STATE.default,\n roles,\n authorized: { courier: roles.courier || user.hasDevices, deliveryManager: user.hasPassowrd }\n };\n}\n\nexport function getRolesFromUser(user) {\n if (!user || !Array.isArray(user.roles)) return (user && user.roles) || {};\n\n const roleNames = user.roles.map(role => role?.name);\n return {\n courier: roleNames.length && roleNames.includes(environment.USER_ROLES.courier),\n deliveryManager: roleNames.length && roleNames.includes(environment.USER_ROLES.deliveryManager),\n controlCenterManager: roleNames.length && roleNames.includes(environment.USER_ROLES.controlCenterManager),\n supervisor: roleNames.length && roleNames.includes(environment.USER_ROLES.supervisor),\n supportOperator: roleNames.length && roleNames.includes(environment.USER_ROLES.supportOperator),\n depot: roleNames.length && roleNames.includes(environment.USER_ROLES.depot),\n active:\n roleNames.length &&\n roleNames.includes(environment.USER_ROLES.courier) &&\n (user.cycle &&\n user.cycle.courierId &&\n user.cycle.courierId === user.userId)\n };\n}\n\nexport function currentUserIsDepotRole() {\n const user = getUserConnectionData() || {};\n return Array.isArray(user.role)\n ? user.role.includes(environment.USER_ROLES.depot)\n : user.role === environment.USER_ROLES.depot;\n}\n\nexport function currentUserIsOnlyDepotRole() {\n const user = getUserConnectionData() || {};\n return Array.isArray(user.role)\n ? user.role.length === 1 && user.role.includes(environment.USER_ROLES.depot)\n : user.role === environment.USER_ROLES.depot;\n}\n\nexport function currentUserIsSupportOperatorRole() {\n const user = getUserConnectionData();\n return Array.isArray(user.role)\n ? user.role.includes(environment.USER_ROLES.supportOperator)\n : user.role === environment.USER_ROLES.supportOperator;\n}\n\nexport function currentUserIsOnlySupportOperatorRole() {\n const user = getUserConnectionData() || {};\n return Array.isArray(user.role)\n ? (user.role.length === 1 && user.role.includes(environment.USER_ROLES.supportOperator))\n : user.role === environment.USER_ROLES.supportOperator;\n}\n\nexport function currentUserIsSupervisorRole() {\n const user = getUserConnectionData();\n return user && user.role && user.role.includes(environment.USER_ROLES.supervisor);\n}\n\nexport function currentUserIsControlCenterManagerRole() {\n const user = getUserConnectionData();\n return user && user.role && user.role.includes(environment.USER_ROLES.controlCenterManager);\n}\n\nexport function currentUserIsDeliveryManager() {\n const user = getUserConnectionData();\n return user && user.role && user.role.includes(environment.USER_ROLES.deliveryManager);\n}\n\nexport function currentUserIsWithoutControlCenter() {\n const currentUser = User.instance.getCurrentUserInfo() || {};\n const controlCenters = getInitialControlCenters();\n\n return !currentUserIsSupervisorRole() &&\n !currentUserIsControlCenterManagerRole() &&\n !currentUserIsOnlySupportOperatorRole() &&\n currentUserIsDeliveryManager() &&\n controlCenters.length &&\n !currentUser.controlCenterId;\n}\n\nexport function isShowControlCenterSearch() {\n const currentUser = User.instance.getCurrentUserInfo() || {};\n return currentUserIsControlCenterManagerRole() && !currentUser.controlCenterId;\n}\n\nexport function getFullName(user) {\n return user ? `${user.firstName || ``} ${user.lastName || ``}`.trim() : \"\";\n}\n\nexport function getProviderName(provider) {\n return (provider || {})?.name || (provider || {}).providerName;\n}\n\nexport function getSwitchedFullName(user) {\n return `${user.lastName || ``} ${user.firstName || ``}`.trim();\n}\n\nexport function getCourierNameById(userId) {\n if(!userId || isDefaultGroup(userId)) return null;\n\n const state = Store.store.getState();\n const courier = state.userModel.data.find(f=> f.userId === userId);\n return getFullName(courier);\n}\n\nexport function isExistStatusDelivery(order) {\n return order.groupId && !isDefaultGroup(order.groupId);\n}\n\nexport function getTotalCourierEstimation(courier, isReturnTime) {\n let time = 0;\n const travelData = (courier && ((courier.travelData && courier.travelData.progress) || courier.routeEstimation)) || {};\n\n if (travelData.segments) {\n time = travelData.segments.reduce((a, segment) =>\n a + ((segment.timeToArrivalInSec || 0) + (segment.unloadTime || 0)), 0\n );\n }\n\n if(isReturnTime) return time * 1000;\n\n let resultTime = \"\";\n if (time > 0) {\n resultTime = getFormatRelativeTime(\n time * 1000,\n undefined,\n true,\n isRTL(),\n FORMAT_RELATIVE_TIME_ONLY_TYPE.m\n );\n }\n\n return resultTime;\n}\n\nexport function getCourierArrivalEstimation(courier) {\n if (\n !courier.travelData ||\n !courier.travelData.progress ||\n !courier.travelData.progress.segments ||\n courier.cycle.state < CYCLE_STATE.deliveryStart\n )\n return \"\";\n\n const time = calculatePreviousTime(\n courier.travelData.progress.segments,\n courier\n );\n let resultTime = \"\";\n if (time > 0) {\n var mSec = time * 1000;\n if (courier.cycle.state === CYCLE_STATE.comingBack) {\n resultTime = getFormatRelativeTime(mSec, undefined, true, isRTL());\n } else {\n resultTime = getStaticTime(mSec + new Date().getTime(), false, isRTL());\n }\n }\n\n return resultTime;\n}\n\nexport function calculateOrderPreviousTime(order, segments, orders) {\n let a = 0;\n const orderIndex = segments\n .map(segment => segment.correspondingId)\n .indexOf(order.id);\n if (orderIndex < 0) return a;\n\n for (let i = 0; i <= orderIndex; i++) {\n const segmentOrder = orders.find(\n item => item.id === segments[i].correspondingId\n );\n\n if (segmentOrder && ((segmentOrder.type === ORDER_TYPE.delivery && segmentOrder.state < ORDER_STATE.delivered) || (segmentOrder.type === ORDER_TYPE.pickUp && segmentOrder.state < PICKUP_STATE.arrived))) {\n a += (i > 0\n ? ((segments[i - 1].unloadTime || 0) + (segments[i].timeToArrivalInSec || 0))\n : (segments[i].timeToArrivalInSec || 0));\n }\n }\n\n return a;\n}\n\nexport function getProgressSegment(travelData, id) {\n return travelData &&\n travelData.progress &&\n travelData.progress.segments.find(segment => segment.correspondingId === id);\n}\n\nexport function separateName(name) {\n let arr = name?.trim().split(\" \");\n if (arr.length === 1)\n return {\n lastName: \"\",\n firstName: arr.pop()\n };\n\n return {\n lastName: arr.pop(),\n firstName: arr.join(\" \")\n };\n}\n\nexport function getPersonalSettings(user) {\n if (!user) return {};\n const visualSettings = (user.configuration || {}).visualSettings || {};\n const {\n isHideTakeawayGroup,\n isHidePreordersGroup,\n pendingOrdersPanelLocation,\n couriersPanelLocation,\n courierColorScheme,\n defaultDashboardMode,\n isHideDeliveryRegions,\n isShowTraffic,\n enableAlarmPopups,\n orderNotDeliveredInTimeNotificationEnabled,\n courierComingBackEnabled,\n courierWrongRouteEnabled,\n courierReadyToDispatchEnabled,\n assistanceExistsEnabled,\n courierStoppedEnabled,\n boxLostEnabled,\n courierLostEnabled,\n orderCanLateEnabled,\n sortOrdersBasedOnReadinessTime,\n visualizeReadinessTime,\n ordersColors,\n newOrderSoundNotification,\n showAllDepotsOnMap,\n consumerOrderCreatedNotificationEnabled,\n isShowExtraSizeGroup,\n isHideOrderId,\n showOrderIdOnMap,\n filterMapObjectsByControlCenter,\n alwaysShowOrderTargetTime\n } = visualSettings;\n return {\n id: user.userId,\n email: user.email,\n firstName: user.firstName,\n lastName: user.lastName,\n phoneNumber: user.phoneNumber,\n userId: user.userId,\n userName: user.userName,\n avatarUrl: user.avatarUrl,\n language: (user.configuration || {}).language,\n roles: user.roles,\n currentPassword: \"\",\n ...visualSettings,\n isHideTakeawayGroup: !isHideTakeawayGroup,\n isHidePreordersGroup: !isHidePreordersGroup,\n pendingOrdersPanelLocation: !pendingOrdersPanelLocation,\n couriersPanelLocation: !couriersPanelLocation,\n courierColorScheme: !courierColorScheme,\n defaultDashboardMode: !defaultDashboardMode,\n isHideDeliveryRegions: isHideDeliveryRegions,\n isShowTraffic: !!isShowTraffic,\n enableAlarmPopups: !!enableAlarmPopups,\n orderNotDeliveredInTimeNotificationEnabled: !!orderNotDeliveredInTimeNotificationEnabled,\n courierComingBackEnabled: !!courierComingBackEnabled,\n courierWrongRouteEnabled: !!courierWrongRouteEnabled,\n courierReadyToDispatchEnabled: !!courierReadyToDispatchEnabled,\n assistanceExistsEnabled: !!assistanceExistsEnabled,\n courierStoppedEnabled: !!courierStoppedEnabled,\n boxLostEnabled: !!boxLostEnabled,\n courierLostEnabled: !!courierLostEnabled,\n orderCanLateEnabled: !!orderCanLateEnabled,\n sortOrdersBasedOnReadinessTime: !!sortOrdersBasedOnReadinessTime,\n visualizeReadinessTime: !!visualizeReadinessTime,\n ordersColors: !!ordersColors,\n newOrderSoundNotification: !!newOrderSoundNotification,\n showAllDepotsOnMap: !!showAllDepotsOnMap,\n consumerOrderCreatedNotificationEnabled: !!consumerOrderCreatedNotificationEnabled,\n isShowExtraSizeGroup: !!isShowExtraSizeGroup,\n isHideOrderId,\n showOrderIdOnMap: !!showOrderIdOnMap,\n filterMapObjectsByControlCenter: !!filterMapObjectsByControlCenter,\n alwaysShowOrderTargetTime: !!alwaysShowOrderTargetTime\n };\n}\n\nexport function getUsers() {\n const state = Store.store.getState();\n return state.userModel.data || [];\n}\n\nexport function getConfirmUsers(users) {\n return sortItemsByProp(users\n .filter(user => user.roles && user.roles.courier)\n .map(user=> ({ ...user, fullName: getFullName(user) })), \"fullName\");\n}\n\nexport function getControlCenterUsers(state) {\n state = state || Store.store.getState();\n const users =\n (state.userModel.data || []).filter(\n user =>\n !user.isDeleted &&\n !user.controlCenterId &&\n user.roles.deliveryManager &&\n !user.roles.supervisor\n ) || [];\n return users.map(user => ({\n key: user.userId,\n value: getFullName(user)\n }));\n}\n\nexport function getUserById(id) {\n if(!id || !Store) return null;\n const state = Store.store.getState();\n return ((state &&\n state.userModel &&\n state.userModel.data) || []).find(user => user.userId === id);\n}\n\nexport function getControlCenterActive() {\n if(!Store) return null;\n const state = Store.store.getState();\n return state &&\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.activeControlCenter;\n}\n\nexport function getShiftsTimePerDay(shifts) {\n let result = 0;\n\n if (shifts) {\n result = shifts.reduce((a, b) => {\n return a + Number(getTimePerDay(b));\n }, 0);\n }\n\n return result.toFixed(2);\n}\n\nexport function getTimePerDay(shift) {\n if (shift.startDate) {\n const endDate = shift.endDate ? new Date(shift.endDate) : new Date();\n const startDate = new Date(shift.startDate);\n endDate.setSeconds(0);\n endDate.setMilliseconds(0);\n startDate.setMilliseconds(0);\n startDate.setSeconds(0);\n const difference = endDate - startDate;\n return (difference / 3600000).toFixed(2);\n }\n return \"\";\n}\n\nexport function getDifferenceTimeInMinute(time) {\n const delta = new Date(time) - new Date();\n return Math.floor(delta / (1000 * 60));\n}\n\nexport function calculatePreviousTime(segments, courier) {\n let previusTime = 0;\n let progress;\n let items;\n\n if (courier) {\n // Coming back\n if (\n courier.travelData &&\n courier.travelData.progress &&\n courier.cycle.state === CYCLE_STATE.comingBack\n ) {\n let timeToArrival = 0;\n courier.travelData.progress.segments.forEach(segment => {\n if (segment.timeToArrivalInSec) timeToArrival = segment.timeToArrivalInSec;\n });\n return timeToArrival;\n }\n\n if (\n courier.travelData &&\n courier.travelData.progress &&\n courier.travelData.progress.correspondingId\n ) {\n progress = courier.travelData.progress;\n }\n\n const state = Store.store.getState();\n items = state.order.data.orders\n .filter(order => order.groupId === courier.userId)\n .concat(\n state.order.data.pickUps.filter(\n order => order.groupId === courier.userId\n )\n );\n }\n\n segments.forEach(segment => {\n let segmentOrder;\n if (items) {\n segmentOrder = items.find(order => order.id === segment.correspondingId);\n }\n if (segmentOrder && segmentOrder.state > 3) return;\n\n if (progress && segment.correspondingId === progress.correspondingId) {\n if (segment.timeToArrivalInSec > 0) previusTime += segment.timeToArrivalInSec;\n } else if (segment.travelEstimation) {\n previusTime += segment.travelEstimation;\n }\n\n if (segment.unloadTime) {\n previusTime += segment.unloadTime;\n }\n });\n return previusTime;\n}\n\nexport function getETATimeForOrder(order) {\n if(!order || isDefaultGroup(order.groupId)) return \"\";\n const courier = getUserById(order.groupId);\n if(!courier) return \"\";\n const segment = getProgressSegment(courier.travelData, order.id);\n const time = segment ? segment.timeToArrivalInSec : 0;\n return time > 0 ? getStaticTime(time * 1000 + new Date().getTime(), false, isRTL()) : \"\";\n}\n\nexport function getActiveCouriers(users) {\n return (users || [])\n .filter(user=> user.roles && user.roles.courier && user.roles.active)\n ?.sort((a, b)=> a.queueNumber - b.queueNumber);\n}\n\nexport function futureRouteInfo() {\n return [\n {\n userId: NEW_ASSOCIATE_GROUP_ID,\n firstName: i18n.t(\"dialogs.couriers.FUTURE_ROUTE_LABEL\"),\n avatarUrl: null,\n color: null,\n vehicleType: VEHICLE_TYPE.delivery\n }\n ]\n}\n\nexport function getDefaultUserRolesValue() {\n let roles = {};\n Object.keys(USER_ROLES).forEach(key=> {\n roles[key] = false;\n });\n\n return roles;\n}\n\nexport function isCanStartShift(user) {\n if(!user || !user.roles) return false;\n return (user.roles.courier && !user.roles.active) ||\n (user.roles.courier && user.roles.active && user.cycle && user.cycle.shiftType !== SHIFT_TYPE.Normal);\n}\n\nexport function isCanEndShift(user) {\n if(!user || !user.roles) return false;\n return (user.roles.courier && user.roles.active && user.cycle && user.cycle.shiftType === SHIFT_TYPE.Normal);\n}\n\nexport function getUserByOrder(users, order) {\n if(!Array.isArray(users) || !order || !order.groupId || isDefaultGroup(order.groupId)) return null;\n return users.find(user=> user.userId === order.groupId);\n}\n\nexport function getUserByGroupId(users, groupId) {\n if(!Array.isArray(users) || !groupId || isDefaultGroup(groupId)) return null;\n return users.find(user=> user.userId === groupId);\n}\n\nexport function getDistinctUsersIdsFromData(data) {\n if(!Array.isArray(data) || !data.length) return [];\n\n return data.reduce((acc, item)=> {\n const userId = item.userId || item.courierId || item.courier_id;\n if(userId && !acc.includes(userId)) {\n acc.push(userId);\n }\n return acc;\n }, [])\n}\n\nexport const getDropOffEtaMax = (courier, orders) => {\n const dates = (orders || ((courier || {}).cycle || {}).orders || [])\n .filter(f=> f.dropoff_eta)\n .map(m=> new Date(m.dropoff_eta).getTime());\n if(!dates.length) return null;\n return Math.max(...dates);\n}\n\nexport default {\n updateCourierLocations: (state, data) => {\n return {\n ...state,\n data: state.data.map(user => {\n let travelData = data.find(f => f.courierId === user.userId);\n return travelData ? { ...user, travelData } : user;\n })\n };\n },\n cycleStateUpdate: (state, data) => {\n if (User.instance.skipObjectWithControlCenter(data)) return state;\n const isCleanOrders = data.cycleState === CYCLE_STATE.started && data.cleanOrders;\n return {\n ...state,\n data: state.data.map(user => {\n return user.userId === data.courierId\n ? {\n ...user,\n cycle: data.cycleState === CYCLE_STATE.closed\n ? {...user.cycle }\n : {\n ...user.cycle,\n controlCenterId: data.controlCenterId,\n queueNumber: data.queueNumber,\n state: data.cycleState,\n retrieved: data.retrieved || (user.cycle && user.cycle.retrieved),\n routeEstimation: isCleanOrders\n ? {}\n : (user.cycle && user.cycle.routeEstimation),\n optimalData: isCleanOrders\n ? { totalDistance: 0, totalTime: 0 }\n : (user.cycle && user.cycle.optimalData)\n },\n roles: data.cycleState === CYCLE_STATE.closed\n ? { ...user.roles, active: false }\n : user.roles\n }\n : user;\n })\n };\n }\n};\n","import {ADD, DELETE, EDIT, GET} from \"../common-actions\";\nimport {MESSAGE_GALLERY} from \"../restaurant/restaurant-actions\";\n\nexport const ORDERS_LOAD = \"ORDERS_LOAD\";\nexport const ORDERS_LOAD_SUCCESS = ORDERS_LOAD + \"_SUCCESS\";\nexport const ORDERS_LOAD_FAIL = ORDERS_LOAD + \"_FAIL\";\nexport const ORDERS_MODEL_UPDATE = \"ORDERS_MODEL_UPDATE\";\nexport const ADMIN_ORDER_SELECTED_ORDER_ID = \"ADMIN_ORDER_SELECTED_ORDER_ID\";\nexport const PENDING_ORDER_SAVE = \"PENDING_ORDER_SAVE\";\nexport const GET_MERGED_BUSINESS_MENU = \"GET_MERGED_BUSINESS_MENU\";\nexport const GET_MERGED_BUSINESS_MENU_BY_ID = \"GET_MERGED_BUSINESS_MENU_BY_ID\";\nexport const PENDING_ORDER_GET = \"PENDING_ORDER_GET\";\nexport const PENDING_ORDER_DATA_GET = \"PENDING_ORDER_DATA_GET\";\nexport const PENDING_ORDER_CANCEL_CYCLE = \"PENDING_ORDER_CANCEL_CYCLE\";\nexport const PENDING_ORDER_UN_ASSOCIATE_ORDER = \"PENDING_ORDER_UN_ASSOCIATE_ORDER\";\nexport const CONSUMER_PRE_ORDERS_GET = \"CONSUMER_PRE_ORDERS_GET\";\nexport const PENDING_ORDERS_UPDATE = \"PENDING_ORDERS_UPDATE\";\nexport const PENDING_ORDER_UPDATE_COURIER = \"PENDING_ORDER_UPDATE_COURIER\";\nexport const PENDING_ORDER_UPDATE = \"PENDING_ORDER_UPDATE\";\nexport const PENDING_PREORDERS_UPDATE = \"PENDING_PREORDERS_UPDATE\";\nexport const PENDING_PREORDER_DELETE = \"PENDING_PREORDER_DELETE\"\nexport const ADMIN_ORDER_GET = \"ADMIN_ORDER_GET\";\nexport const ADMIN_ORDER_GET_BY_ID = \"ADMIN_ORDER_GET_BY_ID\";\nexport const ADMIN_ORDER_GET_ORDER_INFO = \"ADMIN_ORDER_GET_ORDER_INFO\";\nexport const ADMIN_ORDER_SET_FILERS = \"ADMIN_ORDER_SET_FILERS\";\nexport const ORDER_ADMIN_INFO_GET = \"ORDER_ADMIN_INFO_GET\";\nexport const ADMIN_ORDERS_UPDATE = \"ADMIN_ORDERS_UPDATE\";\nexport const ADMIN_ORDERS_LOADING = \"ADMIN_ORDERS_LOADING\";\nexport const ADMIN_ORDER_UPDATE = \"ADMIN_ORDER_UPDATE\";\nexport const ADMIN_ORDER_PENDING_COUNT_UPDATE = \"ADMIN_ORDER_PENDING_COUNT_UPDATE\";\nexport const ADMIN_ORDER_RESHIPMENT = \"ADMIN_ORDER_RESHIPMENT\";\nexport const ADMIN_ORDER_DELIVERED = \"ADMIN_ORDER_DELIVERED\";\nexport const ADMIN_ORDER_REFUND = \"ADMIN_ORDER_REFUND\";\nexport const ADMIN_ORDER_CAPTURE = \"ADMIN_ORDER_CAPTURE\";\nexport const PUSH_MESSAGE = \"PUSH_MESSAGE\";\nexport const ADMIN_ORDER_CANCEL = \"ADMIN_ORDER_CANCEL\";\nexport const PUSHER_CYCLE_REORDER = \"PUSHER_CYCLE_REORDER\";\nexport const PUSHER_NEW_ORDER = \"PUSHER_NEW_ORDER\";\nexport const ORDER_NEW = \"ORDER_NEW\";\nexport const ADD_NEW_ORDERS = \"ADD_NEW_ORDERS\";\nexport const ORDER_UPDATE = \"ORDER_UPDATE\";\nexport const ORDER_NOTE_EDIT = \"ORDER_NOTE_EDIT\";\nexport const PUSHER_UPDATE_ORDER = \"PUSHER_UPDATE_ORDER\";\nexport const ORDER_UPDATE_STATE = ORDER_UPDATE + \"_STATE\";\nexport const ORDER_UPDATE_SERVICE_NOTES = ORDER_UPDATE + \"_SERVICE_NOTES\";\nexport const ORDERS_UPDATE_TIMES_INFO = ORDER_UPDATE + \"_TIMES_INFO\";\nexport const PUSHER_ORDER_STATE_UPDATE = \"PUSHER_ORDER_STATE_UPDATE\";\nexport const PUSHER_GROUP_UPDATE = \"PUSHER_GROUP_UPDATE\";\nexport const PUSHER_GROUP_REORDER = \"PUSHER_GROUP_REORDER\";\nexport const PUSHER_GROUP_LOCK_UPDATE = \"PUSHER_GROUP_LOCK_UPDATE\";\nexport const NEW_GROUP_REORDER = \"NEW_GROUP_REORDER\";\nexport const GROUP_ORDER_UPDATE = \"GROUP_ORDER_UPDATE\";\nexport const REMOVE_GROUP_ORDERS = \"REMOVE_GROUP_ORDERS\";\nexport const CYCLE_REORDER = \"CYCLE_REORDER\";\nexport const PERFORM_ORDER_ASSOCIATING = \"PERFORM_ORDER_ASSOCIATING\";\nexport const GROUP_UPDATE_STATE = \"GROUP_UPDATE_STATE\";\nexport const GROUP_UPDATE = \"GROUP_UPDATE\";\nexport const CYCLE_DISPATCHE = \"CYCLE_DISPATCHE\";\nexport const UPDATE_ORDER_DATA = \"UPDATE_ORDER_DATA\";\nexport const UPDATE_ORDERS = \"UPDATE_ORDERS\";\nexport const ORDER_REMOVE = \"ORDER_REMOVE\";\nexport const ORDER_DELETE = \"ORDER_DELETE\";\nexport const ORDER_ASSISTANCE_DELETE = \"ORDER_ASSISTANCE_DELETE\";\nexport const CHANGE_ORDER_STATE = \"CHANGE_ORDER_STATE\";\nexport const CHANGE_ORDER_INDEX = \"CHANGE_ORDER_INDEX\";\nexport const CHANGE_ITEMS_GROUP = \"CHANGE_ITEMS_GROUP\";\nexport const PUSHER_ASSISTANCE_UPDATE = \"PUSHER_ASSISTANCE_UPDATE\";\nexport const ASSOCIATE_ORDERS = \"ASSOCIATE_ORDERS\";\nexport const UPDATE_GROUP_ORDERS_MARKERS = \"UPDATE_GROUP_ORDERS_MARKERS\";\nexport const SAVE_ORDER_TO_SERVER = \"SAVE_ORDER_TO_SERVER\";\nexport const APPROVE_ASSISTANCE_ORDER = \"APPROVE_ASSISTANCE_ORDER\";\nexport const GET_ORDER_RECEIPTS = \"GET_ORDER_RECEIPTS\";\nexport const GET_ADVANCED_INFO = \"GET_ADVANCED_INFO\";\nexport const LOAD_HISTORY_ORDERS = \"LOAD_HISTORY_ORDERS\";\nexport const GET_ORDERS_PROVIDER = \"GET_ORDERS_PROVIDER\";\nexport const SAVE_HISTORY_ORDERS = \"SAVE_HISTORY_ORDERS\";\nexport const RELOAD_ORDER = \"RELOAD_ORDER\";\nexport const SET_ORDER_DELIVERED_BY = \"SET_ORDER_DELIVERED_BY\";\nexport const PUSHER_CONSUMER_ORDER_ARRIVED = \"PUSHER_CONSUMER_ORDER_ARRIVED\";\nexport const ORDER_MENU_GET = \"ORDER_MENU_GET\";\nexport const ORDER_MENU_UPDATE = \"ORDER_MENU_UPDATE\";\nexport const ORDER_INDEX_UPDATE = \"ORDER_INDEX_UPDATE\";\nexport const CONSUMER_ORDER = \"CONSUMER_ORDER\";\nexport const CONSUMER_ORDER_SEARCH = CONSUMER_ORDER + \"_SEARCH\";\nexport const CONSUMER_ORDER_SEARCH_SAGA = CONSUMER_ORDER + \"_SEARCH_SAGA\";\nexport const CONSUMER_ORDER_ADD = CONSUMER_ORDER + ADD;\nexport const CONSUMER_ORDER_CANCEL = CONSUMER_ORDER + \"_CANCEL\";\nexport const GET_PRODUCTS_BY_ID_BUSINESS = \"GET_PRODUCTS_BY_ID_BUSINESS\";\nexport const MARKETPLACE_MESSAGE_GET = \"MARKETPLACE_MESSAGE_GET\";\nexport const MARKETPLACE_MESSAGE_GALLERY = \"MARKETPLACE_MESSAGE_GALLERY\";\nexport const MARKETPLACE_MESSAGE_GALLERY_GET = MARKETPLACE_MESSAGE_GALLERY + GET;\nexport const MARKETPLACE_MESSAGE_GALLERY_EDIT = MARKETPLACE_MESSAGE_GALLERY + EDIT;\nexport const MARKETPLACE_MESSAGE_GALLERY_ADD = MARKETPLACE_MESSAGE_GALLERY + ADD;\nexport const MARKETPLACE_MESSAGE_GALLERY_REORDER = MARKETPLACE_MESSAGE_GALLERY + \"_REORDER\";\nexport const MESSAGE_GALLERY_DELETE = MESSAGE_GALLERY + DELETE;\nexport const MARKETPLACE_MESSAGE_DATA_GET = \"MARKETPLACE_MESSAGE_DATA_GET\";\nexport const MARKETPLACE_PAGES_GET = \"MARKETPLACE_PAGES_GET\";\nexport const GET_ORDER_PAYMENT_INTENT = \"GET_ORDER_PAYMENT_INTENT\";\nexport const GET_ORDER_SETUP_INTENT = \"GET_ORDER_SETUP_INTENT\";\nexport const STRIPE_VERIFY_CARD_ORDER = \"STRIPE_VERIFY_CARD_ORDER\";\nexport const SET_CREATED_ORDER = \"SET_CREATED_ORDER\";\nexport const GET_ADMIN_ORDER_PENDING_COUNT = \"GET_ADMIN_ORDER_PENDING_COUNT\";\n\nexport function actionLoadOrders(payload) {\n return {\n type: ORDERS_LOAD,\n payload: {\n ...payload\n }\n };\n}\n\nexport function actionLoadOrdersSuccess(data) {\n return { type: ORDERS_LOAD_SUCCESS, data, additionalParams: { batched: true } };\n}\n\nexport function actionLoadOrdersFail(error) {\n return {\n type: ORDERS_LOAD_FAIL,\n error: error\n };\n}\n\nexport function actionSaveHistoryOrders(data) {\n return {\n type: SAVE_HISTORY_ORDERS,\n data: data\n };\n}\n\nexport function actionUpdateOrder(data) {\n return {\n type: ORDER_UPDATE,\n data: data\n };\n}\n\nexport function actionUpdateOrderServiceNotes(data) {\n return { type: ORDER_UPDATE_SERVICE_NOTES, data };\n}\n\nexport function actionUpdateOrdersTimesInfo(data) {\n return { type: ORDERS_UPDATE_TIMES_INFO, data };\n}\n\nexport function actionNewOrder(data) {\n return { type: ORDER_NEW, data, additionalParams: { batched: true } };\n}\n\nexport function actionAddNewOrders(data) {\n return {\n type: ADD_NEW_ORDERS,\n data: data\n };\n}\n\nexport function actionUpdateOrderState(data) {\n return { type: ORDER_UPDATE_STATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionCycleReorder(data) {\n return { type: CYCLE_REORDER, data, additionalParams: { batched: true } };\n}\n\nexport function actionUpdateOrderGroup(data) {\n return { type: GROUP_ORDER_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionRemoveGroupOrders(data) {\n return {\n type: REMOVE_GROUP_ORDERS,\n data: data\n };\n}\n\nexport function actionGroupUpdateState(data) {\n return { type: GROUP_UPDATE_STATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionCycleDispatched(data) {\n return {\n type: CYCLE_DISPATCHE,\n data: data\n };\n}\n\nexport function actionUpdateOrderData(data) {\n return {\n type: UPDATE_ORDER_DATA,\n data: data\n };\n}\n\nexport function actionUpdateOrders(data) {\n return { type: UPDATE_ORDERS, data, additionalParams: { batched: true } };\n}\n\nexport function actionRemoveOrder(data) {\n return {\n type: ORDER_REMOVE,\n data: data\n };\n}\n\nexport function actionChangeOrderIndex(data) {\n return {\n type: CHANGE_ORDER_INDEX,\n data: data\n };\n}\n\nexport function actionChangeItemsGroup(data) {\n return {\n type: CHANGE_ITEMS_GROUP,\n data: data\n };\n}\n\nexport function actionUpdateGroupOrdersMarkers(data) {\n return { type: UPDATE_GROUP_ORDERS_MARKERS, data, additionalParams: { batched: true } };\n}\n\nexport function actionUpdateGroup(data) {\n return { type: GROUP_UPDATE, data};\n}\n\nexport function actionPendingOrderSave(data) {\n return {\n type: PENDING_ORDER_SAVE,\n data: data\n };\n}\n\nexport function actionPendingOrdersUpdate(data) {\n return { type: PENDING_ORDERS_UPDATE, data };\n}\n\nexport function actionPendingOrderCourierUpdate(data) {\n return { type: PENDING_ORDER_UPDATE_COURIER, data };\n}\n\nexport function actionPendingOrderUpdate(data) {\n return { type: PENDING_ORDER_UPDATE, data };\n}\n\nexport function actionPendingPeorderDelete(data) {\n return { type: PENDING_PREORDER_DELETE, data };\n}\n\nexport function actionAdminOrdersUpdate(data) {\n return {\n type: ADMIN_ORDERS_UPDATE,\n data: data\n };\n}\n\nexport function actionAdminOrdersLoading(data) {\n return {\n type: ADMIN_ORDERS_LOADING,\n data: data\n };\n}\n\nexport function actionAdminOrderUpdate(data) {\n return {\n type: ADMIN_ORDER_UPDATE,\n data: data\n };\n}\n\nexport function actionAdminOrderPendingCountUpdate(data) {\n return {\n type: ADMIN_ORDER_PENDING_COUNT_UPDATE,\n data: data\n };\n}\n\nexport function actionAdminOrderGetOrderInfo(data) {\n return {\n type: ADMIN_ORDER_GET_ORDER_INFO,\n data: data\n };\n}\n\nexport function setAdminOrderSelectedOrderId(data) {\n return {\n type: ADMIN_ORDER_SELECTED_ORDER_ID,\n data: data\n }\n}\n\nexport function setFilterAdminOrders(data) {\n return {\n type: ADMIN_ORDER_SET_FILERS,\n data: data\n };\n}\n\nexport function actionOrderAdminInfoGet(data) {\n return { type: ORDER_ADMIN_INFO_GET, data };\n}\n\nexport function actionOrderMenuUpdate(data) {\n return {\n type: ORDER_MENU_UPDATE,\n data: data\n };\n}\n\nexport function actionOrderIndexUpdate(data) {\n return { type: ORDER_INDEX_UPDATE, data }\n}\n\nexport const actionConsumerOrdersSearch = data => ({ type: CONSUMER_ORDER_SEARCH, data });\n\nexport function actionOrdersModelUpdate(data) {\n return { type: ORDERS_MODEL_UPDATE, data };\n}\n","import {MODEL_CONTROL_TYPE} from '../utils/enums';\nimport {createAddControlModel} from './controlModels/addControlModel';\nimport {createBackControlModel} from './controlModels/backControlModel';\nimport {createComboUrlControlModel} from './controlModels/comboUrlControlModel';\nimport {createIconControlModel} from './controlModels/iconControl';\nimport {createSortModeControl} from './controlModels/sortModeControl';\nimport {createFilterControlModel} from './controlModels/filterControlModel';\nimport {createImportFileControlModel} from './controlModels/importFileControl.js';\nimport {currentUserIsDepotRole} from './userModel.js';\nimport {createActionButtonControlModel} from './controlModels/actionButton.js';\nimport {createDropdownControlModel} from './controlModels/dropdownModel/DropdownModel.js';\nimport {createListItemsControlModel} from \"./controlModels/listItemsModel/listItemsModel.js\";\n\n\nexport function createControlModel({ type, ...args }) {\n const model = {\n [MODEL_CONTROL_TYPE.add]: createAddControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.back]: createBackControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.iconControl]: createIconControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.sortMode]: createSortModeControl({ ...args }),\n [MODEL_CONTROL_TYPE.comboUrl]: createComboUrlControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.filter]: createFilterControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.importFile]: createImportFileControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.actionButton]: createActionButtonControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.listItems]: createListItemsControlModel({ ...args }),\n [MODEL_CONTROL_TYPE.dropdown]: createDropdownControlModel({ ...args }),\n };\n\n return model[type] || null;\n}\n\nexport const filtrateControlByDepotRole = (controls, types = [MODEL_CONTROL_TYPE.back]) => {\n if(currentUserIsDepotRole()) {\n return controls.filter(c => !types.includes(c.type));\n }\n return controls;\n}\n","import ControlModel from \"../../models/controlModel\";\nimport { MODEL_CONTROL_TYPE } from \"../../utils/enums\";\n\nexport function createAddControlModel({ ...args }) {\n return new ControlModel({\n isLayout: args.isLayout || false,\n url: args.url || \"\",\n type: MODEL_CONTROL_TYPE.add,\n text: args.text,\n openCourierShiftPopup: args.openCourierShiftPopup,\n openDateRange: args.openDateRange\n });\n}\n","import ControlModel from \"../../models/controlModel\";\nimport { MODEL_CONTROL_TYPE } from \"../../utils/enums\";\n\nexport function createBackControlModel({isShow}) {\n return new ControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isShow\n });\n}\n","import ControlModel from '../../models/controlModel';\nimport { MODEL_CONTROL_TYPE } from '../../utils/enums';\n\nexport function createIconControlModel({ ...args }) {\n return new ControlModel({\n action: args.action || \"\",\n text: args.text || \"\",\n tooltipText: args.tooltipText || \"\",\n icon: args.icon || \"\",\n isShow: args.isShow || function () {return true},\n hideTooltip: args.hideTooltip,\n type: MODEL_CONTROL_TYPE.iconControl\n });\n}\n","import ControlModel from \"../../models/controlModel\";\nimport { MODEL_CONTROL_TYPE } from \"../../utils/enums\";\n\nexport function createSortModeControl({ ...args }) {\n return new ControlModel({\n type: MODEL_CONTROL_TYPE.sortMode\n });\n}","import ControlModel from \"../../models/controlModel\";\nimport { MODEL_CONTROL_TYPE } from \"../../utils/enums\";\n\nexport function createComboUrlControlModel({ ...args }) {\n return new ControlModel({\n value: args.value,\n items: args.items,\n type: MODEL_CONTROL_TYPE.comboUrl\n });\n}","import ControlModel from \"../../models/controlModel\";\nimport { MODEL_CONTROL_TYPE } from \"../../utils/enums\";\n\nexport function createFilterControlModel({ ...args }) {\n return new ControlModel({ ...args, type: MODEL_CONTROL_TYPE.filter });\n}","import moment from \"moment\";\nimport i18n from \"../i18n\";\nimport { TITLE_RELATIVE_TIME, FORMAT_RELATIVE_TIME_ONLY_TYPE, PERIOD_TYPE } from \"./enums\";\nimport { isEmpty } from \"./objects-util\";\n\nexport const oneSec = 1000;\nexport const oneMin = 60000;\nexport const oneHour = 3600000;\nexport const oneDay = 24 * oneHour;\nconst userTime = \"H:mm\";\nconst formatTime24 = \"H:mm\";\nconst formatDayTime24 = \"D/M/YY H:mm\";\nexport const defaultDate = \"0001-01-01T00:00:00.000Z\";\nexport const DATE_FORMAT_DMY = \"DD.MM.YYYY\";\nexport const DATE_FORMAT_DMY2_FULL = \"DD/MM/YYYY\";\nexport const DATE_FORMAT_DMY2_HM = \"DD/MM/YY HH:mm\";\nexport const DATE_FORMAT_DMY_SHORT = \"D/M/YY\";\nexport const DATE_FORMAT = \"DD/MM/YY\";\nexport const TIME_FORMAT = \"HH-mm\";\nexport const TIME_FORMAT_USER = \"HH:mm\";\nexport const DATE_TIME_FORMAT = \"DD/MM/YY HH:mm\";\nexport const DATE_TIME_FORMAT_DAYTIME = \"D/M/YY H:mm\";\nexport const DATE_TIME_FORMAT_DAYTIME_SHORT = \"MM/DD H:mm\";\nexport const DATE_TIME_AP_PM = \"hh:mm a\";\n\nexport function getFormattedDate(date, typeFormat) {\n if (!date) return date;\n const dateFormatted = new Date(date);\n switch (typeFormat) {\n case DATE_FORMAT:\n return moment(dateFormatted).format(DATE_FORMAT);\n case TIME_FORMAT:\n return moment(dateFormatted).format(TIME_FORMAT);\n case TIME_FORMAT_USER:\n return moment(dateFormatted).format(TIME_FORMAT_USER);\n case DATE_TIME_FORMAT:\n return moment(dateFormatted).format(DATE_TIME_FORMAT);\n case DATE_TIME_FORMAT_DAYTIME:\n return moment(dateFormatted).format(DATE_TIME_FORMAT_DAYTIME);\n case DATE_TIME_AP_PM:\n return moment(dateFormatted, DATE_TIME_AP_PM).format(DATE_TIME_AP_PM)\n default:\n return typeFormat\n ? moment(dateFormatted).format(typeFormat)\n : date;\n }\n}\n\nexport function getTimeFromText(value) {\n const val = value.replace(/[-:]/g, \"\");\n return val.length >= 4\n ? val.substring(0,2) + \":\" + val.substring(2,4)\n : value.replace(\"-\", \":\");\n}\n\nexport function getDateFromText(value) {\n const clearDateValue = value.replace(/[-_]/g, \"\").replace(\"/\", \"\");\n\n return clearDateValue.length >= 6\n ? clearDateValue.substring(0,4) + \".\" + clearDateValue.substring(4,6) + \".\" + clearDateValue.substring(6,8)\n : null\n}\n\nexport function isNotToday(value) {\n return !(value &&\n moment(value).isSame(new Date(), \"day\")\n && moment(value).isSame(new Date(), \"year\")\n && moment(value).isSame(new Date(), \"month\")\n );\n}\n\nexport function getStaticTime(time, onlyTime, isRtl) {\n let result = null;\n if (time && time !== defaultDate) {\n const timeToDate = new Date(time);\n const dateNow = new Date();\n if ((dateNow.toDateString() === timeToDate.toDateString()) || onlyTime) {\n result = isRtl\n ? moment(timeToDate).format(formatTime24)\n : moment(timeToDate).format(userTime);\n } else {\n result = isRtl\n ? moment(timeToDate).format(formatDayTime24)\n : moment(timeToDate).format(DATE_FORMAT_DMY2_HM);\n }\n }\n return result;\n}\n\nexport function getFormatRelativeTime(\n delta,\n particle,\n isJustNow,\n isRtl,\n onlyType,\n shortMode\n) {\n let result = \"\";\n\n if (delta < oneMin) {\n if (isJustNow) {\n const sec = delta ? (delta / oneSec).toFixed(0) : \"\";\n result = sec ? sec + \" \" + i18n.t(shortMode ? \"covertTime.TIME_SEC_SHORT\" : \"covertTime.TIME_SEC\") : \"\";\n } else {\n result = i18n.t(\"covertTime.JUST_NOW_LABEL\");\n }\n } else {\n if (onlyType)\n return (millisToHourMinutesByType(delta, onlyType) + TITLE_RELATIVE_TIME(onlyType));\n\n const deltaDate = millisToHourMinutes(delta);\n let items = [];\n if (particle && isRtl) {\n items.push(particle);\n }\n if (deltaDate.d > 0) {\n items.push(deltaDate.d + \" \" + i18n.t(\"covertTime.TIME_DAY\"));\n if (deltaDate.h > 0) {\n items.push(deltaDate.h + \" \" + i18n.t(\"covertTime.TIME_HOUR\"));\n }\n } else {\n if (deltaDate.h > 0) {\n items.push(deltaDate.h + \" \" + i18n.t(\"covertTime.TIME_HOUR\"));\n }\n items.push(deltaDate.m + \" \" + i18n.t(shortMode ? \"covertTime.TIME_MIN_SHORT\" : \"covertTime.TIME_MIN\"));\n }\n if (particle && !isRtl) {\n items.push(particle);\n }\n result = items.join(\" \");\n }\n return result;\n}\n\nexport function isSameDateByCurrent(value) {\n if(!value) return false;\n\n let d1 = new Date();\n let d2 = new Date(value);\n const res = moment(new Date()).isSameOrAfter(value);\n const diff = Math.abs(d1 - d2);\n\n return res && diff < oneMin;\n}\n\nexport function isAfterDateByCurrent(value) {\n if(!value) return false;\n const res1 = moment(new Date()).isSameOrAfter(value);\n const res2 = !isSameDateByCurrent(value);\n\n return res1 && res2;\n}\n\nexport function getRelativeTime(targetTime, particle, isRtl, shortMode) {\n let result = \"\";\n if (targetTime) {\n let delta = Math.abs(new Date() - new Date(targetTime));\n result = getFormatRelativeTime(delta, particle, false, isRtl, undefined, shortMode);\n }\n return result;\n}\n\nexport function minutesToTimeRelative(minutes) {\n if(isEmpty(minutes)) return null;\n\n let date = new Date();\n date.setMinutes(date.getMinutes() + minutes);\n return date && date.toISOString();\n}\n\nexport function timeToMinutes(time) {\n if (time === null || typeof time === \"undefined\" || time === defaultDate) {\n return 0;\n }\n var arr = time.split(\":\");\n return Math.round(Date.UTC(70, 0, 1, arr[0], arr[1], arr[2]) / 60000);\n}\n\nexport function minutesToTime(minutes) {\n if (minutes === null || typeof minutes === \"undefined\") {\n return \"00:00:00\";\n }\n\n const min = Math.round(minutes % 60);\n return (\n (\"00\" + Math.floor((minutes / 60) % 60)).substr(-2) +\n \":\" +\n (min ? min : \"00\") +\n \":00\"\n );\n}\n\nexport function timeToMinutesRelative(time) {\n if (isEmpty(time) || time === defaultDate)\n return 0;\n const dateTime = new Date(time);\n const delta = dateTime - new Date();\n return delta <= 0 ? 0 : Math.round(delta / 60000);\n}\n\nexport function relativeDeltaTimeNoJust(delta, isRtl) {\n let result = \"\";\n if (delta || delta === 0) {\n result = getFormatRelativeTime(delta * oneSec, undefined, true, isRtl);\n }\n return result;\n}\n\nexport function getISOTime(time) {\n return time ? new Date(time).toISOString() : time;\n}\n\nexport function getRelativeStartEndTime(timeStart, timeEnd, isNotJust) {\n let result = \"\";\n if (timeStart && timeEnd) {\n const delta = Math.abs(new Date(timeEnd) - new Date(timeStart));\n result = getFormatRelativeTime(delta, undefined, isNotJust);\n }\n return result;\n}\n\nexport function setStartTime(time) {\n const newTime = time ? new Date(time) : new Date();\n newTime.setUTCHours(0);\n newTime.setUTCMinutes(0);\n newTime.setUTCSeconds(0);\n newTime.setUTCMilliseconds(0);\n return new Date(newTime.getTime() + (newTime.getTimezoneOffset() * 60000));\n}\n\nexport function setEndTime(time) {\n const newTime = time ? new Date(time) : new Date();\n newTime.setUTCHours(23);\n newTime.setUTCMinutes(59);\n newTime.setUTCSeconds(59);\n newTime.setUTCMilliseconds(999);\n return new Date(newTime.getTime() + (newTime.getTimezoneOffset() * 60000));\n}\n\nexport function isDatesValid(startDate, endDate) {\n if (!startDate) {\n return false;\n }\n\n const tempStartDate = setStartTime(startDate);\n const tempEndDate = setEndTime(endDate);\n return tempEndDate > tempStartDate;\n}\n\nexport function prepareStartDate(startDate) {\n return getISOTime(startDate);\n}\n\nexport function prepareEndDate(endDate) {\n return setEndTime(endDate).toISOString();\n}\n\nexport function getFormattedTime(open, close) {\n return `${open.hour < 10 ? `0` + open.hour : open.hour}:` +\n `${open.minute < 10 ? `0` + open.minute : open.minute}-` +\n `${close.hour < 10 ? `0` + close.hour : close.hour}:` +\n `${close.minute < 10 ? `0` + close.minute : close.minute}`\n}\n\nexport function addHoursToDate(date, hours) {\n if(!date) date = new Date();\n return date.setHours(date.getHours() + hours);\n}\n\nexport function getWeekPeriod() {\n const today = new Date();\n\n const dayOfWeek = today.getDay();\n const diffToLastSunday = dayOfWeek === 0 ? 0 : dayOfWeek;\n const diffFirstSunday = today.getDate() - diffToLastSunday;\n\n const from = new Date(today);\n from.setDate(diffFirstSunday);\n from.setHours(0);\n from.setMinutes(0);\n from.setSeconds(0);\n from.setMilliseconds(0);\n\n const diffForNextSunday = diffFirstSunday + 6;\n const to = new Date();\n to.setDate(diffForNextSunday);\n to.setHours(23);\n to.setMinutes(59);\n to.setSeconds(59);\n to.setMilliseconds(999);\n\n return { from, to };\n}\n\nexport function getHours() {\n const hours = [];\n for (let index = 0; index < 24; index++) {\n hours.push({\n key: index,\n value: index < 10 ? `0` + index : index\n })\n }\n return hours;\n}\n\nexport function getMinutes() {\n const minutes = [];\n for (let index = 0; index < 60; index++) {\n minutes.push({\n key: index,\n value: index < 10 ? `0` + index : index\n })\n }\n return minutes;\n}\n\nfunction millisToHourMinutes(delta) {\n const day = Math.floor(delta / oneDay);\n const hour = Math.floor((delta % oneDay) / oneHour).toFixed(0);\n const minutes = Math.floor((delta % oneHour) / oneMin).toFixed(0);\n return { d: day, h: hour, m: minutes };\n}\n\nfunction millisToHourMinutesByType(delta, type) {\n switch (type) {\n case FORMAT_RELATIVE_TIME_ONLY_TYPE.d:\n return Math.floor(delta / oneDay);\n case FORMAT_RELATIVE_TIME_ONLY_TYPE.h:\n return Math.floor(delta / oneHour);\n case FORMAT_RELATIVE_TIME_ONLY_TYPE.m:\n return Math.floor(delta / oneMin);\n default:\n return delta;\n }\n}\n\nexport const getYesterday = () => moment().add(-1, \"d\");\n\nexport const getPeriodByType = (type) => {\n const today = new Date();\n const year = today.getFullYear();\n let data = { start: null, end: null };\n\n switch (type) {\n case PERIOD_TYPE.today:\n data = {\n start: prepareToday().from,\n end: prepareToday().to,\n };\n break;\n case PERIOD_TYPE.yesterday:\n data = {\n start: prepareYesterday().from,\n end: prepareYesterday().to\n };\n break;\n case PERIOD_TYPE.week:\n const { from, to } = getWeekPeriod();\n data = {\n start: from,\n end: to\n };\n break;\n case PERIOD_TYPE.month:\n data = {\n start: prepareMonth().from,\n end: prepareMonth().to,\n };\n break;\n case PERIOD_TYPE.prevMonth:\n data = {\n start: preparePreviousMonth().from,\n end: preparePreviousMonth().to,\n };\n break;\n case PERIOD_TYPE.year:\n data = {\n start: new Date(year, 0, 1).toISOString(),\n end: prepareEndDate(new Date())\n };\n break;\n default:\n break;\n }\n\n return data;\n}\n\nexport const prepareFullDay = (date) => ({\n start: prepareStartDate(setStartTime(date)),\n end: prepareEndDate(date)\n});\n\nconst isToday = date => {\n if(!date) return false;\n const today = new Date();\n const d = new Date(date);\n\n return d.getDate() === today.getDate() &&\n d.getMonth() === today.getMonth() &&\n d.getFullYear() === today.getFullYear();\n}\n\nexport const getConvertedAmPmWithCheck = date => {\n if(!date) return null;\n return isToday(date)\n ? getFormattedDate(date, DATE_TIME_AP_PM)\n : `${getFormattedDate(date, DATE_FORMAT_DMY_SHORT)} ${getFormattedDate(date, DATE_TIME_AP_PM)}`\n}\n\nexport const getDeliveryTimeForNewOrder = () => {\n const date = moment(new Date()).endOf('hour').add(1, 'hour').add(1, 'second');\n const dateEnd = moment(new Date()).clone().add(24, 'hour');\n const res = { today: [], tomorrow: [] };\n\n while (date.isSameOrBefore(dateEnd)) {\n if(date.get('weekday') === moment().get('weekday')) {\n res.today.push(date.toDate());\n } else {\n res.tomorrow.push(date.toDate());\n }\n date.add(30, 'minute');\n }\n\n return res;\n}\n\n\nexport const formatedDateWithTimeZone = (datetime) => {\n const date = datetime.original_date || '';\n const time = datetime.original_time || '';\n if(!date) {\n return datetime.original_datetime || moment(new Date());\n }\n return moment( (date + \" \" + time).trim() );\n}\n\nexport const prepareYear = () => {\n const today = new Date();\n const from = new Date(today.getFullYear(), 0, 1, 0, 0, 0, 0);\n const to = new Date(today.getFullYear(), 12, 0, 23, 59, 59, 999);\n return {from, to};\n}\n\nexport const preparePreviousMonth = () => {\n const today = new Date();\n const from = new Date(today.getFullYear(), today.getMonth() - 1, 1, 0, 0, 0, 0);\n const to = new Date(today.getFullYear(), today.getMonth(), 0, 23, 59, 59, 999);\n return { from, to };\n}\n\nexport const prepareMonth = () => {\n const today = new Date();\n const from = new Date(today.getFullYear(), today.getMonth(), 1, 0, 0, 0, 0);\n const to = new Date(today.getFullYear(), today.getMonth()+1, 0, 23, 59, 59, 999);\n return { from, to };\n}\n\nexport const prepareYesterday = () => {\n const from = new Date();\n from.setDate(from.getDate() - 1);\n from.setHours(0);\n from.setMinutes(0);\n from.setSeconds(0);\n from.setMilliseconds(0);\n\n const to = new Date();\n to.setDate(to.getDate() - 1);\n to.setHours(23);\n to.setMinutes(59);\n to.setSeconds(59);\n to.setMilliseconds(999);\n\n return { from, to };\n}\n\nexport const prepareToday = () => {\n const from = new Date();\n from.setHours(0);\n from.setMinutes(0);\n from.setSeconds(0);\n from.setMilliseconds(0);\n\n const to = new Date();\n to.setDate(to.getDate());\n to.setHours(23);\n to.setMinutes(59);\n to.setSeconds(59);\n to.setMilliseconds(999);\n\n return { from, to };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nexport const routeEstimationModel = {\n totalDistance: 0,\n totalTime: 0,\n segments: [],\n modelType: MODEL_TYPE.routeEstimation\n};\n","export const contentModel = {\n addons: [],\n item: \"\",\n quantity: 0,\n price: 0\n};\n","export const addonModel = {\n item: \"\",\n quantity: 0,\n price: 0\n};\n","import { MODEL_TYPE } from \"../utils/enums\";\nexport const depotUserModel = {\n id: undefined,\n depotId: \"\",\n firstName: \"\",\n lastName: \"\",\n phoneNumber: \"\",\n modelType: MODEL_TYPE.depotUserModel\n};\n","import { MODEL_TYPE, COURIER_LOCATION_STATE } from \"../utils/enums\";\nexport const travelDataModel = {\n accuracy: 0,\n background: false,\n batteryPercentage: 0,\n bearing: 0,\n gpsDisabled: false,\n location: {\n latitude: 0,\n longitude: 0,\n modelType: MODEL_TYPE.payments\n },\n lowPowerMode: 0,\n progress: null,\n speed: 0,\n state: COURIER_LOCATION_STATE.lost,\n stoppedAtAllowedLocation: false,\n timestamp: null,\n modelType: MODEL_TYPE.travelDataModel\n};\n","export function categoryModel(category) {\n const data = category || {};\n\n return {\n enabled: data.enabled || false,\n id: data.id || \"\",\n image: data.image,\n image_settings: data.image_settings,\n name: data.name || \"\",\n description: data.description || \"\",\n order: data.order || 0,\n products: data.products || [],\n rank: data.rank || 0\n };\n}\n\nexport function categoryModelForOverride(data) {\n const model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n description: model.description || \"\",\n }\n}\n\nexport function categoryModelOverride(data) {\n const model = data || {};\n const overridesProperty = [];\n\n if(model && model.overrides) {\n model.overrides.forEach(ov => {\n if(ov.id === model.id) {\n model[ov.name] = ov.value;\n overridesProperty.push(ov.name);\n }\n })\n }\n\n return {\n ...categoryModelForOverride(model),\n overridesProperty: overridesProperty,\n }\n}\n","import {getInitModel} from \"../services/initModels\";\nimport {MODEL_TYPE} from \"../utils/enums\";\nimport {convertToBoolean} from \"../utils/objects-util.js\";\nimport {fixedNumber} from \"../utils/math-util.js\";\n\nexport function categoryProductModel(data) {\n const item = data || {};\n const newItem = {\n id: item.id,\n name: item.name || \"\",\n price: item.price || 0,\n\t\tsku: item.sku || \"\",\n description: item.description || \"\",\n order: item.order || 0,\n featured: item.featured || false,\n upselling: item.upselling || false,\n enabled: item.enabled || false,\n vegan: item.vegan || false,\n vegetarian: item.vegetarian || false,\n gluten_free: item.gluten_free || false,\n allow_comments: item.allow_comments || false,\n spicy: item.spicy || 0,\n ingredients: item.ingredients || [],\n extra_ids: item.extra_ids || [],\n images: item.images,\n image_settings: item.image_settings,\n enable_schedule: item.enable_schedule || false,\n preorder_schedule: item.preorder_schedule || false,\n schedule: getInitModel(MODEL_TYPE.scheduleModel, item.schedule),\n max: item.max || 0,\n price_before_discount: item.price_before_discount || 0,\n tag: item.tag || \"\",\n unit_weight: item.unit_weight || 0,\n weighed: item.weighed || false,\n weight_range: fixedNumber(item.weight_range * 100,2) || 0,\n };\n\n return newItem;\n}\n\nexport const categoryProductModelForOverride = (data) => {\n const model = data || {};\n return {\n name: model.name || '',\n id: model.id,\n description: model.description || '',\n allow_comments: convertToBoolean(model.allow_comments) || false,\n max: model.max || 0,\n sku: model.sku || '',\n spicy: model.spicy ? parseInt(model.spicy) : 0,\n vegetarian: convertToBoolean(model.vegetarian) || false,\n gluten_free: convertToBoolean(model.gluten_free) || false,\n vegan: convertToBoolean(model.vegan) || false,\n upselling: convertToBoolean(model.upselling) || false,\n price_before_discount: model.price_before_discount || 0,\n price: model.price || 0,\n tag: model.tag || \"\",\n unit_weight: model.unit_weight || 0,\n weighed: convertToBoolean(model.weighed) || false,\n weight_range: fixedNumber(model.weight_range * 100, 2) || 0,\n }\n}\n\nexport const createProductOverrideModel = data => {\n const model = {...data} || {};\n const overridesProperty = [];\n\n if(model && model.overrides) {\n model.overrides.forEach(ov => {\n if(ov.id === model.id) {\n model[ov.name] = ov.value;\n overridesProperty.push(ov.name);\n }\n })\n }\n\n return {\n ...categoryProductModelForOverride(model),\n overridesProperty: overridesProperty,\n }\n}\n","import {convertToBoolean} from \"../utils/objects-util.js\";\n\nexport function productOptionModel(data) {\n let model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n enabled: model.enabled || false,\n order: model.order || 0,\n conditioned: model.conditioned || false,\n respect_to: model.respect_to || null,\n min: model.min || 0,\n max: model.max || 0,\n free_budget : model.free_budget || 0,\n with_half_option: model.with_half_option || false,\n\t\t sku : model.sku || null,\n allow_suboption_quantity: model.allow_suboption_quantity || false,\n limit_suboptions_by_max: model.limit_suboptions_by_max || false,\n reduce_price_for_half_option: model.reduce_price_for_half_option || false,\n suboptions: model.suboptions || [],\n description: model.description || \"\",\n pizza_option: model.pizza_option || false,\n }\n}\n\nexport function optionModelOverride(data) {\n let model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n description: model.description || \"\",\n min: model.min || 0,\n max: model.max || 0,\n sku : model.sku || null,\n free_budget : model.free_budget || 0,\n with_half_option: convertToBoolean(model.with_half_option) || false,\n allow_suboption_quantity: convertToBoolean(model.allow_suboption_quantity) || false,\n limit_suboptions_by_max: convertToBoolean(model.limit_suboptions_by_max) || false,\n pizza_option: convertToBoolean(model.pizza_option) || false,\n }\n}\n\n\nexport function optionModelWithOverrides(data) {\n const model = data || {};\n const overridesProperty = [];\n\n if(model && model.overrides) {\n model.overrides.forEach(ov => {\n if(ov.id === model.id) {\n model[ov.name] = ov.value;\n overridesProperty.push(ov.name);\n }\n })\n }\n\n return {\n ...optionModelOverride(model),\n overridesProperty: overridesProperty,\n }\n}\n","export function extraModel(data) {\n let model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n enabled: model.enabled || false,\n description: model.description || \"\",\n options: model.options || []\n }\n}\n\nexport function extraModelOverride(data) {\n let model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n description: model.description || \"\",\n }\n}\n\nexport function extraModelWithOverrides(data){\n const model = {...data} || {};\n const overridesProperty = [];\n\n if(model.overrides) {\n model.overrides\n .filter(el => el.id === model.id)\n .forEach(ov => {\n if(ov.id === model.id) {\n model[ov.name] = ov.value;\n overridesProperty.push(ov.name);\n }\n })\n }\n\n return {\n ...extraModelOverride(model),\n overridesProperty: overridesProperty || [],\n }\n}\n","export function extraSuboptionModel(data) {\n let model = data || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n enabled: model.enabled || false,\n description: model.description || \"\",\n order: model.order || 0,\n price: model.price || 0,\n\t\t sku: model.sku || null,\n max: model.max || 0,\n tag: model.tag || \"\",\n image: model.image || null,\n image_settings: model.image_settings || null,\n }\n}\n\nexport function suboptionsOverrideModel(data) {\n let model = {...data} || {};\n\n return {\n id: model.id || \"\",\n name: model.name || \"\",\n description: model.description || \"\",\n price: model.price || 0,\n max: model.max || 0,\n sku: model.sku || null,\n tag: model.tag || \"\",\n }\n}\n\nexport function suboptionsModelWithOverrides(data) {\n const model = {...data} || {};\n const overridesProperty = [];\n\n if(model && model.overrides) {\n model.overrides.forEach(ov => {\n if(ov.id === model.id) {\n model[ov.name] = ov.value;\n overridesProperty.push(ov.name);\n }\n })\n }\n\n return {\n ...suboptionsOverrideModel(model),\n overridesProperty: overridesProperty,\n }\n}\n","import {EXTRA_TYPES, PARENT_MENU_UNIT_TYPES} from \"../utils/enums\";\n\nexport const parentMenuModel = ({businessMenu, parentMenu}) => {\n const items = [];\n const overriderProduct = businessMenu.overrides || [];\n for(let categories of (parentMenu && parentMenu.categories) || []) {\n items.push({...categories, type: PARENT_MENU_UNIT_TYPES.category, parentValue: ''});\n for(let product of categories.products) {\n items.push({...product, type: PARENT_MENU_UNIT_TYPES.product, tabMode: 1, parentValue: categories.name});\n }\n items.push(...getExtras(categories.extras, 1, categories.name))\n }\n\n items.push(...getExtras((parentMenu && parentMenu.extras) || [], 0))\n\n return {\n data: items.map(el => {\n const override = overriderProduct.find(f => f.object_id === el.id && f.name === \"enabled\");\n return {...el, enabled: override ? override.enabled : el.enabled}\n })\n }\n}\n\n\nconst getExtras = (extras, startFrom = 0, nameValues = '') => {\n const items = [];\n for(let extra of extras) {\n let parentValue = nameValues || '';\n items.push({...extra, type: EXTRA_TYPES.extra, tabMode: startFrom, parentValue});\n parentValue = parentValue ? `${parentValue}, ${extra.name}` : extra.name;\n\n for(let option of extra.options) {\n const parentValueOption = `${parentValue}, ${option.name}`;\n items.push({...option, type: EXTRA_TYPES.option, tabMode: startFrom + 1, parentValue});\n\n for(let suboption of option.suboptions) {\n items.push({...suboption, type: EXTRA_TYPES.suboption, tabMode: startFrom + 2, parentValue: parentValueOption});\n }\n }\n }\n\n return items;\n}\n","export const galleryModel = item => {\n const value = item || {};\n\n return {\n type: value.type || 0,\n file_settings: value.file_settings || {\n crop_mode: 0,\n gravity_mode: 0,\n quality: 90,\n quality_mode: 0\n },\n title: value.title || \"\",\n description: value.description || \"\",\n order: 0\n };\n};","import {MODEL_TYPE} from '../utils/enums';\n\nimport {getOrderModel, orderModel} from '../models/orderModel';\nimport {routeEstimationModel} from '../models/routeEstimationModel';\nimport {addressModel} from '../models/addressModel';\nimport {paymentsModel} from '../models/paymentsModel';\nimport {contentModel} from '../models/contentModel';\nimport {addonModel} from '../models/addonModel';\nimport {locationModel} from '../models/location';\nimport {contentServerModel} from '../models/contentServerModel';\nimport {assistanceServerModel} from '../models/assistanceServerModel';\nimport {addonServerModel} from '../models/addonServerModel';\nimport {addressServerModel} from '../models/addressServerModel';\nimport {locationServerModel} from '../models/locationServerModel';\nimport {userModel, userServerModel} from '../models/userModel';\nimport {credentialsServerModel} from '../models/credentialsServerModel';\nimport {depotModel} from '../models/depotModel';\nimport {depotServerModel} from '../models/depotServerModel';\nimport {depotUserModel} from '../models/depotUserModel';\nimport {depotDeliveryPriceModel} from '../models/depotDeliveryPriceModel';\nimport {regionDeliveryPriceModel} from '../models/regionDeliveryPriceModel';\nimport {travelDataModel} from '../models/travelDataModel';\nimport {namedPlaces} from '../models/namedPlaces';\nimport {visualSettingsServerModel} from '../models/visualSettingsServerModel';\nimport {regionModel} from '../models/regionModel';\nimport {restaurantRegionServerModel} from '../models/restaurantRegionServerModel';\nimport {namedPlacesServerModel} from '../models/namedPlacesServerModel';\nimport {shiftModel} from '../models/shiftModel';\nimport {shiftServerModel} from '../models/shiftServerModel';\nimport {controlCenterActivateServerModel} from '../models/controlCenterServerModel';\nimport {controlCenterDeactivateServerModel} from '../models/controlCenterDeactivateServerModel';\nimport {menuDeliveryZoneModel} from '../models/menuDeliveryZoneModel';\nimport {offerModel} from '../models/offerModel';\nimport {businessInfoModel, businessInfoServerModel} from '../models/businessInfoModel';\nimport {categoryModel, categoryModelForOverride, categoryModelOverride} from '../models/categoryModel';\nimport {categoryServerModel} from '../models/categoryServerModel';\nimport {\n categoryProductModel,\n categoryProductModelForOverride,\n createProductOverrideModel,\n} from '../models/categoryProductModel';\nimport {categoryProductServerModel} from '../models/categoryProductServerModel';\nimport {optionModelOverride, optionModelWithOverrides, productOptionModel} from '../models/productOptionModel';\nimport {productOptionServerModel} from '../models/productOptionServerModel';\nimport {extraModel, extraModelOverride, extraModelWithOverrides} from '../models/extraModel';\nimport {extraServerModel} from '../models/extraServerModel';\nimport {\n extraSuboptionModel,\n suboptionsModelWithOverrides,\n suboptionsOverrideModel,\n} from '../models/extraSuboptionModel';\nimport {scheduleModel} from '../models/scheduleModel';\nimport {extraSuboptionServerModel} from '../models/extraSuboptionServerModel';\nimport {reshipmentOrder} from '../models/reshipmentOrder';\nimport {adminOrderProductServerModel} from '../models/adminOrderProductServerModel';\nimport {refundModel} from '../models/refundModel';\nimport {refundServerModel} from '../models/refundServerModel';\nimport {depotDeliveryPriceServerModel} from '../models/depotPriceServerModel';\nimport {courierDeliveryFeesModel, courierDeliveryFeesServerModel} from '../models/courierDeliveryFees';\nimport {listPromotionModel, listPromotionServerModel} from '../models/listPromotion';\nimport {serviceFeeModel, serviceFeeServerModel} from '../models/serviceFee';\nimport {driverTipModel} from '../models/driverTipModel';\nimport {marketplacePagesModel} from '../models/marketplacePagesModel';\nimport {depotIntegrationModel, depotIntegrationServerModel} from '../models/depotIntegrationModel';\nimport {menuTemplateModel} from '../models/menuTemplateModel';\nimport {driverInfoModel} from '../models/driverInfoModel';\nimport {priceInfoModel} from '../models/priceInfoModel';\nimport {externalCycleModel} from '../models/externalCycleModel';\nimport {depotsMenuCopyModel} from '../models/depotsMenuCopyModel';\nimport {marketplaceModel} from '../models/marketplaceModel';\nimport {parentMenuModel} from '../models/parentMenuModel';\nimport {reviewExtraModel} from '../models/reviewExtraModel';\nimport {billingAddressModel} from '../models/billingAddressModel';\nimport {galleryModel} from '../models/businessGalleryModel';\nimport {providerModel} from '../models/providerModel';\nimport {marketplaceSettingsServerModel} from '../models/marketplaceSettingsServerModel';\nimport {controlCenterEditServerModel} from '../models/controlCenterEditServerModel';\nimport {serviceCityServerModel} from '../models/serviceCityServerModel';\nimport {operationTimingModel} from '../models/operationTimingModel';\nimport {currentShiftServerModel} from '../models/currentShiftServerModel';\nimport {currentShift} from '../models/currentShiftModel';\nimport {currentShiftDepotServerModel} from '../models/currentShiftDepotServerModel';\nimport {getCourierControlSettingsModel} from '../models/getCourierControlSettingsModel';\nimport {getCourierInterfaceSettingsModel} from '../models/getCourierInterfaceSettingsModel';\nimport {messageGalleryModel, messageGalleryServerModel} from '../models/messageGalleryModel';\nimport {editCustomerOrderModel} from '../models/editCustomerOrderModel.js';\nimport {marketplaceCampaignModel} from '../models/marketplaceCampaignModel.js';\nimport {reconciliationModel} from '../models/reconciliationModel.js';\nimport {\n reconciliationsPeriodTemplateModel,\n reconciliationsSettingsTemplateModel\n} from '../models/reconciliationsSettingsTemplateModel.js';\nimport {getCourierDisplaySettingsModel} from \"../models/getCourierDisplaySettingsModel.js\";\nimport {providersModel} from \"../models/providersModel.js\";\nimport {cloudPrintersModel} from \"../models/cloudPrintersModel.js\";\nimport {bulkConsumerModel} from \"../models/bulkServerModels.js\";\nimport {cardServerModel} from \"../models/cardServerModel.js\";\nimport {fleetModel, fleetTelemetryModel} from \"../models/fleetModel.js\";\nimport {loyaltyRegisterVoucherModel, loyaltyRegisterVoucherServerModel} from \"../models/loyaltyRegisterVoucherModel.js\";\nimport {\n getCourierConfirmationSettingsModel,\n getCourierConfirmationSettingsServerModel\n} from \"../models/getCourierConfirmationSettingsModel.js\";\nimport {referralSettingsModel} from \"../models/referralSettingsModel.js\";\n\nexport function getInitModel(modelType, data) {\n let model = {};\n let isLoadFromData = false;\n\n switch (modelType) {\n case MODEL_TYPE.consumerServerModel:\n isLoadFromData = true;\n model = bulkConsumerModel(data);\n break;\n case MODEL_TYPE.loyaltyRegisterVoucher:\n isLoadFromData = true;\n model = loyaltyRegisterVoucherModel(data);\n break;\n case MODEL_TYPE.referralSettings:\n isLoadFromData = true;\n model = referralSettingsModel(data);\n break;\n case MODEL_TYPE.loyaltyRegisterVoucherServerModel:\n isLoadFromData = true;\n model = loyaltyRegisterVoucherServerModel(data);\n break;\n case MODEL_TYPE.creditCard:\n isLoadFromData = true;\n model = cardServerModel(data);\n break;\n case MODEL_TYPE.editCustomerOrder:\n isLoadFromData = true;\n model = editCustomerOrderModel(data);\n break;\n case MODEL_TYPE.reconciliationsSettingsTemplateModel:\n isLoadFromData = true;\n model = reconciliationsSettingsTemplateModel(data);\n break;\n case MODEL_TYPE.reconciliationsPeriodTemplateModel:\n isLoadFromData = true;\n model = reconciliationsPeriodTemplateModel(data);\n break;\n case MODEL_TYPE.reconciliationsPeriodsTemplateModel:\n isLoadFromData = true;\n model = reconciliationsPeriodTemplateModel(data);\n break;\n case MODEL_TYPE.marketplaceCampaignModel:\n isLoadFromData = true;\n model = marketplaceCampaignModel(data);\n break;\n case MODEL_TYPE.messageGallery:\n isLoadFromData = true;\n model = messageGalleryModel(data);\n break;\n case MODEL_TYPE.messageGalleryServerModel:\n isLoadFromData = true;\n model = messageGalleryServerModel(data);\n break;\n case MODEL_TYPE.operationTiming:\n isLoadFromData = true;\n model = operationTimingModel(data);\n break;\n case MODEL_TYPE.order:\n model = orderModel;\n break;\n case MODEL_TYPE.orderEdit:\n model = getOrderModel(data);\n break;\n case MODEL_TYPE.location:\n isLoadFromData = true;\n model = locationModel(data);\n break;\n case MODEL_TYPE.routeEstimation:\n model = routeEstimationModel;\n break;\n case MODEL_TYPE.address:\n isLoadFromData = true;\n model = addressModel(data);\n break;\n case MODEL_TYPE.payments:\n isLoadFromData = true;\n model = paymentsModel(data);\n break;\n case MODEL_TYPE.content:\n model = contentModel;\n break;\n case MODEL_TYPE.addon:\n model = addonModel;\n break;\n case MODEL_TYPE.deliveryZoneModel:\n isLoadFromData = true;\n model = menuDeliveryZoneModel(data);\n break;\n case MODEL_TYPE.offerModel:\n isLoadFromData = true;\n model = offerModel(data);\n break;\n case MODEL_TYPE.businessInfoModel:\n isLoadFromData = true;\n model = businessInfoModel(data);\n break;\n case MODEL_TYPE.serviceCities:\n isLoadFromData = true;\n model = serviceCityServerModel(data);\n break;\n case MODEL_TYPE.businessInfoServerModel:\n isLoadFromData = true;\n model = businessInfoServerModel(data);\n break;\n case MODEL_TYPE.depotDeliveryPriceModel:\n model = depotDeliveryPriceModel();\n break;\n case MODEL_TYPE.regionDeliveryPriceModel:\n isLoadFromData = true;\n model = regionDeliveryPriceModel(data);\n break;\n case MODEL_TYPE.categoryProductModel:\n isLoadFromData = true;\n model = categoryProductModel(data);\n break;\n case MODEL_TYPE.categoryProductModelForOverride:\n isLoadFromData = true;\n model = categoryProductModelForOverride(data);\n break;\n case MODEL_TYPE.categoryProductModelOverride:\n isLoadFromData = true;\n model = createProductOverrideModel(data);\n break;\n case MODEL_TYPE.productOptionModel:\n isLoadFromData = true;\n model = productOptionModel(data);\n break;\n case MODEL_TYPE.extraModel:\n isLoadFromData = true;\n model = extraModel(data);\n break;\n case MODEL_TYPE.extraModelOverride:\n isLoadFromData = true;\n model = extraModelOverride(data);\n break;\n case MODEL_TYPE.extraModelWithOverrides:\n isLoadFromData = true;\n model = extraModelWithOverrides(data);\n break;\n case MODEL_TYPE.optionModelOverride:\n isLoadFromData = true;\n model = optionModelOverride(data);\n break;\n case MODEL_TYPE.optionModelWithOverrides:\n isLoadFromData = true;\n model = optionModelWithOverrides(data);\n break;\n case MODEL_TYPE.extraSuboptionModel:\n isLoadFromData = true;\n model = extraSuboptionModel(data);\n break;\n case MODEL_TYPE.suboptionsOverride:\n isLoadFromData = true;\n model = suboptionsOverrideModel(data);\n break;\n case MODEL_TYPE.suboptionsModelWithOverrides:\n isLoadFromData = true;\n model = suboptionsModelWithOverrides(data);\n break;\n case MODEL_TYPE.scheduleModel:\n isLoadFromData = true;\n model = scheduleModel(data);\n break;\n case MODEL_TYPE.refundModel:\n isLoadFromData = true;\n model = refundModel(data);\n break;\n case MODEL_TYPE.serviceFeeModel:\n isLoadFromData = true;\n model = serviceFeeModel(data);\n break;\n case MODEL_TYPE.listPromotionModel:\n isLoadFromData = true;\n model = listPromotionModel(data);\n break;\n case MODEL_TYPE.depotIntegrationModel:\n isLoadFromData = true;\n model = depotIntegrationModel(data);\n break;\n case MODEL_TYPE.depotIntegrationServerModel:\n isLoadFromData = true;\n model = depotIntegrationServerModel(data);\n break;\n case MODEL_TYPE.driverInfoModel:\n isLoadFromData = true;\n model = driverInfoModel(data);\n break;\n case MODEL_TYPE.priceInfoModel:\n isLoadFromData = true;\n model = priceInfoModel(data);\n break;\n case MODEL_TYPE.externalCycleModel:\n isLoadFromData = true;\n model = externalCycleModel(data);\n break;\n case MODEL_TYPE.serviceFeeServerModel:\n isLoadFromData = true;\n model = serviceFeeServerModel(data);\n break;\n case MODEL_TYPE.listPromotionServerModel:\n isLoadFromData = true;\n model = listPromotionServerModel(data);\n break;\n case MODEL_TYPE.refundServerModel:\n isLoadFromData = true;\n model = refundServerModel(data);\n break;\n case MODEL_TYPE.extraSuboptionServerModel:\n isLoadFromData = true;\n model = extraSuboptionServerModel(data);\n break;\n case MODEL_TYPE.extraServerModel:\n isLoadFromData = true;\n model = extraServerModel(data);\n break;\n case MODEL_TYPE.productOptionServerModel:\n isLoadFromData = true;\n model = productOptionServerModel(data);\n break;\n case MODEL_TYPE.categoryProductServerModel:\n isLoadFromData = true;\n model = categoryProductServerModel(data);\n break;\n case MODEL_TYPE.contentServerModel:\n isLoadFromData = true;\n model = contentServerModel(data);\n break;\n case MODEL_TYPE.assistanceServerModel:\n isLoadFromData = true;\n model = assistanceServerModel(data);\n break;\n case MODEL_TYPE.addonServerModel:\n isLoadFromData = true;\n model = addonServerModel(data);\n break;\n case MODEL_TYPE.addressServerModel:\n isLoadFromData = true;\n model = addressServerModel(data);\n break;\n case MODEL_TYPE.adminOrderProductServerModel:\n isLoadFromData = true;\n model = adminOrderProductServerModel(data);\n break;\n case MODEL_TYPE.locationServerModel:\n isLoadFromData = true;\n model = locationServerModel(data);\n break;\n case MODEL_TYPE.restaurantRegionServerModel:\n isLoadFromData = true;\n model = restaurantRegionServerModel(data);\n break;\n case MODEL_TYPE.user:\n isLoadFromData = true;\n model = userModel(data);\n break;\n case MODEL_TYPE.userServerModel:\n isLoadFromData = true;\n model = userServerModel(data);\n break;\n case MODEL_TYPE.credentialsServerModel:\n isLoadFromData = true;\n model = credentialsServerModel(data);\n break;\n case MODEL_TYPE.depot:\n isLoadFromData = true;\n model = depotModel(data);\n break;\n case MODEL_TYPE.depotServerModel:\n isLoadFromData = true;\n model = depotServerModel(data);\n break;\n case MODEL_TYPE.visualSettingsServerModel:\n isLoadFromData = true;\n model = visualSettingsServerModel(data);\n break;\n case MODEL_TYPE.depotUserModel:\n model = depotUserModel;\n break;\n case MODEL_TYPE.travelDataModel:\n model = travelDataModel;\n break;\n case MODEL_TYPE.region:\n isLoadFromData = true;\n model = regionModel(data);\n break;\n case MODEL_TYPE.reshipmentOrder:\n isLoadFromData = true;\n model = reshipmentOrder(data);\n break;\n case MODEL_TYPE.namedPlaces:\n isLoadFromData = true;\n model = namedPlaces(data);\n break;\n case MODEL_TYPE.categoryModel:\n isLoadFromData = true;\n model = categoryModel(data);\n break;\n case MODEL_TYPE.categoryModelOverride:\n isLoadFromData = true;\n model = categoryModelOverride(data);\n break;\n case MODEL_TYPE.categoryModelForOverride:\n isLoadFromData = true;\n model = categoryModelForOverride(data);\n break;\n case MODEL_TYPE.categoryServerModel:\n isLoadFromData = true;\n model = categoryServerModel(data);\n break;\n case MODEL_TYPE.namedPlacesServerModel:\n isLoadFromData = true;\n model = namedPlacesServerModel(data);\n break;\n case MODEL_TYPE.shifts:\n isLoadFromData = true;\n model = shiftModel(data);\n break;\n case MODEL_TYPE.currentShift:\n isLoadFromData = true;\n model = currentShift(data);\n break;\n case MODEL_TYPE.shiftServerModel:\n isLoadFromData = true;\n model = shiftServerModel(data);\n break;\n case MODEL_TYPE.currentShiftServerModel:\n isLoadFromData = true;\n model = currentShiftServerModel(data);\n break;\n case MODEL_TYPE.currentShiftDepotServerModel:\n isLoadFromData = true;\n model = currentShiftDepotServerModel(data);\n break;\n case MODEL_TYPE.controlCenterActivateServerModel:\n isLoadFromData = true;\n model = controlCenterActivateServerModel(data);\n break;\n case MODEL_TYPE.controlCenterDeactivateServerModel:\n isLoadFromData = true;\n model = controlCenterDeactivateServerModel(data);\n break;\n case MODEL_TYPE.controlCenterEdit:\n isLoadFromData = true;\n model = controlCenterEditServerModel(data);\n break;\n case MODEL_TYPE.depotDeliveryPriceServerModel:\n isLoadFromData = true;\n model = depotDeliveryPriceServerModel(data);\n break;\n case MODEL_TYPE.courierDeliveryFees:\n isLoadFromData = true;\n model = courierDeliveryFeesModel(data);\n break;\n case MODEL_TYPE.courierDeliveryFeesServer:\n isLoadFromData = true;\n model = courierDeliveryFeesServerModel(data);\n break;\n case MODEL_TYPE.driverTip:\n model = driverTipModel(data);\n break;\n case MODEL_TYPE.marketplaceSettings:\n model = marketplaceSettingsServerModel(data);\n isLoadFromData = true;\n break\n case MODEL_TYPE.marketplacePages:\n model = marketplacePagesModel(data);\n break;\n case MODEL_TYPE.menuTemplate:\n model = menuTemplateModel(data);\n break;\n case MODEL_TYPE.depotsMenuCopy:\n model = depotsMenuCopyModel(data);\n break;\n case MODEL_TYPE.marketplace:\n model = marketplaceModel(data);\n break;\n case MODEL_TYPE.parentMenu:\n model = parentMenuModel(data);\n break;\n case MODEL_TYPE.gallery:\n model = galleryModel(data);\n break;\n case MODEL_TYPE.reviewExtra:\n model = reviewExtraModel(data);\n break;\n case MODEL_TYPE.billingAddressModel:\n isLoadFromData = true;\n model = billingAddressModel(data);\n\t break;\n case MODEL_TYPE.provider:\n isLoadFromData = true;\n model = providerModel(data);\n break;\n case MODEL_TYPE.providers:\n isLoadFromData = true;\n model = providersModel(data);\n break;\n case MODEL_TYPE.cloudPrinters:\n isLoadFromData = true;\n model = cloudPrintersModel(data);\n break;\n case MODEL_TYPE.courierAppSettings:\n isLoadFromData = true;\n model = getCourierControlSettingsModel(data);\n break;\n case MODEL_TYPE.courierDisplaySettings:\n isLoadFromData = true;\n model = getCourierDisplaySettingsModel(data);\n break;\n case MODEL_TYPE.fleet:\n isLoadFromData = true;\n model = fleetModel(data);\n break;\n case MODEL_TYPE.fleetTelemetry:\n isLoadFromData = true;\n model = fleetTelemetryModel(data);\n break;\n case MODEL_TYPE.courierInterfaceSettings:\n isLoadFromData = true;\n model = getCourierInterfaceSettingsModel(data);\n break;\n case MODEL_TYPE.courierConfirmationSettings:\n isLoadFromData = true;\n model = getCourierConfirmationSettingsModel(data);\n break;\n case MODEL_TYPE.courierConfirmationSettingsServerModel:\n isLoadFromData = true;\n model = getCourierConfirmationSettingsServerModel(data);\n break;\n case MODEL_TYPE.reconciliations:\n isLoadFromData = true;\n model = reconciliationModel(data);\n break;\n default:\n break;\n }\n\n return !isLoadFromData && data\n ? {\n ...model,\n ...data\n }\n : model;\n}\n","export const currentShiftDepotServerModel = depot => ({\n depotId: depot.depotId,\n courierIds: depot.courierIds\n})\n\n","import {getISOTime} from \"../utils/convertTime\";\n\nexport const currentShiftServerModel = user => ({\n courierId: user.courierId || user.userId,\n shiftType: user.shiftType || 0,\n vehicleId: user.vehicleId || null,\n controlCenterId: user.controlCenterId || '',\n startTime: getISOTime(user.startTime),\n endTime: getISOTime(user.endTime),\n allowedDepots: user.allowedDepots\n})\n","import { getISOTime } from \"../utils/convertTime\";\n\nexport function shiftServerModel(shift) {\n return {\n ShiftId: shift.shiftId,\n StartDate: getISOTime(shift.startDate),\n EndDate: getISOTime(shift.endDate),\n VehiclePlateId: shift.vehiclePlateId,\n AdvancePayment: parseFloat(shift.advancePayment),\n Notes: shift.notes\n };\n}\n","export function categoryServerModel(category) {\n return {\n Name: category.name,\n Order: category.order,\n Enabled: category.enabled,\n Description: category.description\n };\n}","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function restaurantRegionServerModel(region) {\n return {\n Id: region.id,\n Name: region.name,\n MaxDeliveryTime: region.maxDeliveryTime,\n PendingOrdersGroupingTimeDelta: region.pendingOrdersGroupingTimeDelta,\n DefaultControlCenterId: region.defaultControlCenterId,\n Region: region.region.map(reg =>\n getInitModel(MODEL_TYPE.locationServerModel, reg)\n )\n };\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function assistanceServerModel(order) {\n return {\n Id: order.id,\n ParsedOrder: {\n Notes: order.notes,\n FirstName: order.firstName,\n LastName: order.lastName,\n CustomerPhone: order.customerPhone,\n OrderId: order.orderId,\n Date: order.date,\n PaymentInfo: order.paymentInfo,\n Amount: order.amount,\n Content: getInitModel(MODEL_TYPE.contentServerModel, order.content),\n Currency: order.currency,\n Takeaway: !!order.type,\n IsCache: order.isCache,\n IsHighPriority: order.isHighPriority,\n IsExtraSize: order.isExtraSize,\n TargetTime: order.targetTime,\n Payments: order.payments\n }\n };\n}\n","export const bulkConsumerModel = (data = {}) => {\n const model = {\n name: data?.name || '',\n id: data?.id,\n original_phone: data?.phone_valid?.original_value || '',\n delivery_type: data?.delivery_type || 0,\n original_city: data?.address_valid?.original_city || '',\n original_street: data?.address_valid?.original_street || '',\n original_notes: data?.address_valid?.original_notes || '',\n flat: data?.address_valid?.flat || '',\n storey: data?.address_valid?.storey || '',\n original_date: data?.datetime?.original_date || '',\n original_time: data?.datetime?.original_time || '',\n notes: data?.notes || ''\n }\n\n if(!data.id) {\n delete model.id;\n }\n\n return model;\n}","export const loyaltyRegisterVoucherModel = (data = {}) => {\n const model = {\n bonus: data.registrationBonus || 0,\n checkout_limit_percent: data.registrationBonusCheckoutLimitPercent || 0,\n bonus_expiration: data.registrationBonusExpiration || \"\",\n bonus_name: data.registrationBonusName || \"\",\n delivery_type: data.registrationBonusDeliveryType || null,\n }\n\n return model;\n}\n\nexport const loyaltyRegisterVoucherServerModel = (data = {}) => {\n const model = {\n RegistrationBonus: data.bonus || 0,\n RegistrationBonusCheckoutLimitPercent: data.checkout_limit_percent || 0,\n RegistrationBonusExpiration: data.bonus_expiration || \"\",\n RegistrationBonusName: data.bonus_name || \"\",\n RegistrationBonusDeliveryType: data.delivery_type || null,\n }\n\n return model;\n}\n\n","export const referralSettingsModel = (model) => {\n const item = model || {};\n\n return {\n logo: item.logo || '',\n logoSettings: item.logoSettings || {\n crop_mode: 0,\n gravity_mode: 0,\n quality: 90,\n quality_mode: 0,\n },\n referralBonus: item.referralBonus || 0,\n referredBonus: item.referredBonus || 0,\n enabled: item.enabled || 0,\n nameTranslations: item.nameTranslations || {},\n }\n}\n","export const cardServerModel = (model = {}) => {\n const card = {\n id: model?.id || \"\",\n cardMask: model?.cardMask || \"\",\n cardholderName: model?.cardholderName || \"\",\n expiry: model?.expiry || \"\",\n token: model?.token || \"\",\n type: model?.type || \"\",\n default: model?.default || false,\n provider: model?.provider || null,\n }\n\n if(!card.id) {\n delete card.id;\n }\n\n return card;\n}","export const messageGalleryModel = (data) => {\n const {title, file_settings, description, type, order, file} = data || {};\n return {\n file: file || '',\n title: title || '',\n file_settings: file_settings || {\n 'crop_mode': 0,\n 'gravity_mode': 0,\n 'quality': 0,\n 'quality_mode': 0\n },\n description: description || '',\n type: type || 0,\n order: order || 0,\n };\n}\n\nexport const messageGalleryServerModel = data => {\n const {title, file_settings, description, type, order} = data || {};\n return {\n title: title || '',\n file_settings: file_settings || {\n 'crop_mode': 0,\n 'gravity_mode': 0,\n 'quality': 0,\n 'quality_mode': 0\n },\n description: description || '',\n type: type || 0,\n order: order || 0,\n };\n}","export const operationTimingModel = data => ({\n name: (data && data.name) || \"\",\n waitingTimes: ((data && data.waitingTimes) || []).map(Number),\n marketplaceWaitingTimes: ((data && data.marketplaceWaitingTimes) || []).map(Number),\n maxDeliveryTime: (data && data.maxDeliveryTime) || 0,\n})","import { MODEL_TYPE } from \"../utils/enums\";\n\nexport function locationModel(data) {\n return {\n latitude: data ? (data.latitude || data.lat) : 0,\n longitude: data ? (data.longitude || data.lng) : 0,\n modelType: MODEL_TYPE.location\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nexport function addressModel(data) {\n const address = {\n city: \"\",\n country: \"\",\n entrance: \"\",\n notes: \"\",\n organization: \"\",\n postal: \"\",\n state: \"\",\n street: \"\",\n streetNumber: \"\",\n location: null,\n modelType: MODEL_TYPE.address\n };\n\n return data ? { ...address, ...data } : address;\n}\n","import { getDefaultLocation, getDefaultRegion } from \"../services/restaurant\";\n\nimport { DELIVERY_ZONE_TYPE } from \"../utils/enums\";\n\nexport function menuDeliveryZoneModel(data) {\n const item = data || {};\n const newItem = {\n id: item.id || \"\",\n data: item.data || {\n region: data.setDefaultRegion && getDefaultRegion((item.businessMenu || {}).location, true),\n circle: null,\n reference: null,\n delivery_zone_reference: null\n },\n enabled: item.enabled || false,\n minimum: item.minimum || 0,\n name: item.name || \"\",\n operation_profile: item.operation_profile || \"\",\n price: item.price || 0,\n type: item.type || DELIVERY_ZONE_TYPE.polygon,\n price_calculation_mode_bool: item.price_calculation_mode === 0 \n };\n \n if(!newItem.data.circle) {\n newItem.data.circle = { center: getDefaultLocation((item.businessMenu || {}).location), radio: 5 }\n }\n\n return newItem;\n}\n","import moment from 'moment';\n\nimport { getInitModel } from '../services/initModels';\nimport { MODEL_TYPE } from '../utils/enums';\n\nexport function offerModel(data) {\n const item = data || {};\n\treturn {\n\t coupon: item.coupon,\n\t description: item.description,\n\t end: item.end || moment().format(),\n\t id: item.id || \"\",\n\t limit: item.limit || 0,\n\t minimum: item.minimum || 0,\n\t name: item.name || \"\",\n\t rate: item.rate || 0,\n\t rate_type: item.rate_type || 0,\n\t start: item.start || moment().format(),\n\t title: item.title || \"\",\n\t type: item.type || 0,\n\t single_user: item.single_user || false,\n\t enable_schedule: item.enable_schedule || false,\n\t schedule: getInitModel(MODEL_TYPE.scheduleModel, item.schedule),\n\t order_type: item.order_type || 0,\n\t discount_target: item.discount_target,\n\t calculation_base: item.calculation_base,\n\t show_in_marketplace: item.show_in_marketplace,\n\t business_id: item.business_id,\n\t product_id: item.product_id,\n\t usage_limit: item.usage_limit,\n\t loyalty_level: item.loyalty_level ?? null,\n\t recurring_type: item.recurring_type,\n\t auto_add_quantity: item.auto_add_quantity,\n\t allow_multiple_discounts: item.allow_multiple_discounts,\n };\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function businessInfoModel(data) {\n let model = data || {};\n return {\n ...model,\n address: {\n address: getInitModel(MODEL_TYPE.address, { city: model.address_city, street: model.address }),\n location: getInitModel(MODEL_TYPE.location, model.location)\n },\n modelType: MODEL_TYPE.businessInfoModel\n }\n}\n\nexport function businessInfoServerModel(data) {\n let model = data || {};\n const address = (model.address && model.address.address) || {};\n const location = (model.address && model.address.location) || {};\n\n return {\n name: model.name,\n email: model.email,\n phone: model.phone,\n city: address.city,\n address: address.street,\n address_notes: model.address_notes,\n zipcode: model.zipcode,\n location: {\n lat: location.latitude,\n lng: location.longitude\n },\n kosher: model.kosher,\n minimum: model.minimum,\n always_deliver: model.always_deliver,\n about: model.about,\n description: model.description,\n enabled: model.enabled,\n disable_delivery: model.disable_delivery,\n disable_takeaway: model.disable_takeaway,\n allow_gift: model.allow_gift,\n message: model.message,\n message_enabled: model.message_enabled,\n header_settings: model.header_settings,\n header_mini_settings: model.header_mini_settings,\n disable_scheduled_orders: model.disable_scheduled_orders,\n disable_takeaway_scheduled_orders: model.disable_takeaway_scheduled_orders,\n minimum_takeaway: model.minimum_takeaway,\n disable_cutlery: model.disable_cutlery,\n cutlery_sku: model.cutlery_sku,\n general_item_sku: model.general_item_sku,\n temporary_disable_business: model.temporary_disable_business,\n temporary_disable_delivery: model.temporary_disable_delivery,\n temporary_disable_takeaway: model.temporary_disable_takeaway,\n }\n}\n","export const serviceCityServerModel = data => {\n return {\n Name: data && data.name,\n Location: data && data.location,\n AllowCityOnlyAddress: data && data.allowCityOnlyAddress,\n UseAsDefaultCity: data && data.useAsDefaultCity,\n }\n}","import { MODEL_TYPE } from \"../utils/enums\";\n\nexport function depotDeliveryPriceModel() {\n return {\n newRegionId: undefined,\n basisPrice: 0,\n deliveryPrice: 0,\n basisDistanceInMeters: 0,\n pricePerKm: 0,\n calculationMode: 0,\n regionConfigurations: new Array(0),\n minOrderCountToApplyPriceChange: 0,\n orderCountPriceChangeIncrement: 0,\n useAbsValueForOrderCountPriceChange: 0,\n modelType: MODEL_TYPE.depotDeliveryPriceModel\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getRegions } from \"../services/restaurant\";\n\nexport function regionDeliveryPriceModel(data) {\n const regions = getRegions();\n const region = regions.find(f => f.id === data.regionId);\n\n return {\n id: (region && region.id) || data.regionId || \"\",\n regionId: (region && region.id) || data.regionId || \"\",\n name: (region && region.name) || \"\",\n deliveryPrice: 0,\n modelType: MODEL_TYPE.regionDeliveryPriceModel\n };\n}\n","import {getWeekDays} from \"../utils/enums\";\n\nexport function scheduleModel(data) {\n\n return (data && data.length > 0)\n ? data.map((schedule, index)=> {\n const weekDay = getWeekDays().find(f=> f.key === index);\n return ({ ...schedule, id: index, name: weekDay.value });\n })\n : getWeekDays().map(weekDay=> ({ id: weekDay.key, name: weekDay.value, enabled: true, lapses: [] }));\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\n\nexport function refundModel(data) {\n const item = data || {};\n return {\n id: item.id,\n partial: item.partial || false,\n amount: item.amount || 0,\n notes: item.notes || \"\",\n payment_id: item.paymentId,\n modelType: MODEL_TYPE.refundModel\n };\n}","import { MODEL_TYPE } from \"../utils/enums\";\n\nexport function serviceFeeModel(data) {\n const item = data || {};\n return {\n enabled: item.enabled || false,\n fixValue: item.fixValue || 0,\n fixPercent: item.fixPercent || 0,\n modelType: MODEL_TYPE.serviceFeeModel\n };\n}\n\nexport function serviceFeeServerModel(data) {\n const item = data || {};\n return {\n Enabled: item.enabled || false,\n FixValue: item.fixValue || 0,\n FixPercent: item.fixPercent || 0\n };\n}","import {getCategories, getDepots, getMessages, getNameForCategory} from \"../services/restaurant\";\nimport { MARKETPLACE_SEARCH_TYPES } from \"../utils/enums\";\n\nexport function listPromotionModel(data) {\n\n const getBusinessIdsName = () => {\n switch (item.list_type){\n case MARKETPLACE_SEARCH_TYPES.none:\n const depots = getDepots();\n return (item.business_ids || new Array(0)).map(m=> {\n const depot = depots.find(f=> f.businessId === m);\n return { key: m, value: (depot || {}).name || \"\" };\n });\n case MARKETPLACE_SEARCH_TYPES.messages:\n const messages = getMessages();\n return (item.business_ids || new Array(0)).map(m=> {\n const message = messages.find(f=> f.id === m);\n return { key: m, value: (message || {}).label || (message || {}).title || \"\" };\n });\n case MARKETPLACE_SEARCH_TYPES.categories:\n const categories = getCategories();\n return (item.business_ids || new Array(0)).map(m=> {\n const category = categories.find(f=> f.id === m);\n return { key: m, value: getNameForCategory(category) };\n });\n default:\n return [];\n }\n }\n\n const item = data || {};\n return {\n id: item.id || \"\",\n label: item.label || \"\",\n name_translations: item.name_translations || \"\",\n list_type: item.list_type || MARKETPLACE_SEARCH_TYPES.none,\n business_ids: getBusinessIdsName(),\n order: item.order || 0,\n visible: item.visible || false,\n positioning: item.positioning,\n form_factor: item.form_factor,\n row_items_count: item.row_items_count,\n max_preview_size: item.max_preview_size,\n margins: item.margins,\n highlighted: item.highlighted,\n hide_video_controls: item.hide_video_controls,\n shuffle: item.shuffle,\n };\n}\n\nexport function listPromotionServerModel(data) {\n const item = data || {};\n return {\n Id: item.id,\n Name_translations: item.name_translations,\n List_type: item.list_type,\n Business_ids: item.business_ids.map(m=> m.key),\n Order: item.order,\n Visible: item.visible,\n Positioning: item.positioning,\n Form_factor: item.form_factor,\n Row_items_count: item.row_items_count,\n Max_preview_size: item.max_preview_size,\n Margins: item.margins,\n Label: item.label,\n Highlighted: item.highlighted,\n Hide_video_controls: item.hide_video_controls,\n Shuffle: item.shuffle,\n };\n}","import { INTEGRATION_TYPE } from \"../utils/enums\";\n\nexport function depotIntegrationModel(data) {\n const item = data || {};\n return {\n sourceId: item.sourceId || \"\",\n integrationType: item.integrationType || INTEGRATION_TYPE.none,\n skipDriverTip: item.skipDriverTip || false,\n useRegistrationDate: item.useRegistrationDate || false,\n disableDelete: item.disableDelete || false,\n enabled: item.enabled || false,\n skipCodeWords: item.skipCodeWords || [],\n };\n}\n\nexport function depotIntegrationServerModel(data) {\n const item = data || {};\n return {\n SourceId: item.sourceId || \"\",\n SkipDriverTip: item.skipDriverTip || false,\n UseRegistrationDate: item.useRegistrationDate || false,\n DisableDelete: item.disableDelete || false,\n Enabled: item.enabled || false,\n SkipCodeWords: item.skipCodeWords || [],\n };\n}","export function driverInfoModel(data) {\n const { name, carModel, carNumber, carColorHex, ext, phone, ttlSeconds } = data || {};\n\n return {\n name: name || \"\",\n carModel: carModel || \"\",\n carNumber: carNumber || \"\",\n carColorHex: carColorHex || \"\",\n ext: ext || \"\",\n phone: phone || \"\",\n ttlSeconds: ttlSeconds || \"\"\n }\n};","export function priceInfoModel(data) {\n const { currency, price } = data || {};\n\n return {\n currency: currency || \"\",\n price: price || \"\"\n }\n};","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getInitModel } from \"../services/initModels\";\nimport ColorService from \"../services/color\";\n\nexport function externalCycleModel(data) {\n const { \n id, \n providerName,\n provider,\n providerId,\n avatarUrl,\n controlCenterId,\n startTime,\n freeCancellation,\n approveValidity,\n state,\n orders,\n routeEstimation,\n driverInfo,\n priceInfo,\n color,\n travelData\n } = data || {};\n\n return {\n approveValidity,\n color: color || ColorService.instance.getColor(),\n controlCenterId: controlCenterId || \"\",\n driverInfo: driverInfo || getInitModel(MODEL_TYPE.driverInfoModel),\n freeCancellation: freeCancellation || false,\n id,\n isCourierGroup: true,\n isExternalGroup: true,\n orders: orders || [],\n priceInfo: priceInfo || getInitModel(MODEL_TYPE.priceInfoModel),\n provider, //enum: EXTERNAL_COURIER_PROVIDER\n providerName: providerName || \"\",\n routeEstimation: routeEstimation || getInitModel(MODEL_TYPE.routeEstimation),\n travelData: travelData || null,\n startTime,\n state, //enum: EXTERNAL_CYCLE_STATE,\n userId: id,\n providerId: providerId,\n avatarUrl: avatarUrl,\n }\n};","export function refundServerModel(data) {\n const item = data || {};\n return {\n Partial: item.partial || false,\n Amount: item.amount || 0,\n Notes: item.notes || \"\",\n Refund_channel: item.refund_channel,\n Refund_type: item.refund_type,\n Payment_id: item.payment_id,\n };\n}","export function extraSuboptionServerModel(data) {\n return {\n Name: data.name,\n Enabled: data.enabled,\n Description: data.description,\n Order: data.order,\n Price: data.price,\n\t\tSKU: data.sku,\n Max: data.max,\n Tag: data.tag,\n Image_settings: data.image_settings,\n }\n}","export function extraServerModel(data) {\n let model = data || {};\n\n return {\n Name: model.name || \"\",\n Enabled: model.enabled || false,\n Description: model.description || \"\"\n }\n}","import { objectKeysToUpperLowerCase } from \"../utils/objects-util\";\n\nexport function productOptionServerModel(data) {\n return objectKeysToUpperLowerCase(data, true);\n}","import { objectKeysToUpperLowerCase } from '../utils/objects-util';\nimport {fixedNumber} from \"../utils/math-util.js\";\n\nexport function categoryProductServerModel(data) {\n const formatedExtra = extras => {\n if (extras) {\n return extras\n .filter(e => e.enabled)\n .map(e => ({\n extra_id: e.id,\n overrides: e.overrides && e.overrides.map(el => ({ ...el, value: String(el.value) })),\n }));\n }\n };\n return {\n Id: data.id,\n Name: data.name,\n Price: data.price,\n SKU: data.sku,\n Description: data.description,\n Order: data.order,\n Featured: data.featured,\n Upselling: data.upselling,\n Enabled: data.enabled,\n Vegan: data.vegan,\n Vegetarian: data.vegetarian,\n Gluten_free: data.gluten_free,\n Spicy: data.spicy,\n Allow_comments: data.allow_comments,\n Ingredients: data.categoryIngredients\n ? objectKeysToUpperLowerCase(\n data.categoryIngredients.map(ingredient => {\n return (\n data.ingredients.find(f => f.name === ingredient) || {\n name: ingredient,\n image: null,\n image_settings: null,\n }\n );\n })\n )\n : objectKeysToUpperLowerCase(data.ingredients, true),\n Image_settings: data.image_settings,\n Enable_schedule: data.enable_schedule,\n Preorder_schedule: data.preorder_schedule,\n Schedule: data.schedule,\n Max: data.max,\n Price_before_discount: data.price_before_discount,\n Extras: data.extras ? formatedExtra(data.extras) : formatedExtra(data.categoryExtras),\n Tag: data.tag,\n Unit_weight: data.unit_weight || 0,\n Weighed: data.weighed || false,\n Weight_range: fixedNumber(data.weight_range / 100, 2) || 0,\n };\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\nexport function contentServerModel(content) {\n const contentModel = getInitModel(MODEL_TYPE.content);\n if (!content) {\n return {\n Addons: contentModel.addons,\n Item: contentModel.item,\n Price: contentModel.price,\n Quantity: contentModel.quantity\n };\n } else {\n return {\n Addons: content.addons\n ? content.addons.map(addon =>\n getInitModel(MODEL_TYPE.addonServerModel, addon)\n )\n : contentModel.addons,\n Item: content.item || contentModel.item,\n Price: content.price || contentModel.price,\n Quantity: content.quantity || contentModel.quantity\n };\n }\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function addonServerModel(addon) {\n const addonModel = getInitModel(MODEL_TYPE.addon);\n return {\n Item: addon.item || addonModel.item,\n Price: addon.price || addonModel.price,\n Quantity: addon.quantity || addonModel.quantity\n };\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\nexport function addressServerModel(address) {\n const addressModel = getInitModel(MODEL_TYPE.address);\n return {\n City: address.city || addressModel.city,\n Country: address.country || addressModel.country,\n Entrance: address.entrance || addressModel.entrance,\n Notes: address.notes || addressModel.notes,\n Organization: address.organization || addressModel.organization,\n Postal: address.postal || addressModel.postal,\n State: address.state || addressModel.state,\n Street: address.street || addressModel.street,\n StreetNumber: address.streetNumber || addressModel.streetNumber\n };\n}\n","export function adminOrderProductServerModel(product) {\n const item = product || {};\n const newItem = {\n id: item.id,\n name: item.name,\n ingredients: item.ingredients || [],\n options: (item.options || []).map(option=> ({\n id: option.id,\n suboptions: option.suboptions.map(suboption=> ({\n id: suboption.id,\n price: suboption.price,\n quantity: suboption.quantity,\n half_option: suboption.half_option\n }))\n })),\n price: item.price,\n full_price: item.full_price,\n quantity: item.quantity\n };\n \n return newItem;\n}","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\nexport function locationServerModel(location) {\n const locationModel = getInitModel(MODEL_TYPE.location, location);\n return {\n Latitude: locationModel.latitude,\n Longitude: locationModel.longitude\n };\n}\n","import { getDefaultUserRolesValue, getFullName, separateName } from \"../services/userModel\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function userModel(user) {\n const userData = user || {};\n \n return {\n allowOpenShift: userData.allowOpenShift || false,\n allowedControlCenters: userData.allowedControlCenters || [],\n capacity: userData.capacity || 0,\n creationDate: userData.creationDate,\n depotId: userData.depotId,\n defaultControlCenterId: userData.defaultControlCenterId,\n email: userData.email || \"\",\n firstName: userData.firstName || \"\",\n fullName: getFullName(userData),\n hasPassword: userData.hasPassword || false,\n hourlyRate: userData.hourlyRate || 0,\n id: userData.id,\n lastName: userData.lastName || \"\",\n phoneNumber: userData.phoneNumber || \"\",\n roles: {\n ...getDefaultUserRolesValue(),\n ...(userData.roles || {}) \n },\n userName: userData.userName,\n workerId: userData.workerId,\n salaryCalculationMode: userData.salaryCalculationMode || 0,\n userId: userData.userId,\n vehicleType: userData.vehicleType,\n modelType: MODEL_TYPE.user,\n salaryCalculationProfileId: userData.salaryCalculationProfileId,\n }\n}\n\nexport function userServerModel(user) {\n const userData = user || {};\n const name = separateName(userData.fullName);\n\n return {\n AllowOpenShift: userData.allowOpenShift || false,\n AllowedControlCenters: userData.allowedControlCenters || [],\n Capacity: userData.capacity || 0,\n CreationDate: userData.creationDate,\n DefaultControlCenterId: userData.defaultControlCenterId,\n Email: userData.email || \"\",\n FullName: userData.fullName,\n FirstName: name.firstName,\n HasPassword: userData.hasPassword || false,\n HourlyRate: userData.hourlyRate || 0,\n LastName: name.lastName,\n PhoneNumber: userData.phoneNumber || \"\",\n Roles: Object.keys(userData.roles || [])\n .filter(key=> userData.roles && userData.roles[key])\n .map(key=> ({ Name: key.toFirstCharUpperCase() })),\n UserName: userData.userName,\n WorkerId: userData.workerId,\n SalaryCalculationMode: userData.salaryCalculationMode || 0,\n VehicleType: userData.vehicleType,\n SalaryCalculationProfileId: userData.salaryCalculationProfileId,\n }\n}","export function credentialsServerModel(data) {\n return {\n UserName: data.userName || \"\",\n Password: data.newPassword || \"\"\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getInitModel } from \"../services/initModels\";\n\nexport function depotModel(data) {\n const depot = {\n avatar: null,\n id: \"\",\n name: \"\",\n\tadministrativeName: \"\",\n address: {\n address: getInitModel(MODEL_TYPE.address),\n location: getInitModel(MODEL_TYPE.location)\n },\n hasPassword: false,\n hideCouriers: false,\n autoExternalAssignment: false,\n allowOrderCreation: false,\n userName: \"\",\n phone: \"\",\n integrations: [],\n maximumArrivalTime: 0,\n maxDeliveryTime: 0,\n maxOrderCoolingTime: 0,\n preorderTimeWindowEpsilon: 0,\n defaultControlCenterId: null,\n color: null,\n modelType: MODEL_TYPE.depot,\n smsBrand: null,\n depotAsControlCenter : false\n };\n\n return data\n ? { ...depot, ...data, id: data.id || data.depotId || \"\" }\n : depot;\n}\n","import { getInitModel } from \"../services/initModels\";\nimport { MODEL_TYPE } from \"../utils/enums\";\n\nexport function depotServerModel(data) {\n return {\n Id: data.id,\n Name: data.name,\n Address: {\n Address: getInitModel(\n MODEL_TYPE.addressServerModel,\n data.address.address\n ),\n Location: getInitModel(\n MODEL_TYPE.locationServerModel,\n data.address.location\n )\n },\n Phone: data.phone,\n MaximumArrivalTime: data.maximumArrivalTime,\n MaxDeliveryTime: data.maxDeliveryTime,\n MaxOrderCoolingTime: data.maxOrderCoolingTime,\n\tAdministrativeName: data.administrativeName,\n PreorderTimeWindowEpsilon: data.preorderTimeWindowEpsilon,\n DefaultControlCenterId: data.defaultControlCenterId,\n HideCouriers: data.hideCouriers,\n AutoExternalAssignment: data.autoExternalAssignment,\n AllowOrderCreation: data.allowOrderCreation,\n Color: data.color,\n SmsBrand : data.smsBrand,\n DepotAsControlCenter : data.depotAsControlCenter\n };\n}\n","export function visualSettingsServerModel(data) {\n return {\n IsHideDeliveryRegions: data.isHideDeliveryRegions,\n IsShowTraffic: data.isShowTraffic,\n IsHideTakeawayGroup: !data.isHideTakeawayGroup,\n IsHidePreordersGroup: !data.isHidePreordersGroup,\n PendingOrdersPanelLocation: data.pendingOrdersPanelLocation ? 0 : 1,\n CouriersPanelLocation: data.couriersPanelLocation ? 0 : 1,\n CourierColorScheme: data.courierColorScheme ? 0 : 1,\n DefaultDashboardMode: data.defaultDashboardMode ? 0 : 1,\n TimeTillAutoSnooze: data.timeTillAutoSnooze,\n EnableAlarmPopups: data.enableAlarmPopups,\n VisualizeReadinessTime: !data.visualizeReadinessTime,\n OrdersColors: data.ordersColors,\n newOrderSoundNotification: data.newOrderSoundNotification,\n SnoozeTimeout: data.snoozeTimeout,\n OrderNotDeliveredInTimeNotificationEnabled: data.orderNotDeliveredInTimeNotificationEnabled,\n CourierComingBackEnabled: data.courierComingBackEnabled,\n CourierWrongRouteEnabled: data.courierWrongRouteEnabled,\n CourierReadyToDispatchEnabled: data.courierReadyToDispatchEnabled,\n AssistanceExistsEnabled: data.assistanceExistsEnabled,\n CourierStoppedEnabled: data.courierStoppedEnabled,\n BoxLostEnabled: data.boxLostEnabled,\n CourierLostEnabled: data.courierLostEnabled,\n OrderCanLateEnabled: data.orderCanLateEnabled,\n SortOrdersBasedOnReadinessTime: data.sortOrdersBasedOnReadinessTime,\n ShowAllDepotsOnMap: data.showAllDepotsOnMap,\n ConsumerOrderCreatedNotificationEnabled : data.consumerOrderCreatedNotificationEnabled,\n IsShowExtraSizeGroup: data.isShowExtraSizeGroup,\n IsHideOrderId: data.isHideOrderId,\n ShowOrderIdOnMap: data.showOrderIdOnMap,\n FilterMapObjectsByControlCenter: data.filterMapObjectsByControlCenter,\n AlwaysShowOrderTargetTime: data.alwaysShowOrderTargetTime\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getDefaultRegion, getRegions } from \"../services/restaurant\";\nimport i18n from \"../i18n\";\n\nexport function regionModel(data) {\n const regions = getRegions();\n const id = (data || {}).id || (regions.length\n ? regions?.sort((a, b) => b.id - a.id)[0][\"id\"] + 1\n : 0);\n const region = {\n id: id,\n name: i18n.t(\"mapEditor.NEW_REGION_NAME\") + id,\n region: ((data || {}).setDefaultRegion && getDefaultRegion()) || [],\n maxDeliveryTime: null,\n pendingOrdersGroupingTimeDelta: null,\n defaultControlCenterId: null,\n modelType: MODEL_TYPE.region\n };\n\n return { ...region, ...(data || {}) };\n}\n","import { MODEL_TYPE, RESHIPMENT_TYPE } from \"../utils/enums\";\nexport function reshipmentOrder(data) {\n return {\n products: (data.products || []).map(product=> ({ ...product, enabled: false })),\n reshipment_type: data.reshipment_type || RESHIPMENT_TYPE.marketplaceResponsibility,\n notes: data.notes || \"\",\n currency: data.currency,\n modelType: MODEL_TYPE.reshipmentOrder\n };\n}","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getInitModel } from \"../services/initModels\";\nexport function namedPlaces(data) {\n const item = data || {};\n return {\n id: item.id,\n name: item.name || \"\",\n address: item.address || {\n address: getInitModel(MODEL_TYPE.address),\n location: getInitModel(MODEL_TYPE.location)\n },\n region: item.region || [],\n modelType: MODEL_TYPE.namedPlaces\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\nimport { getInitModel } from \"../services/initModels\";\nexport function namedPlacesServerModel(data) {\n const item = data || {};\n return {\n Name: item.name || \"\",\n Address: {\n Address: getInitModel(\n MODEL_TYPE.addressServerModel,\n item.address.address\n ),\n Location: getInitModel(\n MODEL_TYPE.locationServerModel,\n item.address.location\n )\n },\n Region: item.region.map(reg =>\n getInitModel(MODEL_TYPE.locationServerModel, reg)\n )\n };\n}\n","import { MODEL_TYPE } from \"../utils/enums\";\n\nexport function shiftModel(shift) {\n const data = shift || {};\n const region = {\n advancePayment: data.advancePayment || 0,\n controlCenterId: data.controlCenterId || \"\",\n courierName: data.courierName || \"\",\n distanceTraveled: data.distanceTraveled || 0,\n endDate: data.endDate || null,\n notes: data.notes || \"\",\n restaurantName: data.restaurantName || \"\",\n shiftId: data.shiftId || \"\",\n shiftType: data.shiftType || 0,\n startDate: data.startDate || \"\",\n timeSpent: data.timeSpent || 0,\n totalUnloadTime: data.totalUnloadTime || 0,\n vehiclePlateId: data.vehiclePlateId || null,\n modelType: MODEL_TYPE.shifts\n };\n\n return data ? { ...region, ...data } : region;\n}\n","export const currentShift = user => {\n const data = user.cycle || {};\n const shift = {\n userId: user.userId,\n shiftId: data.shiftId || '',\n allowedDepots: data.allowedDepots || [],\n startTime: data.startTime || '',\n endTime: data.endTime || ''\n };\n\n return data ? { ...shift, ...data } : shift;\n}","export function controlCenterActivateServerModel(data) {\n return {\n UserId: data.userId,\n ControlCenterId: data.controlCenterId,\n PullOrders: data.pullOrders\n };\n}\n","export function controlCenterDeactivateServerModel(data) {\n return {\n ControlCenterId: data.controlCenterId,\n MoveDataToControlCenterId: data.moveDataToControlCenterId,\n\tBackUpControlCenterId: data.backUpControlCenterId,\n EnableSchedule: data.enable_schedule,\n Schedule: data.schedule,\n };\n}\n","export const controlCenterEditServerModel = (data) => ({\n CourierAssociationMode: data.courierAssociationMode,\n PullFromAnyControlCenter: data.pullFromAnyControlCenter,\n AutomaticExtendCycle: data.automaticExtendCycle,\n AutomaticApproveCycle: data.automaticApproveCycle,\n RunCourierAppInPointByPointMode: data.runCourierAppInPointByPointMode,\n EnableCollectOrdersStepAtPickup: data.enableCollectOrdersStepAtPickup,\n RunCourierAppInPointByPointModeAfterApprove: data.runCourierAppInPointByPointModeAfterApprove\n})","export function depotDeliveryPriceServerModel(price) {\n const { deliveryPrice, basisPrice, calculationMode, basisDistanceInMeters, pricePerKm, regionConfigurations } = price || {};\n\n return {\n DeliveryPrice: deliveryPrice,\n BasisPrice: basisPrice,\n CalculationMode: calculationMode,\n BasisDistanceInMeters: basisDistanceInMeters,\n PricePerKm: pricePerKm,\n RegionConfigurations: (regionConfigurations || []).map(val => ({\n RegionId: val.id || val.regionId,\n DeliveryPrice: val.deliveryPrice || 0\n }))\n };\n}","import { getRegions } from '../services/restaurant';\nimport { MODEL_TYPE, PRICE_CALCULATION_MODE } from '../utils/enums';\nimport {fixedNumber} from \"../utils/math-util.js\";\n\nexport function courierDeliveryFeesModel(data) {\n const objData = {...(data || {})};\n const regions = getRegions();\n\n if(!objData.useAbsValueForOrderCountPriceChange) {\n objData.orderCountPriceChangeIncrement = fixedNumber(objData.orderCountPriceChangeIncrement * 100, 2);\n }\n\n return {\n calculationMode: objData.calculationMode || PRICE_CALCULATION_MODE.fixedRegionBased,\n basisPrice: objData.basisPrice || 0,\n maxDeliveryPrice: objData.maxDeliveryPrice || 0,\n pricePerKm: objData.pricePerKm || 0,\n basisDistanceInMeters: objData.basisDistanceInMeters || 0,\n regionConfigurations: (objData.regionConfigurations || new Array(0)).map(regionConfiguration=> {\n const region = regions.find(f=> f.id === regionConfiguration.regionId) || {};\n\n return {\n ...regionConfiguration,\n id: region.id || regionConfiguration.regionId,\n name: region.name || \"\"\n }\n }),\n minOrderCountToApplyPriceChange: objData.minOrderCountToApplyPriceChange || 0,\n orderCountPriceChangeIncrement: objData.orderCountPriceChangeIncrement || 0,\n useAbsValueForOrderCountPriceChange: objData.useAbsValueForOrderCountPriceChange || false,\n id: objData.id || null,\n name: objData.name || null,\n modelType: MODEL_TYPE.courierDeliveryFees\n };\n}\n\nexport function courierDeliveryFeesServerModel(data) {\n const objData = {...(data || {})};\n\n if(!objData.useAbsValueForOrderCountPriceChange) {\n objData.orderCountPriceChangeIncrement = fixedNumber(objData.orderCountPriceChangeIncrement / 100, 2);\n }\n\n const body = {\n MinOrderCountToApplyPriceChange: objData.minOrderCountToApplyPriceChange || 0,\n OrderCountPriceChangeIncrement: objData.orderCountPriceChangeIncrement || 0,\n UseAbsValueForOrderCountPriceChange: objData.useAbsValueForOrderCountPriceChange || false,\n CalculationMode: objData.calculationMode || PRICE_CALCULATION_MODE.fixedRegionBased,\n BasisPrice: objData.basisPrice || 0,\n MaxDeliveryPrice: objData.maxDeliveryPrice || 0,\n DeliveryPrice: objData.deliveryPrice || 0,\n PricePerKm: objData.pricePerKm || 0,\n Name: objData.name || null,\n BasisDistanceInMeters: objData.basisDistanceInMeters || 0,\n RegionConfigurations: (objData.regionConfigurations || []).map(val => ({\n RegionId: val.id || val.regionId,\n DeliveryPrice: val.deliveryPrice || 0\n }))\n };\n\n if(objData.id) {\n body.Id = objData.id;\n }\n\n return body;\n}","export function driverTipModel(data) {\n const { predefinedValues, maxValue, enabled } = data || {};\n return {\n predefinedValues: predefinedValues || [],\n maxValue: maxValue || 0,\n enabled: enabled || false\n }\n};\n","export const marketplaceSettingsServerModel = (data = {}) => {\n return {\n AllowMultipleDiscounts: data.allowMultipleDiscounts || false,\n ScoringEnabled: data.scoringEnabled || false,\n RequireVerifiedPhoneOnCash: data.requireVerifiedPhoneOnCash || false,\n RequireVerifiedPhoneOnCard: data.requireVerifiedPhoneOnCard || false,\n RequirePhoneVerificationOnProfile: data.requirePhoneVerificationOnProfile || false,\n TermsAndConditionsUrl: data.termsAndConditionsUrl || null,\n PrivacyPolicyUrl: data.privacyPolicyUrl || null,\n HeaderSettings: data.headerSettings || null,\n AccessibilityPolicyUrl: data.accessibilityPolicyUrl || null,\n AccessibleSiteUrl: data.accessibleSiteUrl || null,\n }\n}","export function marketplacePagesModel(data) {\n const { id, enabled, title, category, slug, body, banner, banner_settings, order, language, link } = data || {};\n return {\n id: id || \"\",\n enabled: enabled || false,\n title: title || \"\",\n category: category || \"\",\n slug: slug || \"\",\n body: body || \"\",\n banner: banner || \"\",\n banner_settings: banner_settings || ({\n \"crop_mode\": 0,\n \"gravity_mode\": 0,\n \"quality\": 0,\n \"quality_mode\": 0\n }),\n order: order || 0,\n language: language || \"\",\n link: link || \"\"\n }\n}\n","export function menuTemplateModel(data) {\n const { id, name, business_id } = data || {};\n return {\n id: id || \"\",\n name: name || \"\",\n business_id: business_id || \"\",\n }\n}\n","export function depotsMenuCopyModel(data) {\n const { id, template_id, global_template_id, business_id, type } = data || {};\n\n return {\n id: id || \"\",\n template_id: template_id || \"\",\n global_template_id: global_template_id || \"\",\n business_id: business_id || \"\",\n type: type || null\n }\n}\n","export function marketplaceModel(data) {\n const {\n enabled, tag, title, secondary_title, message, list_type, type, business_id, banner, banner_settings, language, product_id, label, action_button_title\n } = data || {};\n\n return {\n enabled: enabled,\n tag: tag || \"\",\n title: title || \"\",\n label: label || \"\",\n secondary_title: secondary_title || \"\",\n message: message || \"\",\n list_type: list_type || 0,\n type: type || 0,\n business_id: business_id || \"\",\n banner: banner || null,\n banner_settings: banner_settings || null,\n language: language || \"\",\n product_id: product_id || null,\n action_button_title: action_button_title || \"\",\n }\n}\n","import {EXTRA_TYPES} from \"../utils/enums\";\n\nexport const reviewExtraModel = (data) => {\n const item = (data && [data]) || []\n const items = [];\n\n for(let extra of item) {\n items.push({...extra, tabMode: 0, extraType: EXTRA_TYPES.extra});\n for(let option of extra.options) {\n items.push({...option, tabMode: 1, extraType: EXTRA_TYPES.option});\n for(let suboption of option.suboptions) {\n items.push({...suboption, tabMode: 2, extraType: EXTRA_TYPES.suboption});\n }\n }\n }\n\n return {\n data: items\n };\n};","export function billingAddressModel(data) {\n const model = data || {};\n const address = model.address || {};\n\n return {\n id: model.id || \"\",\n firstName: model.firstName || \"\",\n lastName: model.lastName || \"\",\n company: model.company || \"\",\n email: model.email || \"\",\n phone: model.phone || \"\",\n address: {\n country: address.country || \"\",\n city: address.city || \"\",\n postalCode: address.postalCode || \"\",\n street1: address.street1 || \"\",\n street2: address.street2 || \"\",\n region: address.region || \"\"\n },\n isActive: false\n }\n}","import {PROVIDERS_TYPE_MODEL} from \"../utils/enums.js\";\n\nexport const providersModel = (item = {}) => {\n if(!item || !item.provider) {\n return {provider: null}\n }\n switch(item.provider) {\n case PROVIDERS_TYPE_MODEL.Yango:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n host: (item && item.host) ? item.host : \"\",\n correctionThresholdInMeter: (item && item.correctionThresholdInMeter) ? item.correctionThresholdInMeter : \"\",\n emergencyContactName: (item && item.emergencyContactName) ? item.emergencyContactName : \"\",\n emergencyContactPhone: (item && item.emergencyContactPhone) ? item.emergencyContactPhone : \"\",\n token: (item && item.token) ? item.token : \"\",\n useOrderId: (item && item.useOrderId) ? item.useOrderId : false,\n useYangoGeolocation: (item && item.useYangoGeolocation) ? item.useYangoGeolocation : false,\n }\n case PROVIDERS_TYPE_MODEL.Wolt:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n userOrderId: (item && item.userOrderId) ? item.userOrderId : \"\",\n merchantId: (item && item.merchantId) ? item.merchantId : \"\",\n supportEmail: (item && item.supportEmail) ? item.supportEmail : \"\",\n supportPhone: (item && item.supportPhone) ? item.supportPhone : \"\",\n host: (item && item.host) ? item.host : \"\",\n }\n case PROVIDERS_TYPE_MODEL.DoorDash:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n developerId: (item && item.developerId) ? item.developerId : \"\",\n keyId: (item && item.keyId) ? item.keyId : \"\",\n signingSecret: (item && item.signingSecret) ? item.signingSecret : \"\",\n }\n case PROVIDERS_TYPE_MODEL.Sendiman:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n user: (item && item.user) ? item.user : \"\",\n password: (item && item.password) ? item.password : \"\",\n testMode: (item && item.testMode) ? item.testMode : \"\",\n isInDebugMode: (item && item.isInDebugMode) ? item.isInDebugMode : \"\",\n }\n case PROVIDERS_TYPE_MODEL.Haat:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n testMode: (item && item.testMode) ? item.testMode : \"\"\n }\n case PROVIDERS_TYPE_MODEL.Gett:\n return {\n provider: (item && item.provider) ? item.provider : \"\",\n businessId: (item && item.businessId) ? item.businessId : \"\",\n clientId: (item && item.clientId) ? item.clientId : \"\",\n clientSecret: (item && item.clientSecret) ? item.clientSecret : \"\",\n productId: (item && item.productId) ? item.productId : \"\"\n }\n default:\n return { }\n }\n}\n","\nexport const cloudPrintersModel = (item = {}) => {\n\n return {\n id: item?.id || \"\",\n prnID: item?.prnID || \"\",\n language: item?.language || \"\",\n autoPrintBon: item?.autoPrintBon || \"\",\n autoPrintNewOrderNotification: item?.autoPrintNewOrderNotification || \"\",\n }\n}\n","export const getCourierControlSettingsModel = (data = {}) => {\n return {\n DoNotAllowCycleRejectByCourier: data.doNotAllowCycleRejectByCourier,\n DoNotAllowPullWithoutLocation: data.doNotAllowPullWithoutLocation,\n EnableAwayControlByCourier: data.enableAwayControlByCourier,\n ManagerOnlyShiftControl: data.managerOnlyShiftControl,\n RunCourierAppInPointByPointMode: data.runCourierAppInPointByPointMode,\n LockTasksOrderInCourierApp: data.lockTasksOrderInCourierApp,\n ArrivalDistanceThresholdInMeters: data.arrivalDistanceThresholdInMeters,\n };\n}","export const getCourierDisplaySettingsModel = (data = {}) => {\n return {\n \n ShowBusinessDeliveryPriceInCourierApp: data.showBusinessDeliveryPriceInCourierApp,\n ShowOrderContentAtPickup: data.showOrderContentAtPickup,\n ShowCourierPaymentInApp: data.showCourierPaymentInApp,\n ShowCourierTipInApp: data.showCourierTipInApp,\n ShowLatestOrderReadinessTimeAtPickup : data.showLatestOrderReadinessTimeAtPickup,\n };\n};","export function fleetModel(data) {\n const result = {\n producer: (data?.producer || data?.producer === 0) ? data?.producer : null,\n vehicleType: (data?.vehicleType || data?.vehicleType === 0) ? data?.vehicleType : 0,\n serialNumber: data?.serialNumber || \"\",\n capacity: data?.capacity || null,\n description: data?.description || \"\",\n plateNumber: data?.plateNumber || null,\n };\n\n return result;\n}\n\nexport function fleetTelemetryModel(data) {\n const result = {\n lat: data?.lat || \"\",\n lng: data?.lng || \"\",\n speed: data?.speed ? `${data?.speed} km/h` : \"0.0 km/h\",\n batteryLevel: data?.batteryLevel ? `${data?.batteryLevel} %` : '0 %',\n readyOn: data?.readyOn || 'false',\n fallState: data?.fallState || \"false\",\n ignitionOn: data?.ignitionOn || 'off',\n totalMileage: data?.totalMileage ? `${(data?.totalMileage / 1000).toFixed(1)} km` : \"\",\n vibrationState: data?.vibrationState || \"false\",\n plateNumber: data?.vehicleData?.plateNumber || \"\",\n vehicleType: (data?.vehicleData?.vehicleType || data?.vehicleData?.vehicleType === 0) ? data?.vehicleData?.vehicleType : \"\",\n vehicleId: data?.vehicleData?.vehicleId || \"\",\n location: data?.location || null,\n };\n\n return result;\n}\n","export const getCourierInterfaceSettingsModel = (data = {}) => {\n return {\n HideFinishButtonInCourierApp: data.hideFinishButtonInCourierApp,\n MultiSelectionInCourierApp: data.multiSelectionInCourierApp,\n ShowPODScreenInCourierApp: data.showPODScreenInCourierApp,\n UseAddressForNavigation: data.useAddressForNavigation,\n EnableCollectOrdersStepAtPickup: data.enableCollectOrdersStepAtPickup,\n RemoveClosedOrdersFromCycle: data.removeClosedOrdersFromCycle,\n };\n}","import {COURIER_CONFIRMATION_OPTION} from \"../utils/enums.js\";\n\nexport const getCourierConfirmationSettingsModel = (data = {}) => {\n const courierConfirmationOptions = [];\n for(const key in COURIER_CONFIRMATION_OPTION) {\n if(data[key]) {\n courierConfirmationOptions.push(COURIER_CONFIRMATION_OPTION[key]);\n }\n }\n\n return {\n CourierConfirmationOptions: courierConfirmationOptions,\n CourierWaitingApproveTimeout: data.courierWaitingApproveTimeout ?? 0,\n RejectCycleOnCourierApproveTimeout: data.rejectCycleOnCourierApproveTimeout ?? false,\n };\n}\n\nexport const getCourierConfirmationSettingsServerModel = (data = {}) => {\n const courierConfirmationOptions = {};\n for(const key in COURIER_CONFIRMATION_OPTION) {\n if(data.courierConfirmationOptions.includes(COURIER_CONFIRMATION_OPTION[key])) {\n courierConfirmationOptions[key] = true;\n } else {\n courierConfirmationOptions[key] = false;\n }\n }\n\n return {\n ...courierConfirmationOptions,\n courierWaitingApproveTimeout: data.courierWaitingApproveTimeout ?? 0,\n rejectCycleOnCourierApproveTimeout: data.rejectCycleOnCourierApproveTimeout ?? false,\n };\n}","import {MODEL_TYPE} from \"../utils/enums.js\";\n\nexport function reconciliationModel(reconciliations) {\n const data = reconciliations || {};\n const region = {\n modelType: MODEL_TYPE.reconciliations\n };\n\n return data ? { ...region, ...data } : region;\n}\n","export default class SectionModel {\n constructor({\n filterOptions = {},\n columns = [],\n tag = null,\n key = 'id',\n sortByFunc,\n actionName,\n initNewItemModel,\n typeAction,\n urlNewItem,\n showDeleteButton = true,\n isPasswordConfirm,\n stayAfterSave,\n stayAfterApprove,\n footer,\n typeModel,\n parentUrl,\n controls,\n triggerControls,\n tabsControls,\n tableMinWidth,\n isHideControls,\n mappingLambda,\n actionLoad,\n actionOnUnmount,\n saveControlsConfig,\n controlSettings,\n rangePickerAction,\n isCustomEditIcon,\n editControlsConfig,\n isDraggable,\n dragActionName,\n dragSortPropName = 'order',\n editAction,\n isLayoutForm,\n tabs,\n hideCellForSort,\n hideHeaderItemControls,\n tableHeaderControlsWidth,\n editCheckExcludedProps,\n isHideSaveButton,\n isShowSaveConfirmDialog,\n disableGlobalKeyDown,\n businessId,\n checkActiveButtonFromModel,\n markModelAsChanged,\n isMarkedModelAsChanged,\n isForceUpdate,\n stayAfterSaveFn,\n title,\n label,\n breadcrumbs,\n additionalInformation,\n getLabel,\n actionPagination,\n disabledIfEmpty,\n isNumberValue,\n withSearch,\n searchDataId,\n controlSelect,\n shouldCallActionFromSideMenu,\n showNeedSave,\n skipUpdateFilterOptions,\n fixScroll,\n customSettings,\n paginationKey,\n showFilterValueInHeader,\n }) {\n this.filterOptions = filterOptions;\n this.columns = columns;\n this.tag = tag;\n this.key = key;\n this.actionName = actionName;\n this.initNewItemModel = initNewItemModel;\n this.typeAction = typeAction;\n this.urlNewItem = urlNewItem;\n this.showDeleteButton = showDeleteButton;\n this.isPasswordConfirm = isPasswordConfirm;\n this.stayAfterSave = stayAfterSave;\n this.stayAfterApprove = stayAfterApprove;\n this.footer = footer;\n this.typeModel = typeModel;\n this.tableMinWidth = tableMinWidth;\n this.parentUrl = parentUrl;\n this.controls = controls || [];\n this.triggerControls = triggerControls || [];\n this.tabsControls = tabsControls || [];\n this.isHideControls = isHideControls;\n this.actionLoad = actionLoad;\n this.actionOnUnmount = actionOnUnmount;\n this.saveControlsConfig = saveControlsConfig;\n this.controlSettings = controlSettings;\n this.rangePickerAction = rangePickerAction;\n this.editControlsConfig = editControlsConfig;\n this.isCustomEditIcon = isCustomEditIcon;\n this.isDraggable = isDraggable;\n this.dragActionName = dragActionName;\n this.dragSortPropName = dragSortPropName;\n this.isLayoutForm = isLayoutForm;\n this.editAction = editAction;\n this.tabs = tabs;\n this.hideCellForSort = hideCellForSort;\n this.hideHeaderItemControls = hideHeaderItemControls;\n this.tableHeaderControlsWidth = tableHeaderControlsWidth;\n this.editCheckExcludedProps = editCheckExcludedProps;\n this.isHideSaveButton = isHideSaveButton;\n this.isShowSaveConfirmDialog = isShowSaveConfirmDialog;\n this.disableGlobalKeyDown = disableGlobalKeyDown;\n this.businessId = businessId;\n this.checkActiveButtonFromModel = checkActiveButtonFromModel;\n this.markModelAsChanged = markModelAsChanged;\n this.isMarkedModelAsChanged = isMarkedModelAsChanged;\n this.searchDataId = searchDataId;\n this.isForceUpdate = isForceUpdate;\n this.stayAfterSaveFn = stayAfterSaveFn;\n this.title = title;\n this.label = label;\n this.breadcrumbs = breadcrumbs || null;\n this.additionalInformation = additionalInformation;\n this.actionPagination = actionPagination;\n this.isNumberValue = isNumberValue;\n this.withSearch = withSearch;\n this.controlSelect = controlSelect;\n this.shouldCallActionFromSideMenu = shouldCallActionFromSideMenu;\n this.skipUpdateFilterOptions = skipUpdateFilterOptions;\n this.fixScroll = fixScroll;\n this.customSettings = customSettings;\n this.paginationKey = paginationKey;\n this.showFilterValueInHeader = showFilterValueInHeader;\n\n if (sortByFunc) this.sortByFunc = sortByFunc.bind(this);\n if (mappingLambda) this.mappingLambda = mappingLambda.bind(this);\n if (disabledIfEmpty) this.disabledIfEmpty = disabledIfEmpty.bind(this);\n if (getLabel) this.getLabel = getLabel.bind(this);\n if (shouldCallActionFromSideMenu) this.shouldCallActionFromSideMenu = shouldCallActionFromSideMenu.bind(this);\n if (showNeedSave) this.showNeedSave = showNeedSave.bind(this);\n }\n\n setFilterOption = (key, prop, value) => {\n if (this.filterOptions.options[key]) {\n this.filterOptions.options[key][prop] = value;\n }\n };\n\n getFilterOptionPropValue = (key, prop) => {\n return this.filterOptions.options && this.filterOptions.options[key]\n ? this.filterOptions.options[key][prop]\n : null;\n };\n}\n","import { objectKeysToUpperLowerCase } from '../../../utils/objects-util';\nimport { ADD, DELETE, EDIT, GET, REORDER, UPDATE } from '../common-actions';\n\nexport const LOAD_USERS = \"LOAD_USERS\";\nexport const LOAD_USERS_SUCCESS = LOAD_USERS + \"_SUCCESS\";\nexport const LOAD_USERS_FAIL = LOAD_USERS + \"_FAIL\";\nexport const LOAD_USERS_BY_IDS = LOAD_USERS + \"_BY_IDS\";\nexport const LOAD_USERS_BY_ID = LOAD_USERS + \"_BY_ID\";\nexport const GET_USERS_BY_AVAILABLE_COURIERS_IDS = \"GET_USERS_BY_AVAILABLE_COURIERS_IDS\"\nexport const LOAD_COURIER_LOCATIONS = \"LOAD_COURIER_LOCATIONS\";\nexport const LOAD_COURIER_LOCATIONS_SUCCESS =\n LOAD_COURIER_LOCATIONS + \"_SUCCESS\";\nexport const LOAD_COURIER_LOCATIONS_FAIL = LOAD_COURIER_LOCATIONS + \"_FAIL\";\nexport const INTERVAL_COURIER_LOCATIONS = \"INTERVAL_COURIER_LOCATIONS\";\nexport const PUSHER_COURIER_LOCK_UPDATE = \"PUSHER_COURIER_LOCK_UPDATE\";\nexport const LOAD_USER_MARKERS = \"LOAD_USER_MARKERS\";\nexport const SAVE_TRAVEL_DATA = \"SAVE_TRAVEL_DATA\";\nexport const PUSHER_COURIER_SHIFT_CREATED = \"PUSHER_COURIER_SHIFT_CREATED\";\nexport const COURIER_UPDATE = \"COURIER_UPDATE\";\nexport const COURIER_APPROVE_ORDERS = \"COURIER_APPROVE_ORDERS\";\nexport const PUSHER_USER_UPDATED = \"PUSHER_USER_UPDATED\";\nexport const PUSHER_USER_DELETED = \"PUSHER_USER_DELETED\";\nexport const CYCLE_UPDATE = \"CYCLE_UPDATE\";\nexport const CYCLE_STATE_UPDATE = \"CYCLE_STATE_UPDATE\";\nexport const UPDATE_COURIER_LOCATION = \"UPDATE_COURIER_LOCATION\";\nexport const UPDATE_CONTROL_CENTERS = \"UPDATE_CONTROL_CENTERS\";\nexport const USER_CYCLE_STATE_UPDATE = \"USER_CYCLE_STATE_UPDATE\";\nexport const START_SHIFT_BACKUP = \"START_BACKUP\";\nexport const START_SHIFTS = \"START_SHIFTS\";\nexport const AVAILABLE_CONTROL_CENTERS = \"GET_AVAILABLE_CONTROL_CENTERS\";\nexport const END_SHIFT = \"END_SHIFT\";\nexport const CANCEL_SHIFT = \"CANCEL_SHIFT\";\nexport const FINISH_SHIFT = \"FINISH_SHIFT\";\nexport const GOAWAY_SHIFT = \"GOAWAY_SHIFT\";\nexport const REFRESH_GROUP = \"REFRESH_GROUP\";\nexport const DISBAND_GROUP = \"DISBAND_GROUP\";\nexport const PUSHER_DEPOT_CYCLE_REFRESH = \"PUSHER_DEPOT_CYCLE_REFRESH\";\nexport const COURIER_TO_GROUP = \"COURIER_TO_GROUP\";\nexport const NEW_USER = \"NEW_USER\";\nexport const UPDATE_USER = \"UPDATE_USER\";\nexport const UPDATE_USER_BY_ID = \"UPDATE_USER_BY_ID\";\nexport const DELETE_USER = \"DELETE_USER\";\nexport const SET_USERS = \"SET_USERS\";\nexport const USERS_PAGINATION = \"USERS_PAGINATION\";\nexport const COURIER_PAGINATION = \"COURIER_PAGINATION\";\nexport const USER_SETTING = \"USER_SETTING\";\nexport const USER_SETTING_ADD = USER_SETTING + ADD;\nexport const USER_SETTING_EDIT = USER_SETTING + EDIT;\nexport const USER_SETTING_DELETE = USER_SETTING + DELETE;\nexport const USER_SETTING_PASSWORD = USER_SETTING + \"_PASSWORD\";\nexport const USER_SETTING_PASSWORD_EDIT = USER_SETTING_PASSWORD + EDIT;\nexport const PERSONAL_SETTING = \"PERSONAL_SETTING\";\nexport const PERSONAL_SETTING_EDIT = PERSONAL_SETTING + EDIT;\nexport const PERSONAL_SETTING_PASSWORD = PERSONAL_SETTING + \"_PASSWORD\";\nexport const PERSONAL_SETTING_PASSWORD_EDIT = PERSONAL_SETTING_PASSWORD + EDIT;\nexport const SET_USER_AVATAR = \"SET_USER_AVATAR\";\nexport const USER_SHIFTS = \"USER_SHIFTS\";\nexport const USER_SHIFTS_EDIT = USER_SHIFTS + EDIT;\nexport const USER_SHIFTS_DELETE = USER_SHIFTS + DELETE;\nexport const USER_CURRENT_SHIFTS = \"USER_CURRENT_SHIFTS\";\nexport const USER_CURRENT_SHIFTS_EDIT = USER_CURRENT_SHIFTS + EDIT;\nexport const UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS = \"UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS\";\nexport const USER_SHIFT_HISTORY = \"USER_SHIFT_HISTORY\";\nexport const USER_SHIFT_DOWNLOAD_PDF = \"USER_SHIFT_DOWNLOAD_PDF\";\nexport const USER_SHIFT_COURIERS_CSV = \"USER_SHIFT_COURIERS_CSV\";\nexport const DEPOT_SQUARE_ASSOCIATED_LOCATION = \"DEPOT_SQUARE_ASSOCIATED_LOCATION\";\nexport const DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK = \"DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK\";\nexport const DEPOT_SQUARE_ASSOCIATED_LOCATION_EDIT = \"DEPOT_SQUARE_ASSOCIATED_LOCATION\" + EDIT;\nexport const DEPOT_SQUARE_ASSOCIATED_REVOKE = \"DEPOT_SQUARE_ASSOCIATED_REVOKE\";\nexport const DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION = \"DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION\";\nexport const DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT = DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION + \"_SHORT\";\nexport const DEPOT_INTEGRATIONS = \"DEPOT_INTEGRATIONS\";\nexport const DEPOT_INTEGRATIONS_GET = DEPOT_INTEGRATIONS + GET;\nexport const DEPOT_INTEGRATIONS_UPDATE = DEPOT_INTEGRATIONS + UPDATE;\nexport const DEPOT_INTEGRATIONS_ADD = DEPOT_INTEGRATIONS + ADD;\nexport const DEPOT_INTEGRATIONS_EDIT = DEPOT_INTEGRATIONS + EDIT;\nexport const DEPOT_INTEGRATIONS_DELETE = DEPOT_INTEGRATIONS + DELETE;\nexport const DEPOT_PROVIDERS = \"DEPOT_PROVIDERS\";\nexport const DEPOT_PROVIDERS_GET = DEPOT_PROVIDERS + GET;\nexport const DEPOT_PROVIDERS_REORDER = DEPOT_PROVIDERS + REORDER;\nexport const DEPOT_PROVIDERS_DELETE = DEPOT_PROVIDERS + DELETE;\nexport const DEPOT_PROVIDERS_UNMOUNT = DEPOT_PROVIDERS + \"_UNMOUNT\";\nexport const DEPOT_PROVIDER = \"DEPOT_PROVIDER\";\nexport const DEPOT_PROVIDER_UPDATE = DEPOT_PROVIDER + UPDATE;\nexport const DEPOT_PROVIDER_ADD = DEPOT_PROVIDER + ADD;\nexport const DEPOT_PROVIDER_EDIT = DEPOT_PROVIDER + EDIT;\nexport const CHECK_USER_GROUP = \"CHECK_USER_GROUP\";\nexport const LOCK_GROUP = \"LOCK_GROUP\";\nexport const USERS = \"USERS\";\nexport const GET_DEFAULT_USERS_STATE = \"GET_DEFAULT_USERS_STATE\";\nexport const USERS_UPDATE = USERS + UPDATE;\nexport const USERS_CHECK_COLORS = USERS + \"_CHECK_COLORS\";\n\nexport function actionLoadUsers(payload) {\n return { type: LOAD_USERS, payload: { ...payload }, additionalParams: { batched: true } };\n}\n\nexport function actionLoadUsersSuccess(data) {\n return { type: LOAD_USERS_SUCCESS, data, additionalParams: { batched: true } };\n}\n\nexport function actionLoadUsersFail(error) {\n return {\n type: LOAD_USERS_FAIL,\n error: error\n };\n}\n\nexport function actionLoadCourierLocations(payload) {\n return {\n type: LOAD_COURIER_LOCATIONS,\n payload: {\n ...payload\n }, \n additionalParams: { batched: true }\n };\n}\n\nexport function actionLoadCourierLocationsSuccess(data) {\n return { type: LOAD_COURIER_LOCATIONS_SUCCESS, data: objectKeysToUpperLowerCase(data), additionalParams: { batched: true } };\n}\n\nexport function actionLoadCourierLocationsFail(error) {\n return {\n type: LOAD_COURIER_LOCATIONS_FAIL,\n error: error\n };\n}\n\nexport function actionLoadUserMarkers(data) {\n return { type: LOAD_USER_MARKERS, data, additionalParams: { batched: true } };\n}\n\nexport function actionSaveTravelData(data) {\n return { type: SAVE_TRAVEL_DATA, data, additionalParams: { batched: true } };\n}\n\nexport function actionCycleStateUpdate(data) {\n return { type: CYCLE_STATE_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionUpdateCourierLocation(data) {\n return { type: UPDATE_COURIER_LOCATION, data, additionalParams: { batched: true } };\n}\n\nexport function actionCourierUpdate(data) {\n return { type: COURIER_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionCourierApproveOrders(data) {\n return {\n type: COURIER_APPROVE_ORDERS,\n data: objectKeysToUpperLowerCase(data)\n };\n}\n\nexport function actionCycleUpdate(data) {\n return { type: CYCLE_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionUpdateControlCenters(data) {\n return {\n type: UPDATE_CONTROL_CENTERS,\n data\n };\n}\n\nexport function actionUserCycleUpdate(data) {\n return {\n type: USER_CYCLE_STATE_UPDATE,\n data: objectKeysToUpperLowerCase(data)\n };\n}\n\nexport function actionUpdateUser(data) {\n return { type: UPDATE_USER, data };\n}\n\nexport function actionNewUser(data) {\n return {\n type: NEW_USER,\n data: data\n };\n}\n\nexport function actionDeleteUser(data) {\n return {\n type: DELETE_USER,\n data: data\n };\n}\n\nexport function actionUpdateUserById(data) {\n return {\n type: UPDATE_USER_BY_ID,\n data: data\n };\n}\n\nexport function actionSetUserAvatar(data) {\n return {\n type: SET_USER_AVATAR,\n data\n };\n}\n\nexport function actionGetIntervalCourierLocations() {\n return { type: INTERVAL_COURIER_LOCATIONS };\n}\n\nexport function actionCourierToGroup(data) {\n return { type: COURIER_TO_GROUP, data };\n}\n\nexport function actionCheckUserGroup(data) {\n return { type: CHECK_USER_GROUP, data }; \n}\n\nexport function actionLoadUsersByIds(data) {\n return { type: LOAD_USERS_BY_IDS, data }; \n}\n\nexport function actionUsersUpdate(data) {\n return { type: USERS_UPDATE, data }; \n}\nexport function actionUsersSet(data) {\n return { type: SET_USERS, data };\n}\n\nexport function actionCheckUsersColors(data) {\n return { type: USERS_CHECK_COLORS, data }; \n}","import { INIT, INIT_START_SUCCESS, INIT_START_FAIL } from \"./init-actions\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\n\nconst initState = {\n isLoaded: false,\n error: \"\"\n};\n\nexport default function init(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case INIT:\n return {\n ...state,\n isLoaded: false\n };\n case INIT_START_SUCCESS:\n return {\n ...state,\n isLoaded: true\n };\n case INIT_START_FAIL:\n return {\n ...state,\n isLoaded: false\n };\n default:\n return state;\n }\n}\n","import {\n AUTHENTICATION,\n AUTHENTICATION_FAIL,\n AUTHENTICATION_DEAUTHORIZE_FAIL,\n AUTHENTICATION_SUCCESS,\n AUTHENTICATION_SET\n} from \"./authentication-actions\";\nimport { saveUserData } from \"../../../services/dataStorage\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\n\nconst initState = {\n isAuthenticated: false,\n error: \"\"\n};\n\nexport default function authentication(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case AUTHENTICATION:\n return {\n ...state\n };\n case AUTHENTICATION_SUCCESS:\n const { data, rememberMe, username } = action.data || {};\n if (!data && !username) {\n return state;\n }\n saveUserData(data, rememberMe, username);\n\n return {\n ...state,\n isAuthenticated: true,\n error: \"\"\n };\n case AUTHENTICATION_FAIL:\n return {\n ...state,\n error: action.error\n };\n case AUTHENTICATION_DEAUTHORIZE_FAIL:\n return {\n ...state,\n isAuthenticated: false,\n error: action.error\n };\n case AUTHENTICATION_SET:\n return {\n ...state,\n isAuthenticated: action.data.isAuthenticated,\n error: \"\"\n };\n default:\n return state;\n }\n}\n","import {\n ADD_DEPOT_USER,\n CLOUD_PRINTERS_SETTING_DELETE,\n CLOUD_PRINTERS_SETTING_LOAD,\n CLOUD_PRINTERS_SETTING_LOAD_DETAILS,\n CLOUD_PRINTERS_SETTING_UPDATE,\n CURRENT_CONTROL_CENTER_UPDATE,\n DEPOT_DELETE,\n DEPOT_EDIT,\n DEPOT_NEW,\n FLEET_SETTINGS_FLEET_VEHICLE_LOAD,\n FLEET_SETTINGS_LOAD,\n FLEET_SETTINGS_TELEMETRY_LOAD,\n LOAD_RESTAURANT_FAIL,\n LOAD_RESTAURANT_SUCCESS,\n PROVIDERS_SETTING_DETAILS_UNMOUNT,\n PROVIDERS_SETTING_LOAD,\n PROVIDERS_SETTING_LOAD_DETAILS,\n PROVIDERS_SETTING_UPDATE,\n PUSHER_RESTAURANT_STATE_UPDATE,\n REMOVE_BUSINESS_MENU,\n RESTAURANT_DELIVERY_ZONE_UPDATE,\n RESTAURANT_UPDATE,\n RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS,\n RESTAURANT_UPDATE_CONTROL_CENTERS,\n SAVE_DEPOT_AVATAR,\n SAVE_DEPOT_USERS,\n SAVE_DEPOTS_AVATARS,\n SET_BUSINESS_MENU,\n SET_BUSINESS_PARENT_MENU,\n SET_DEPOT_PROVIDERS,\n SET_ORDERS_PROVIDER,\n SET_SHIFT_PROVIDERS,\n SHIFTS_SAVE,\n UPDATE_DEPOT_USER, UPDATE_SHIFTS, SHIFTS_TRIP_HISTORY_ADD, SHIFTS_HISTORY_SAVE,\n} from './restaurant-actions';\n\nimport {STATUSES} from '../../../utils/enums';\nimport {arrayToMap, mergeArrays, objectKeysToUpperLowerCase} from '../../../utils/objects-util';\n\nimport {REMOVE_ALL_DATA} from '../common-actions';\n\nimport * as Sentry from '@sentry/react';\n\nconst initState = {\n data: {},\n status: STATUSES.notInitialized\n};\n\nexport default function restaurant(state = initState, action) {\n let newData;\n switch (action.type) {\n case REMOVE_ALL_DATA:\n newData = initState;\n break;\n case LOAD_RESTAURANT_SUCCESS:\n newData = {\n ...state,\n data: {\n ...action.data,\n depotsMap: arrayToMap(action.data.depots)\n },\n status: STATUSES.success\n };\n break;\n case LOAD_RESTAURANT_FAIL:\n newData = {\n ...state,\n status: STATUSES.failed\n }\n break;\n case SAVE_DEPOT_AVATAR:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(depot => depot.id === data.depotId\n ? { ...depot, avatar: data.avatar }\n : depot\n )\n }\n };\n break;\n case SAVE_DEPOTS_AVATARS:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(depot => {\n const item = action.data.find(f => f.id === depot.id);\n return {\n ...depot,\n avatar: item && item.avatar ? item.avatar : depot.avatar\n };\n })\n }\n };\n break;\n case PUSHER_RESTAURANT_STATE_UPDATE:\n const data = objectKeysToUpperLowerCase(action.data);\n\n newData = {\n ...state,\n data: { ...state.data, ...data }\n };\n break;\n case RESTAURANT_UPDATE_CONTROL_CENTERS:\n newData = {\n ...state,\n data: {\n ...state.data,\n controlCenters: action.data\n }\n };\n\n break;\n case RESTAURANT_UPDATE_AVAILABLE_CONTROL_CENTERS:\n newData = {\n ...state,\n data: {\n ...state.data,\n availableControlCenters: action.data\n }\n };\n\n break;\n case RESTAURANT_UPDATE:\n newData = {\n ...state,\n data: {\n ...state.data,\n ...action.data,\n configuration: (action.data || {}).configuration || (state.data || {}).configuration\n }\n };\n\n break;\n case RESTAURANT_DELIVERY_ZONE_UPDATE:\n newData = {\n ...state,\n data: {\n ...state.data,\n deliveryZones: mergeArrays(state.data.deliveryZones || [], [action.data])\n }\n };\n\n break;\n case DEPOT_NEW:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.concat([action.data])\n }\n };\n\n break;\n case DEPOT_EDIT:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(depot => depot.id === action.data.id ? { ...depot, ...action.data } : depot)\n }\n };\n\n break;\n case DEPOT_DELETE:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.filter(f => f.id !== action.data.id)\n }\n };\n\n break;\n case SAVE_DEPOT_USERS:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(\n depot =>\n depot.id === action.data.id\n ? { ...depot, depotUsers: action.data.data }\n : depot\n )\n }\n };\n break;\n case PROVIDERS_SETTING_LOAD:\n newData = {\n ...state,\n data: {\n ...state.data,\n providers: action.data ? action.data : [],\n }\n };\n\n break;\n case PROVIDERS_SETTING_LOAD_DETAILS:\n newData = {\n ...state,\n data: {\n ...state.data,\n providersDetails: action.data ? {...action.data} : null,\n }\n };\n break;\n case CLOUD_PRINTERS_SETTING_LOAD:\n newData = {\n ...state,\n data: {\n ...state.data,\n cloudPrinters: action.data ? action.data : [],\n }\n };\n\n break;\n case CLOUD_PRINTERS_SETTING_LOAD_DETAILS:\n newData = {\n ...state,\n data: {\n ...state.data,\n cloudPrintersDetails: action.data ? {...action.data} : null,\n }\n };\n\n break;\n case CLOUD_PRINTERS_SETTING_UPDATE:\n const printersUpdate = state?.data?.cloudPrinters.map(printer => printer.id === action?.data?.id\n ? action.data\n : printer);\n\n newData = {\n ...state,\n data: {\n ...state.data,\n cloudPrinters: printersUpdate\n\n }\n }; break;\n case PROVIDERS_SETTING_UPDATE:\n let result = state?.data?.providers.map(provider => provider.id === action?.data?.id\n ? action.data\n : provider);\n\n newData = {\n ...state,\n data: {\n ...state.data,\n providers: result\n\n }\n }; break;\n case CLOUD_PRINTERS_SETTING_DELETE:\n const printersNew = state?.data?.cloudPrinters.filter(printer => printer.id !== action?.data?.id);\n\n newData = {\n ...state,\n data: {\n ...state.data,\n cloudPrinters: printersNew\n\n }\n }; break;\n case PROVIDERS_SETTING_DETAILS_UNMOUNT:\n newData = {\n ...state,\n data: {\n ...state.data,\n providersDetails: null\n\n }\n };\n\n break;\n case SHIFTS_SAVE:\n newData = {\n ...state,\n data: {\n ...state.data,\n shifts: action.data\n }\n };\n\n break;\n case UPDATE_SHIFTS:\n newData = {\n ...state,\n data: {\n ...state.data,\n shifts: (state.data.shifts || []).map(shift => shift.shiftId === action.data.shiftId ? {...shift, ...action.data} : shift)\n }\n };\n\n break;\n case SHIFTS_HISTORY_SAVE:\n newData = {\n ...state,\n data: {\n ...state.data,\n shiftsHistory: action.data\n }\n };\n\n break;\n case SHIFTS_TRIP_HISTORY_ADD:\n newData = {\n ...state,\n data: {\n ...state.data,\n shiftsTrip: action?.data?.orders ? {\n ...state.data.shiftsTrip,\n ...action.data,\n summary: action.data.summary,\n orders: state?.data?.shiftsTrip?.orders ? mergeArrays(state?.data?.shiftsTrip?.orders || [], action.data.orders) : action.data.orders,\n } : null,\n },\n };\n\n break;\n case UPDATE_DEPOT_USER:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(depot => depot.id === action.data.depotId\n ? {\n ...depot,\n depotUsers: depot.depotUsers.map(depotUser => depotUser.id === action.data.userId\n ? { ...depotUser, ...action.data.data }\n : depotUser\n )\n }\n : depot\n )\n }\n };\n\n break;\n case ADD_DEPOT_USER:\n newData = {\n ...state,\n data: {\n ...state.data,\n depots: state.data.depots.map(depot => depot.id === action.data.depotId\n ? { ...depot, depotUsers: mergeArrays(depot.depotUsers, action.data.data) }\n : depot\n )\n }\n };\n\n break;\n case CURRENT_CONTROL_CENTER_UPDATE:\n newData = {\n ...state,\n data: {\n ...state.data,\n ...action.data\n }\n };\n\n break;\n case SET_BUSINESS_MENU:\n newData = {\n ...state,\n data: {\n ...state.data,\n businessMenu: action.data\n }\n }\n\n break;\n case REMOVE_BUSINESS_MENU:\n newData = {\n ...state,\n data: {\n ...state.data,\n businessMenu: null\n }\n }\n\n break;\n case SET_BUSINESS_PARENT_MENU:\n newData = {\n ...state,\n data: {\n ...state.data,\n parentMenu: action.data\n }\n }\n\n break;\n case SET_DEPOT_PROVIDERS:\n newData = {\n ...state,\n data: {\n ...state.data,\n providers: (action.data || []).map(el => ({...el, order: el.priority}))\n }\n };\n\n break;\n case SET_ORDERS_PROVIDER:\n newData = {\n ...state,\n data: {\n ...state.data,\n ordersProvider: action.data\n }\n }\n\n break;\n case FLEET_SETTINGS_LOAD:\n\n newData = {\n ...state,\n data: {\n ...state.data,\n fleet: action.data || []\n }\n };\n break;\n case FLEET_SETTINGS_TELEMETRY_LOAD:\n\n newData = {\n ...state,\n data: {\n ...state.data,\n fleetTelemetry: action.data || {}\n }\n };\n break;\n case FLEET_SETTINGS_FLEET_VEHICLE_LOAD:\n let fleet = [];\n\n if(state.data.fleet && action.data?.vehicleId) {\n const exist = state.data.fleet.find((e) => e.vehicleId === action.data.vehicleId);\n if(exist) {\n fleet = state.data.fleet\n } else {\n fleet = [...state.data.fleet, action.data]\n }\n } else if(action.data) {\n fleet = [action.data]\n }\n\n newData = {\n ...state,\n data: {\n ...state.data,\n fleet: fleet\n }\n };\n break;\n case SET_SHIFT_PROVIDERS:\n newData = {\n ...state,\n data: {\n ...state.data,\n shiftProviders: action.data\n }\n }\n\n break\n default:\n newData = state;\n }\n\n if(state && state.data &&\n state.status === STATUSES.success &&\n (!newData || !newData.data || !newData.data.configuration) &&\n action.type !== REMOVE_ALL_DATA\n ) {\n Sentry.captureException(\"Error. Restaurant config removed by action:\" + action.type);\n }\n\n return newData;\n}\n","import {\n COURIER_UPDATE,\n CYCLE_STATE_UPDATE,\n CYCLE_UPDATE,\n DELETE_USER,\n LOAD_COURIER_LOCATIONS_SUCCESS,\n LOAD_USERS_FAIL,\n LOAD_USERS_SUCCESS,\n NEW_USER,\n PUSHER_USER_DELETED,\n SAVE_TRAVEL_DATA,\n SET_USERS,\n UPDATE_CONTROL_CENTERS,\n UPDATE_COURIER_LOCATION,\n UPDATE_USER,\n USER_CYCLE_STATE_UPDATE,\n USERS_UPDATE,\n} from './userModel-actions';\nimport {PUSHER_MANUAL_UNASSOCIATE_UPDATE, PUSHER_SET_AWAY, REMOVE_ALL_DATA} from \"../common-actions\";\n\nimport User from \"../../../services/user\";\nimport userModule, {currentUserIsDepotRole, initUserModel} from \"../../../services/userModel\";\nimport ColorService from \"../../../services/color\";\nimport {getInitModel} from \"../../../services/initModels\";\n\nimport {mergeArrays} from \"../../../utils/objects-util\";\nimport {CYCLE_STATE, MODEL_TYPE, STATUSES} from \"../../../utils/enums\";\n\nconst initState = {\n data: [],\n status: STATUSES.notInitialized\n};\n\nexport default function users(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case SAVE_TRAVEL_DATA:\n const notExistedCouriers = (action.data.courierLocations || [])\n .filter(courierLocation=> !state.data.find(user=> user.userId === courierLocation.courierId));\n const result = {\n ...state,\n data: state.data.map(user => {\n const newCycle = (action.data.cycles || []).find(cycle => cycle.courierId === user.userId);\n const userTravelData = user.travelData || getInitModel(MODEL_TYPE.travelDataModel);\n\n if (newCycle && !newCycle.routeEstimation) {\n newCycle.routeEstimation = getInitModel(MODEL_TYPE.routeEstimation);\n }\n\n\n const travelDataResult = (action.data.courierLocations || []).find(f => f.courierId === user.userId) || userTravelData;\n if((userTravelData && userTravelData.vehicleMovementInfo !== null) &&\n (travelDataResult && travelDataResult.vehicleMovementInfo === null)) {\n travelDataResult.vehicleMovementInfo = userTravelData.vehicleMovementInfo;\n }\n return user.roles.courier\n ? {\n ...user,\n roles: {\n ...user.roles,\n active: !!(newCycle && newCycle.courierId === user.userId)\n },\n travelData: travelDataResult,\n cycle: newCycle,\n color: user.color || (newCycle && ColorService.instance.getColor())\n }\n : user;\n })\n };\n\n //Fix getting locations for not existed users for depot role\n if(currentUserIsDepotRole() && notExistedCouriers.length) {\n result.data = result.data.concat(notExistedCouriers.map(courierLocation=> ({\n userId: courierLocation.courierId,\n travelData: courierLocation,\n color: ColorService.instance.getColor(),\n roles: { active: true },\n cycle: { routeEstimation: getInitModel(MODEL_TYPE.routeEstimation) }\n })))\n }\n\n return result;\n case LOAD_USERS_SUCCESS:\n return {\n ...state,\n data: (action.data || []).map(user => {\n const oldUser = (state.data || []).find(oldUser => oldUser.userId === user.userId);\n return initUserModel({ ...oldUser, ...user });\n }),\n status: STATUSES.success\n };\n case LOAD_COURIER_LOCATIONS_SUCCESS:\n return userModule.updateCourierLocations(state, action.data);\n case LOAD_USERS_FAIL:\n return {\n ...state,\n status: STATUSES.failed\n };\n case UPDATE_COURIER_LOCATION:\n if (!action.data.length) return state;\n\n return {\n ...state,\n data: state.data.map(user => {\n const newTravelData = action.data.find(\n travelData => travelData.courierId === user.userId\n );\n return newTravelData\n ? {\n ...user,\n travelData: newTravelData\n }\n : user;\n })\n };\n case CYCLE_STATE_UPDATE:\n return userModule.cycleStateUpdate(state, action.data);\n case USER_CYCLE_STATE_UPDATE:\n if (User.instance.skipObjectWithControlCenter(action.data)) return state;\n return {\n ...state,\n data: state.data.map(\n user =>\n action.data.courierId && user.userId === action.data.courierId\n ? {\n ...user,\n cycle: { ...user.cycle, state: CYCLE_STATE.deliveryStart }\n }\n : user\n )\n };\n case PUSHER_MANUAL_UNASSOCIATE_UPDATE:\n return state;\n case PUSHER_SET_AWAY:\n return state;\n case PUSHER_USER_DELETED:\n return {\n ...state,\n data: state.data.filter(user => user.userId !== action.data.UserId)\n };\n case COURIER_UPDATE:\n return {\n ...state,\n data: state.data.map(user => user.userId === (action.data.userId || action.data.courierId)\n ? { ...user, ...action.data }\n : user\n )\n };\n case UPDATE_CONTROL_CENTERS:\n return {\n ...state,\n data: state.data.map(user => {\n const item = (action.data || []).find(f => f.userId === user.userId);\n return {\n ...user,\n controlCenterId: item ? item.controlCenterId : null\n };\n })\n };\n case CYCLE_UPDATE:\n return {\n ...state,\n data: state.data.map(\n user =>\n user.userId === action.data.courierId\n ? { ...user, cycle: { ...user.cycle, ...action.data.data } }\n : user\n )\n };\n case NEW_USER:\n return {\n ...state,\n data: mergeArrays(state.data, [initUserModel(action.data)], 'userId', 'userId')\n };\n case UPDATE_USER:\n if(!action.data) return state;\n return {\n ...state,\n data: state.data.map(\n user =>\n user.userId === action.data.userId\n ? initUserModel({\n ...user,\n ...action.data\n })\n : user\n )\n };\n case DELETE_USER:\n return {\n ...state,\n data: state.data.filter(f => f.userId !== action.data.userId)\n };\n case SET_USERS: {\n return {\n ...state,\n data: action.data\n };\n }\n case USERS_UPDATE:\n return {\n ...state,\n data: mergeArrays(state.data, action.data || [], \"userId\", \"userId\")\n };\n default:\n return state;\n }\n}\n","import {\n ORDERS_LOAD_SUCCESS,\n ORDERS_LOAD_FAIL,\n ORDER_NEW,\n ORDER_UPDATE,\n ORDER_UPDATE_STATE,\n CYCLE_REORDER,\n PUSHER_GROUP_LOCK_UPDATE,\n GROUP_ORDER_UPDATE,\n REMOVE_GROUP_ORDERS,\n GROUP_UPDATE_STATE,\n CYCLE_DISPATCHE,\n UPDATE_ORDER_DATA,\n ORDER_REMOVE,\n CHANGE_ITEMS_GROUP,\n PUSHER_ASSISTANCE_UPDATE,\n GROUP_UPDATE,\n SAVE_HISTORY_ORDERS,\n ADD_NEW_ORDERS,\n PENDING_ORDERS_UPDATE,\n ORDER_MENU_UPDATE,\n ORDER_INDEX_UPDATE,\n UPDATE_ORDERS,\n ADMIN_ORDERS_UPDATE,\n ADMIN_ORDER_UPDATE,\n ORDER_UPDATE_SERVICE_NOTES,\n PENDING_PREORDERS_UPDATE,\n CONSUMER_ORDER_SEARCH,\n PENDING_ORDER_UPDATE,\n PENDING_PREORDER_DELETE,\n ORDERS_MODEL_UPDATE,\n PENDING_ORDER_UPDATE_COURIER,\n ADMIN_ORDER_SET_FILERS,\n ADMIN_ORDER_SELECTED_ORDER_ID,\n ADMIN_ORDERS_LOADING, ADMIN_ORDER_PENDING_COUNT_UPDATE, ORDERS_UPDATE_TIMES_INFO\n} from \"./order-actions\";\nimport {\n PUSHER_CYCLE_ROUTE_UPDATE,\n PUSHER_SET_AWAY,\n REMOVE_ALL_DATA\n} from \"../common-actions\";\n\nimport {\n STATUSES,\n DEFAULT_ORDERS_GROUPS,\n CYCLE_STATE,\n ORDER_TYPE\n} from \"../../../utils/enums\";\nimport orderModule, {\n updateOrderData,\n isDefaultGroup,\n isGroupHide\n} from \"../../../services/order\";\nimport { objectKeysToUpperLowerCase } from \"../../../utils/objects-util\";\nimport { mergeArrays } from \"../../../utils/objects-util\";\nimport User from \"../../../services/user\";\nimport { COURIER_UPDATE, CYCLE_STATE_UPDATE } from \"../userModel/userModel-actions\";\nimport { NOTIFICATIONS_UPDATE } from \"../notification/notification-actions\";\n\nconst initState = {\n data: {\n filter: null,\n },\n status: STATUSES.notInitialized\n};\n\nexport default function orders(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case ORDERS_LOAD_SUCCESS:\n return {\n ...state,\n data: {\n ...state.data,\n ...action.data,\n orders: action.data.orders.reduce((accumulator, currentValue) => {\n const index = accumulator.map(m => m.id).indexOf(currentValue.id);\n if (index > -1) {\n if (!isDefaultGroup(currentValue.groupId)) {\n accumulator.push(currentValue);\n accumulator.splice(index, 1);\n }\n } else {\n accumulator.push(currentValue);\n }\n\n return accumulator;\n }, []),\n adminOrders: action.data.adminOrders || state.data.adminOrders || [],\n historyOrders: action.data.historyOrders || state.data.historyOrders || [],\n activeOrders: action.data.activeOrders || state.data.activeOrders || [],\n pendingPreOrders: action.data.pendingPreOrders || state.data.pendingPreOrders || []\n },\n status: STATUSES.success\n };\n case NOTIFICATIONS_UPDATE:\n if(!Array.isArray(action.data) || !action.data.length) return state;\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order => {\n const notifications = action.data.filter(f=> (f.args || []).includes(order.id));\n return notifications.length\n ? { ...order, notificationType: notifications.map(n => n.type) }\n : order;\n })\n }\n };\n case ORDERS_LOAD_FAIL:\n return {\n ...state,\n status: STATUSES.failed\n };\n case SAVE_HISTORY_ORDERS:\n return {\n ...state,\n data: {\n ...state.data,\n historyOrders: action.data || state.data.historyOrders || []\n }\n };\n case ORDERS_UPDATE_TIMES_INFO:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order => {\n const find = action.data.find(o => o.id === order.id);\n return find ? {...order, timesInfo: find.timesInfo} : order;\n }),\n }\n }\n case ORDER_UPDATE_SERVICE_NOTES:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order=> order.id === action.data.id \n ? { ...order, serviceNotes: action.data.value }\n : order\n ),\n historyOrders: state.data.historyOrders.map(order=> order.id === action.data.id \n ? { ...order, serviceNotes: action.data.value }\n : order\n )\n }\n };\n case ORDER_UPDATE_STATE:\n return orderModule.updateOrderState(state, action.data);\n case ORDER_NEW:\n return orderModule.newOrder(state, action.data);\n case ADD_NEW_ORDERS:\n return {\n ...state,\n data: {\n ...state.data,\n orders: mergeArrays(state.data.orders, action.data.filter(f => f.type !== ORDER_TYPE.pickUp && !User.instance.skipObjectWithControlCenter(f)))\n }\n };\n case ORDER_UPDATE:\n return orderModule.updateOrder(state, action.data);\n case CYCLE_REORDER:\n return orderModule.cycleReorder(state, action.data);\n case CYCLE_DISPATCHE:\n return orderModule.cycleDispatched(state, action.data);\n case PUSHER_CYCLE_ROUTE_UPDATE:\n const routeEstimationData = objectKeysToUpperLowerCase(action.data);\n const stateGroups = state.data.groups || [];\n\n return {\n ...state,\n data: {\n ...state.data,\n groups: stateGroups.map(\n group =>\n group.id === routeEstimationData.courierId\n ? {\n ...group,\n routeEstimation: routeEstimationData.routeEstimation\n }\n : group\n )\n }\n };\n case GROUP_ORDER_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order => order.id === action.data.orderId\n ? { ...order, groupId: action.data.group.id, isCourierGroup: action.data.group.isCourierGroup }\n : order\n ),\n groups: mergeArrays(state.data.groups, [action.data.group])\n }\n };\n case GROUP_UPDATE:\n const groupId = action.data.id || action.data.courierId || action.data.userId;\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.find(f=> f.id === groupId)\n ? state.data.groups.map(group =>\n group.id === groupId\n ? { ...group, ...action.data }\n : group\n )\n : state.data.groups.concat([{ ...action.data, id: groupId }])\n }\n };\n case PUSHER_GROUP_LOCK_UPDATE:\n const groupLockUpdateData = objectKeysToUpperLowerCase(action.data);\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.map(\n group =>\n group.id === groupLockUpdateData.groupId\n ? { ...group, ...groupLockUpdateData }\n : group\n )\n }\n };\n case REMOVE_GROUP_ORDERS:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.filter(\n f => f.groupId !== action.data.groupId\n ),\n pickUps: state.data.pickUps.filter(\n f => f.groupId !== action.data.groupId\n )\n }\n };\n case PUSHER_SET_AWAY:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(\n order =>\n order.groupId === action.data.CourierId\n ? {\n ...order,\n groupId: DEFAULT_ORDERS_GROUPS.Unsorted\n }\n : order\n )\n }\n };\n case GROUP_UPDATE_STATE:\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.map(group => {\n let updGroup = action.data.find(f => f.id === group.id);\n return updGroup ? { ...group, hide: updGroup.hide } : group;\n })\n }\n };\n case COURIER_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.map(group => group.id === (action.data.id || action.data.userId || action.data.courierId)\n ? { ...group, ...action.data.cycle, hide: isGroupHide(action.data.cycle ? action.data.cycle.state : action.data.state) }\n : group\n )\n }\n };\n case UPDATE_ORDERS: \n return {\n ...state,\n data: {\n ...state.data,\n orders: mergeArrays(state.data.orders, (action.data || []).filter(order=> order.type !== ORDER_TYPE.pickUp)),\n pickUps: mergeArrays(state.data.pickUps, (action.data || []).filter(order=> order.type === ORDER_TYPE.pickUp))\n }\n };\n case UPDATE_ORDER_DATA:\n if(User.instance.skipObjectWithControlCenter(action.data)) \n return state;\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order =>\n order.id === action.data.id ? { ...order, ...action.data } : order\n ),\n historyOrders: state.data.historyOrders.map(historyOrder =>\n historyOrder.id === action.data.id ? { ...historyOrder, ...action.data } : historyOrder\n )\n }\n };\n case ORDER_REMOVE:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.filter(order => !(action.data || []).includes(order.id)),\n pickUps: state.data.pickUps.filter(order => !(action.data || []).includes(order.id)),\n activeOrders: state.data.activeOrders.filter(order => !(action.data || []).includes(order.id))\n }\n };\n case CHANGE_ITEMS_GROUP:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.reduce((accumulator, order) => {\n accumulator.push(\n action.data.itemsIds.includes(order.id)\n ? {\n ...order,\n groupId: action.data.destinationGroup.id,\n isCourierGroup: action.data.destinationGroup.isCourierGroup\n }\n : order\n );\n return accumulator;\n }, []),\n pickUps: state.data.pickUps.reduce((accumulator, order) => {\n accumulator.push(\n action.data.itemsIds.includes(order.id)\n ? {\n ...order,\n groupId: action.data.destinationGroup.id,\n isCourierGroup: action.data.destinationGroup.isCourierGroup\n }\n : order\n );\n return accumulator;\n }, [])\n }\n };\n case PUSHER_ASSISTANCE_UPDATE:\n const data = objectKeysToUpperLowerCase(action.data);\n let updOrders = state.data.orders || [];\n\n if (data.deletedOrderId)\n if (updOrders.find(order => order && order.id === data.deletedOrderId && order.groupId === DEFAULT_ORDERS_GROUPS.assistance))\n updOrders = updOrders.filter(order => order && order.id !== data.deletedOrderId);\n if (data.order) {\n let newOrder = updateOrderData(\n data.order,\n false,\n DEFAULT_ORDERS_GROUPS.assistance,\n state\n );\n if (data.order.parsedOrder) {\n newOrder = updateOrderData(\n {\n ...newOrder,\n ...data.order.parsedOrder\n },\n false,\n DEFAULT_ORDERS_GROUPS.assistance,\n state\n );\n }\n updOrders = mergeArrays(updOrders, [newOrder]);\n }\n\n return {\n ...state,\n data: {\n ...state.data,\n orders: updOrders\n }\n };\n case CYCLE_STATE_UPDATE:\n if (\n User.instance.skipObjectWithControlCenter(action.data) ||\n !action.data.courierId\n )\n return state;\n const isCleanOrders =\n action.data.cycleState === CYCLE_STATE.started &&\n action.data.cleanOrders;\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.map(\n group =>\n group.id === action.data.courierId\n ? {\n ...group,\n queueNumber: action.data.queueNumber,\n state: action.data.cycleState,\n routeEstimation: isCleanOrders\n ? { ...group.routeEstimation, segments: [] }\n : group.routeEstimation,\n optimalData: isCleanOrders\n ? { ...group.optimalData, totalDistance: 0, totalTime: 0 }\n : group.optimalData\n }\n : group\n ),\n orders: isCleanOrders\n ? state.data.orders.filter(\n order => order.groupId !== action.data.courierId\n )\n : state.data.orders\n }\n };\n case PENDING_ORDERS_UPDATE:\n const orders = mergeArrays(state.data.activeOrders || [], action.data.activeOrders || []);\n if(action.data.resetAssistOrder) {\n delete action.data.resetAssistOrder;\n const ids = action.data.activeOrders.map(a => a.id);\n orders.map(o => {\n if(ids.includes(o.id)) {\n delete o.isAssistOrder;\n }\n return o;\n });\n }\n return {\n ...state,\n data: {\n ...state.data,\n ...action.data,\n activeOrders: orders\n }\n };\n case PENDING_ORDER_UPDATE_COURIER:\n return {\n ...state,\n data: {\n ...state.data,\n activeOrders: (state.data.activeOrders || []).map(order =>\n order.id === action.data.orderId\n ? {...order, courier_id: action.data.courierId}\n : order)\n }\n }\n case PENDING_ORDER_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n activeOrders: mergeArrays(state.data.activeOrders || [], [action.data])\n } \n }; \n case PENDING_PREORDER_DELETE:\n return {\n ...state,\n data: {\n ...state.data,\n pendingPreOrders: state.data.pendingPreOrders.filter(preord => preord.id !== action.data.id),\n }\n }\n case PENDING_PREORDERS_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n pendingPreOrders: action.data || []\n }\n }; \n case ADMIN_ORDERS_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n adminOrders: {\n ...state.data.adminOrders,\n ...action.data\n }\n }\n };\n case ADMIN_ORDERS_LOADING:\n return {\n ...state,\n data: {\n ...state.data,\n adminOrdersLoading: action.data\n }\n };\n case ADMIN_ORDER_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n adminOrders: {\n ...state.data.adminOrders,\n items: mergeArrays((state.data.adminOrders || {}).items || [], [action.data])\n }\n }\n };\n case ADMIN_ORDER_PENDING_COUNT_UPDATE: {\n return {\n ...state,\n data: {\n ...state.data,\n adminOrders: {\n ...state.data.adminOrders,\n pendingCount: action.data,\n }\n }\n }\n }\n case ADMIN_ORDER_SET_FILERS:\n return {\n ...state,\n data: {\n ...state.data,\n filter: action.data,\n }\n }\n case ORDER_MENU_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order=> order.integrationId === action.data.id\n ? { ...order, menu: action.data }\n : order\n )\n }\n };\n case ORDER_INDEX_UPDATE:\n let pickUps = action.data.orders.filter(f=> f.type === ORDER_TYPE.pickUp);\n\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order=> {\n const updOrder = action.data.orders.find(f=> f.id === order.id);\n return updOrder ? { ...order, ...updOrder } : order;\n }),\n pickUps: state.data.pickUps.map(pickUp=> {\n const index = pickUps.findIndex(f => f.id === pickUp.id || f.depotId === pickUp.depotId);\n return index > -1\n ? { ...pickUp, ...pickUps.splice(index, 1)[0] }\n : pickUp;\n }).concat(pickUps)\n }\n };\n case CONSUMER_ORDER_SEARCH:\n return {\n ...state,\n data: {\n ...state.data,\n historyOrders: action.data\n }\n }\n case ORDERS_MODEL_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n orders: mergeArrays(state.data.orders || [], (action.data || []).filter(f=> f && f.type !== ORDER_TYPE.pickUp)),\n pickUps: mergeArrays(state.data.pickUps || [], (action.data || []).filter(f=> f && f.type === ORDER_TYPE.pickUp))\n }\n };\n case ADMIN_ORDER_SELECTED_ORDER_ID:\n return {\n ...state,\n data: {\n ...state.data,\n selectedOrderId: action.data\n }\n }\n default:\n return state;\n }\n}\n","import {\n ORDEREDIT_UPDATE,\n ORDEREDIT_ORIGINAL_ORDER_UPDATE,\n DND_SET_DATA,\n DND_CLEAR_DATA,\n ORDEREDIT_ADD_PRODUCTS,\n ORDEREDIT_SET_ORDER_SUMMARY,\n RESET_ORDEREDIT_DATA\n} from \"./orderEdit-actions\";\nimport { getInitOrderModel } from \"../../../services/order\";\nimport { minutesToTimeRelative } from \"../../../utils/convertTime\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\n\nconst initDnd = {\n id: \"\",\n item: null,\n height: 0,\n width: 0,\n diffX: 0,\n diffY: 0\n};\n\nconst initState = {\n data: {\n newOrder: getInitOrderModel(),\n originalOrder: getInitOrderModel(),\n products: null,\n orderSummary: null,\n paymentIntentData: null,\n dnd: initDnd\n }\n};\n\nexport default function orderEdit(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case ORDEREDIT_UPDATE:\n let newOrder = action.data.isRemove\n ? {\n ...getInitOrderModel(),\n readinessTime: action.data.firstDepot\n ? minutesToTimeRelative(action.data.firstDepot.maximumArrivalTime)\n : \"\"\n }\n : { ...state.data.newOrder, ...action.data };\n\n return {\n ...state,\n data: {\n ...state.data,\n newOrder,\n originalOrder: action.data.isRemove ? newOrder : (action.data.originalOrder || state.data.originalOrder)\n }\n };\n case ORDEREDIT_SET_ORDER_SUMMARY: {\n return {\n ...state,\n data: {\n ...state.data,\n orderSummary: action.data\n }\n }\n }\n case ORDEREDIT_ADD_PRODUCTS: {\n return {\n ...state,\n data: {\n ...state.data,\n products: action.data\n }\n }\n }\n case ORDEREDIT_ORIGINAL_ORDER_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n originalOrder: action.data.isRemove\n ? null\n : {\n ...state.data.originalOrder,\n ...action.data\n }\n }\n };\n case DND_SET_DATA:\n return {\n ...state,\n data: {\n ...state.data,\n dnd: action.data.item ? action.data : initDnd\n }\n };\n case DND_CLEAR_DATA:\n return {\n ...state,\n data: {\n ...state.data,\n dnd: initDnd\n }\n };\n case RESET_ORDEREDIT_DATA:\n return {\n ...initState\n }\n default:\n return state;\n }\n}\n","import {\n UPDATE_ORDER_MARKER,\n UPDATE_DEPOT_MARKER,\n UPDATE_COURIER_MARKER,\n UPDATE_COURIER_LOCATION_MARKER,\n REMOVE_MARKER,\n SET_SHAKE_MARKER,\n REMOVE_MARKERS,\n UPDATE_ORDERS_MARKERS,\n UPDATE_ALL_COURIERS_MARKERS,\n UPDATE_DEPOTS_MARKERS,\n UPDATE_EXTERNAL_CYCLES_MARKERS,\n MARKER_UPDATE\n} from \"./marker-actions\";\n\nimport * as Sentry from \"@sentry/react\";\nimport Markers from \"../../../services/markers\";\n\nimport { TYPE_MARKER, ORDER_TYPE } from \"../../../utils/enums\";\nimport {isSameObjects, arrayToMap} from \"../../../utils/objects-util\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\nimport { locationIsEmpty } from \"../../../services/order\";\n\nconst initState = {\n data: [],\n dataMap: new Map(),\n orderShakeId: null\n};\n\nconst mapToArray = (map) => {\n return Array.from(map, ([key, value]) => ({...value }));\n}\n\nconst isSameMarkers = (state, marker) => {\n const oldMarker = state.dataMap.has(marker.id);\n if (!oldMarker) {\n return false;\n }\n\n const isSame =\n isSameObjects(oldMarker.location, marker.location) &&\n isSameObjects(oldMarker.icon, marker.icon);\n switch (marker.markerType) {\n case TYPE_MARKER.order:\n return isSame && oldMarker.groupId === marker.groupId;\n case TYPE_MARKER.courier:\n return isSame && oldMarker.groupId === marker.groupId;\n case TYPE_MARKER.depot:\n return isSame;\n default:\n return false;\n }\n};\n\nexport default function markers(state = initState, action) {\n let markers = state.data.slice();\n const dataMap = state.dataMap;\n\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return {...initState, dataMap: new Map()};\n case REMOVE_MARKERS:\n return {\n ...state,\n dataMap: arrayToMap(mapToArray(state.dataMap).filter(f => f.markerType === TYPE_MARKER.depot || f.markerType === TYPE_MARKER.restaurant))\n };\n case UPDATE_ALL_COURIERS_MARKERS:\n action.data.forEach((user) => {\n let courierMarker = Markers.instance.createMarker(TYPE_MARKER.courier, user);\n\n if (courierMarker && !isSameMarkers(state, courierMarker)) {\n if (courierMarker && locationIsEmpty(courierMarker.location)) {\n Sentry.captureException(\n `Error UPDATE_ALL_COURIERS_MARKERS. Marker id: ${\n courierMarker.id\n }. Location: ${courierMarker.location}`\n );\n }\n dataMap.set(courierMarker.id, courierMarker)\n }\n });\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_COURIER_MARKER:\n let courier = action.data;\n if (!courier) {\n return state;\n }\n\n const oldMarker = state.dataMap.get(courier.userId);\n if (\n oldMarker &&\n isSameObjects(oldMarker.location, courier.location) &&\n oldMarker.location\n ) {\n return state;\n }\n\n let courierMarker = Markers.instance.createMarker(TYPE_MARKER.courier, courier);\n\n if (!courierMarker || isSameMarkers(state, courierMarker)) {\n return state;\n }\n\n dataMap.set(courier.id, courier);\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_DEPOTS_MARKERS:\n action.data.forEach((item) => {\n const depotMarker = Markers.instance.createMarker(TYPE_MARKER.depot, item);\n if (depotMarker && !isSameMarkers(state, depotMarker)) {\n dataMap.set(depotMarker.id, depotMarker);\n }\n });\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_DEPOT_MARKER:\n let depot = action.data;\n if (!depot) return state;\n\n const depotMarker = Markers.instance.createMarker(TYPE_MARKER.depot, depot);\n if (!depotMarker || isSameMarkers(state, depotMarker)) return state;\n\n dataMap.set(depotMarker.id, depotMarker);\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_ORDERS_MARKERS:\n // const groupsOrdersMarkers = action.data.items.reduce(\n action.data.items.forEach(\n (currentValue) => {\n if (!currentValue.groupOrders || !currentValue.groupOrders.length) {\n return;\n }\n\n // const newMarkers = currentValue.groupOrders.reduce(\n currentValue.groupOrders.forEach(\n (order) => {\n if (\n order.type !== ORDER_TYPE.pickUp &&\n order.location &&\n !order.type\n ) {\n let marker = Markers.instance.createMarker(TYPE_MARKER.order,\n order,\n currentValue.group,\n currentValue.user,\n false,\n true,\n action.data.depotsMap.get(order.depotId)\n );\n\n if (marker) {\n marker.location = order.location;\n marker.zIndex = 2;\n\n if (!isSameMarkers(state, marker)) {\n dataMap.set(marker.id, marker);\n // accumulatorMarkers.push(marker);\n }\n }\n }\n\n // return accumulatorMarkers;\n },\n []\n );\n\n // return accumulator.concat(newMarkers);\n },\n []\n );\n\n // if (!groupsOrdersMarkers.length) {\n // return state;\n // }\n\n // groupsOrdersMarkers.forEach(marker => dataMap.set(marker.id, marker));\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_ORDER_MARKER:\n let orders = action.data.groupOrders && action.data.groupOrders.filter(f => f.type !== ORDER_TYPE.pickUp);\n\n if (!action.data.group || !orders) return state;\n\n orders.forEach((order) => {\n if (order.location && !order.type) {\n let marker = Markers.instance.createMarker(TYPE_MARKER.order,\n order,\n action.data.group,\n action.data.user,\n false,\n false,\n action.data.depots.find(f=> f.id === order.depotId)\n );\n\n if (marker) {\n marker.location = order.location;\n marker.zIndex = 2;\n\n if (!isSameMarkers(state, marker)) {\n dataMap.set(marker.id, marker)\n }\n }\n }\n });\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case UPDATE_COURIER_LOCATION_MARKER:\n let courierLocations = action.data.data;\n const ids = action.data.data.map(m => m.courierId);\n markers = markers.reduce((accumulator, currentValue) => {\n //Return if not exist in courier locations\n if (\n currentValue.markerType === TYPE_MARKER.courier &&\n !ids.includes(currentValue.id)\n )\n return accumulator;\n\n let index = courierLocations\n .map(m => m.courierId)\n .indexOf(currentValue.id);\n if (index > -1) {\n if (!locationIsEmpty(courierLocations[index].location))\n accumulator.push({\n ...currentValue,\n location: courierLocations[index].location\n });\n courierLocations.splice(index, 1);\n } else {\n if (!locationIsEmpty(currentValue.location))\n accumulator.push(currentValue);\n }\n return accumulator;\n }, []);\n\n if (courierLocations && courierLocations.length > 0) {\n courierLocations.forEach(courierLocation => {\n let courier = action.data.users.find(\n user => user.userId === courierLocation.courierId\n );\n\n if (courier) {\n if (\n Markers.instance.canShowMarker(\n courier,\n action.data.orders.filter(f => f.groupId === courier.userId)\n )\n ) {\n let newMarker = Markers.instance.createMarker(\n TYPE_MARKER.courier,\n action.data.users.find(\n user => user.userId === courierLocation.courierId\n )\n );\n\n if (newMarker && locationIsEmpty(newMarker.location)) {\n Sentry.captureException(\n `Error courierLocationsOther. Marker id: ${\n newMarker.id\n }. Location: ${newMarker.location}`\n );\n }\n\n if (newMarker) markers = markers.concat([newMarker]);\n }\n }\n });\n }\n\n markers.forEach(marker => dataMap.set(marker.id, marker));\n\n return {\n ...state,\n dataMap: dataMap,\n };\n case REMOVE_MARKER:\n (action.data || []).forEach(id => {\n if(dataMap.has(id)) {\n dataMap.delete(id);\n }\n })\n return {\n ...state,\n dataMap: dataMap,\n };\n case SET_SHAKE_MARKER:\n return {\n ...state,\n orderShakeId: action.data.id\n };\n case UPDATE_EXTERNAL_CYCLES_MARKERS:\n action.data.forEach(marker => {\n dataMap.set(marker.id, marker);\n });\n return {\n ...state,\n dataMap: dataMap,\n };\n case MARKER_UPDATE:\n const markerMap = dataMap.get(action.data.id);\n dataMap.set(action.data.id, {...(markerMap || {}),...action.data})\n return {\n ...state,\n dataMap: dataMap\n };\n default:\n return state;\n }\n}\n","import {\n INIT_SECTION_ITEMS_HEIGHTS,\n SAVE_SECTION_ITEM_HEIGHT,\n SET_SECTION_ITEMS_LOADING,\n UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT,\n REFRESH_SECTION_ITEMS_HEIGHTS\n} from \"./sectionsWrapperData-actions\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\n\nconst initState = {\n heights: {},\n rowHeightDefault: 0,\n isLoading: false,\n isKeepOpenPopup: false\n};\n\nexport default function sectionsWrapperData(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case INIT_SECTION_ITEMS_HEIGHTS:\n return {\n heights: {},\n rowHeightDefault: state.rowHeightDefault,\n isLoading: false\n };\n case REFRESH_SECTION_ITEMS_HEIGHTS:\n return {\n ...state,\n heights: {\n ...state.heights\n }\n };\n case SAVE_SECTION_ITEM_HEIGHT:\n return {\n ...state,\n heights: {\n ...state.heights,\n [action.data.id]: action.data.height\n }\n };\n case UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT:\n return {\n ...state,\n rowHeightDefault: action.data || 0\n };\n case SET_SECTION_ITEMS_LOADING:\n if (\n (action.data && state.isLoading) ||\n (!action.data && !state.isLoading)\n )\n return state;\n return {\n ...state,\n isLoading: action.data\n };\n default:\n return state;\n }\n}\n","import {\n SECTION_MODEL_UPDATE,\n SECTION_MODEL_INIT,\n SECTION_MODEL_UPDATE_MODEL, SECTION_MODEL_SCROLL_UPDATE\n} from \"./routing-actions\";\nimport {\n CUSTOMER_SERVICE_MODEL,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n ROLES_MANAGER_TYPE, SHIFTS_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MENUTEMPLATE_MODEL, TYPE_SECTION_MESSAGE_MODEL,\n TYPE_SECTION_MODEL\n} from \"../../../utils/enums\";\nimport { getSeparatedValue } from \"../../../utils/objects-util\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\nimport RoleManager from \"../../../services/roleManage\";\n\nconst settingsRouteLocations = [\"/orders\", \"/menu\"]\n .concat(Object.keys(TYPE_SECTION_MODEL).map(key => TYPE_SECTION_MODEL[key]))\n .concat(\n Object.keys(ORDERING_MENU_TYPE_SECTION_MODEL).map(\n key => ORDERING_MENU_TYPE_SECTION_MODEL[key]\n )\n )\n .concat(\n Object.keys(TYPE_SECTION_DEPOT_MODEL).map(\n key => TYPE_SECTION_DEPOT_MODEL[key]\n )\n )\n .concat(\n Object.keys(MARKETPLACE_SETTINGS_MODEL).map(\n key => MARKETPLACE_SETTINGS_MODEL[key]\n )\n )\n .concat(\n Object.keys(ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL).map(\n key => ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL[key]\n )\n )\n .concat(\n Object.keys(TYPE_SECTION_MENUTEMPLATE_MODEL).map(\n key => TYPE_SECTION_MENUTEMPLATE_MODEL[key]\n )\n ).concat(\n Object.keys(TYPE_SECTION_MESSAGE_MODEL).map(\n key => TYPE_SECTION_MESSAGE_MODEL[key]\n )\n ).concat(\n Object.keys(CUSTOMER_SERVICE_MODEL).map(\n key => CUSTOMER_SERVICE_MODEL[key]\n )\n ).concat(\n Object.keys(SHIFTS_MODEL).map(\n key => SHIFTS_MODEL[key]\n )\n );\n\nconst getInitModelType = () => {\n if (\n !RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n TYPE_SECTION_MODEL.users\n )\n ) {\n const firstAuthorizedSettingsLink = Object.keys(TYPE_SECTION_MODEL)\n .filter(\n key =>\n key !== \"users\" && TYPE_SECTION_MODEL[key].split(\"/\").length === 3\n )\n .find(key =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n TYPE_SECTION_MODEL[key]\n )\n );\n const firstAuthorizedMarketplaceSettingsLink = Object.keys(\n MARKETPLACE_SETTINGS_MODEL\n )\n .filter(\n key =>\n key !== \"businessCategories\" &&\n MARKETPLACE_SETTINGS_MODEL[key].split(\"/\").length === 3\n )\n .find(key =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n MARKETPLACE_SETTINGS_MODEL[key]\n )\n );\n return (\n (firstAuthorizedSettingsLink &&\n TYPE_SECTION_MODEL[firstAuthorizedSettingsLink]) ||\n (firstAuthorizedMarketplaceSettingsLink &&\n MARKETPLACE_SETTINGS_MODEL[firstAuthorizedMarketplaceSettingsLink]) ||\n \"/\"\n );\n } else {\n return Object.keys(ORDERING_MENU_TYPE_SECTION_MODEL).includes(\n window.location.pathname\n )\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit\n : Object.keys(TYPE_SECTION_MODEL).includes(window.location.pathname)\n ? TYPE_SECTION_MODEL.users\n : Object.keys(ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL).includes(\n window.location.pathname\n )\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit\n : Object.keys(MARKETPLACE_SETTINGS_MODEL).includes(\n window.location.pathname\n )\n ? MARKETPLACE_SETTINGS_MODEL.menuTemplate\n : Object.keys(TYPE_SECTION_MESSAGE_MODEL).includes(\n window.location.pathname\n )\n ? TYPE_SECTION_MESSAGE_MODEL.messageInfo\n : Object.keys(CUSTOMER_SERVICE_MODEL).includes(window.location.pathname)\n ? CUSTOMER_SERVICE_MODEL.order\n : CUSTOMER_SERVICE_MODEL.order\n }\n};\n\nconst getInitPrevModelType = () => {\n if (\n !RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n TYPE_SECTION_MODEL.users,\n MARKETPLACE_SETTINGS_MODEL.menuTemplate\n )\n ) {\n const firstAuthorizedSettingsLink = Object.keys(TYPE_SECTION_MODEL)\n .filter(\n key =>\n key !== \"users\" && TYPE_SECTION_MODEL[key].split(\"/\").length === 3\n )\n .find(key =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n TYPE_SECTION_MODEL[key]\n )\n );\n\n const firstAuthorizedMarketplaceSettingsLink = Object.keys(\n MARKETPLACE_SETTINGS_MODEL\n )\n .filter(\n key =>\n key !== \"businessCategories\" &&\n MARKETPLACE_SETTINGS_MODEL[key].split(\"/\").length === 3\n )\n .find(key =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n MARKETPLACE_SETTINGS_MODEL[key]\n )\n );\n return {\n TYPE_SECTION_MODEL:\n (firstAuthorizedSettingsLink &&\n TYPE_SECTION_MODEL[firstAuthorizedSettingsLink]) ||\n \"/\",\n MARKETPLACE_SETTINGS_MODEL:\n (firstAuthorizedMarketplaceSettingsLink &&\n MARKETPLACE_SETTINGS_MODEL[firstAuthorizedMarketplaceSettingsLink]) ||\n \"/\",\n ORDERING_MENU_TYPE_SECTION_MODEL:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n TYPE_SECTION_DEPOT_MODEL: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n TYPE_SECTION_MENUTEMPLATE_MODEL:\n TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n TYPE_SECTION_MESSAGE_MODEL: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n CUSTOMER_SERVICE_MODEL: CUSTOMER_SERVICE_MODEL.order,\n };\n } else {\n return {\n TYPE_SECTION_MODEL: TYPE_SECTION_MODEL.users,\n MARKETPLACE_SETTINGS_MODEL: MARKETPLACE_SETTINGS_MODEL.marketplaceSettings,\n ORDERING_MENU_TYPE_SECTION_MODEL:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n TYPE_SECTION_DEPOT_MODEL: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n TYPE_SECTION_MENUTEMPLATE_MODEL:\n TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n TYPE_SECTION_MESSAGE_MODEL: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n CUSTOMER_SERVICE_MODEL: CUSTOMER_SERVICE_MODEL.order,\n };\n }\n};\n\nconst initState = {\n prevModelType: getInitPrevModelType(),\n currentModelType: getInitModelType(),\n layoutModelType: null,\n sectionModels: settingsRouteLocations.reduce((obj, path) => {\n return {\n ...obj,\n [path]: {\n id: \"\",\n model: null\n }\n };\n }, {}),\n groupSections: settingsRouteLocations.reduce((obj, path) => {\n const groupKey = getSeparatedValue(path, \"/\", 3);\n return {\n ...obj,\n [groupKey]: \"\"\n };\n }, {})\n};\n\nexport default function routing(state = initState, action) {\n switch (action.type) {\n case SECTION_MODEL_INIT:\n case REMOVE_ALL_DATA:\n return {\n prevModelType: getInitPrevModelType(),\n currentModelType: getInitModelType(),\n layoutModelType: null,\n sectionModels: settingsRouteLocations.reduce((obj, path) => {\n return {\n ...obj,\n [path]: {\n id: \"\",\n model: null\n }\n };\n }, {}),\n groupSections: settingsRouteLocations.reduce((obj, path) => {\n const groupKey = getSeparatedValue(path, \"/\", 3);\n return {\n ...obj,\n [groupKey]: \"\"\n };\n }, {})\n };\n case SECTION_MODEL_UPDATE:\n return {\n ...state,\n ...action.data\n };\n case SECTION_MODEL_UPDATE_MODEL:\n return {\n ...state,\n sectionModels: {\n ...state.sectionModels,\n [action.data.typeModel]: {\n ...state.sectionModels[action.data.typeModel],\n model: {\n ...state.sectionModels[action.data.typeModel].model,\n ...action.data.data\n }\n }\n }\n };\n case SECTION_MODEL_SCROLL_UPDATE:\n return {\n ...state,\n scrolls: {\n ...state.scrolls,\n [action.data.typeModel]: action.data.scroll,\n }\n }\n default:\n return state;\n }\n}\n","import { UPDATE_PORTAL_MAP_DATA } from \"./portalMap-actions\";\nimport { REMOVE_ALL_DATA } from \"../common-actions\";\nimport { locationIsEmpty } from \"../../../services/order\";\n\nconst initState = {\n markers: [],\n center: { lat: 0, lng: 0 },\n region: null,\n circle: null,\n cursor: null,\n isHidePolygon: false,\n isReadonly: false,\n renderPolygonsFromBusiness: false,\n alwaysShowPolygons: false,\n zoom: null,\n boundsByRegion: false,\n boundsByCircle: false,\n};\n\nexport default function portalMap(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case UPDATE_PORTAL_MAP_DATA:\n const { isInit, markers, center, region, circle, cursor, isHidePolygon, isReadonly, renderPolygonsFromBusiness, zoom, boundsByRegion, boundsByCircle, alwaysShowPolygons } = action.data;\n return isInit\n ? initState\n : {\n ...state,\n markers: (markers || []).filter(marker => marker && !locationIsEmpty(marker.location)) || [],\n center: center || null,\n region: region || null,\n circle: circle || null,\n cursor: cursor || null,\n isHidePolygon, \n isReadonly,\n renderPolygonsFromBusiness,\n alwaysShowPolygons,\n zoom,\n boundsByRegion,\n boundsByCircle,\n };\n default:\n return state;\n }\n}\n","import { UPDATE_TOOLTIP_DATA } from \"./tooltipPortal-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n position: null,\n tooltipText: \"\"\n};\n\nexport default function tooltipPortal(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case UPDATE_TOOLTIP_DATA:\n if(action.data.event) {\n const e = action.data.event.toElement || action.data.event.relatedTarget;\n if(!e) return initState;\n if (e.parentNode === action.data.context || e === action.data.context) return state;\n }\n return {\n ...state,\n ...action.data\n };\n default:\n return state;\n }\n}\n","import { isNeedToAddSeverity } from \"../../../services/notification\";\n\nimport {\n NOTIFICATIONS_UPDATE,\n ALARMS_ADD,\n ALARMS_DELETE,\n ALARMS_RESTART,\n ALARMS_UPDATE,\n ALARMS_UPDATE_ACTIVE,\n ALARMS_BAR_SET_SHOW,\n ACCOUNT_TOP_NOTIFICATION_UPDATE\n} from \"./notification-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n data: {\n notifications: [],\n alarms: [],\n isOpenAlarmsBar: false,\n accountTopNotification: null\n }\n};\n\nexport default function notifications(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case NOTIFICATIONS_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n notifications: action.data\n }\n };\n case ALARMS_ADD:\n if (!isNeedToAddSeverity(action.data.type)) return state;\n return {\n ...state,\n data: {\n ...state.data,\n alarms: state.data.alarms.concat([{ ...action.data, active: true }])\n }\n };\n case ALARMS_UPDATE_ACTIVE:\n return {\n ...state,\n data: {\n ...state.data,\n alarms: state.data.alarms.map(\n alarm =>\n alarm.id === action.data.id\n ? { ...alarm, active: action.data.active }\n : alarm\n )\n }\n };\n case ALARMS_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n alarms: action.data.reduce((accumulator, alarm) => {\n if (isNeedToAddSeverity(alarm.type))\n accumulator.push({\n ...alarm,\n active: true\n });\n return accumulator;\n }, [])\n }\n };\n case ALARMS_DELETE:\n return {\n ...state,\n data: {\n ...state.data,\n alarms: state.data.alarms.filter(alarm => alarm.id !== action.data.id)\n }\n };\n case ALARMS_RESTART:\n return {\n ...state,\n data: {\n ...state.data,\n alarms: []\n }\n };\n case ALARMS_BAR_SET_SHOW:\n return {\n ...state,\n data: {\n ...state.data,\n isOpenAlarmsBar: action.data\n }\n };\n case ACCOUNT_TOP_NOTIFICATION_UPDATE:\n return {\n ...state,\n data: {\n ...state.data,\n accountTopNotification: action.data\n }\n };\n default:\n return state;\n }\n}\n","import { MENU_PRIORITY_UPDATE, TOGGLE_NESTED_MENU } from \"./menu-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n menuHeaderPriority: null,\n isNestedMenuOpen: false,\n};\n\nexport default function menu(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA: {\n return initState;\n }\n case MENU_PRIORITY_UPDATE:\n return {\n ...state,\n menuHeaderPriority: action.data\n };\n case TOGGLE_NESTED_MENU:\n return {\n ...state,\n isNestedMenuOpen: action.isOpen\n };\n default:\n return state;\n }\n}\n","import { GLOBAL_POPUP_MESSAGE, GLOBAL_POPUP_MESSAGE_INIT } from \"./globalPopupMessage-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n isShow: false,\n isLink: false,\n title: \"\",\n message: null,\n onClose: null\n};\n\nexport default function globalPopupMessage(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n case GLOBAL_POPUP_MESSAGE_INIT:\n return initState;\n case GLOBAL_POPUP_MESSAGE:\n return { ...state, ...action.data } \n default:\n return state;\n }\n}","export const SET_PRODUCTS = \"SET_PRODUCTS\";\nexport const SET_MESSAGES = \"SET_MESSAGES\";\nexport const SET_MARKETPLACE_PAGES = \"SET_MARKETPLACE_PAGES\";\n\nexport const setProductAction = (data) => ({\n type: SET_PRODUCTS,\n data: data\n});\n\nexport const setMarketplace = data => ({\n type: SET_MESSAGES,\n data: data\n})\n\nexport const setMarketplacePages = data => ({\n type: SET_MARKETPLACE_PAGES,\n data: data\n})\n","import {SET_MARKETPLACE_PAGES, SET_MESSAGES, SET_PRODUCTS} from \"./marketplace-actions\";\nimport {\n ADD_MARKETPLACE_MESSAGE,\n ADD_MARKETPLACE_PAGES,\n DELETE_MARKETPlACE_MESSAGE,\n DELETE_MARKETPLACE_PAGE,\n UPDATE_MARKETPLACE_MESSAGE,\n UPDATE_MARKETPLACE_MESSAGE_GALLERY,\n UPDATE_MARKETPLACE_MESSAGE_GALLERY_ADD,\n UPDATE_MARKETPLACE_PAGE\n} from \"../restaurant/restaurant-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n data: {\n messages: [],\n pages: [],\n products: []\n },\n};\n\nexport default function marketplace(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case SET_PRODUCTS:\n return {\n ...state,\n data: {\n ...state.data,\n products: action.data\n }\n };\n case SET_MESSAGES:\n return {\n ...state,\n data: {\n ...state.data, message: action.data\n }\n }\n case ADD_MARKETPLACE_MESSAGE: {\n return {\n ...state,\n data: {\n ...state.data,\n message: [...state.data.message, action.data]\n }\n }\n }\n case UPDATE_MARKETPLACE_MESSAGE: {\n return {\n ...state,\n data: {\n ...state.data,\n message: state.data.message\n .map(marketplace => marketplace.id === action.data.id ? {...action.data} : marketplace)\n }\n }\n }\n case UPDATE_MARKETPLACE_MESSAGE_GALLERY: {\n return {\n ...state,\n data: {\n ...state.data,\n message: state.data.message.map(marketplace => marketplace.id === action.data.messageId\n ? {...marketplace, gallery: marketplace.gallery.map(g => g.id === action.data.data.id\n ? {...action.data.data}\n : g\n )}\n : marketplace\n )\n }\n }\n }\n case UPDATE_MARKETPLACE_MESSAGE_GALLERY_ADD: {\n return {\n ...state,\n data: {\n ...state.data,\n message: state.data.message.map(marketplace => marketplace.id === action.data.messageId\n ? {...marketplace, gallery: (marketplace.gallery || []).concat(action.data.data)}\n : marketplace\n )\n }\n }\n }\n case DELETE_MARKETPlACE_MESSAGE: {\n return {\n ...state,\n data: {\n ...state.data,\n message: state.data.message\n .filter(m => m.id !== action.id)\n }\n }\n }\n case SET_MARKETPLACE_PAGES: {\n return {\n ...state,\n data: {\n ...state.data,\n pages: action.data\n }\n }\n }\n case ADD_MARKETPLACE_PAGES: {\n return {\n ...state,\n data: {\n ...state.data,\n pages: [...state.data.pages, action.data]\n }\n }\n }\n case UPDATE_MARKETPLACE_PAGE: {\n return {\n ...state,\n data: {\n ...state.data,\n pages: state.data.pages.map(page => page.id === action.data.id ? {...action.data} : page)\n }\n }\n }\n case DELETE_MARKETPLACE_PAGE: {\n return {\n ...state,\n data: {\n ...state.data,\n pages: state.data.pages.filter(page => page.id !== action.id)\n }\n }\n }\n default:\n return state;\n }\n}\n","import { SET_EMPTY_INFO } from \"./emptyInfo-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n message: \"\"\n};\n\nexport default function emptyInfo(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case SET_EMPTY_INFO:\n return { ...state, ...action.data } \n default:\n return state;\n }\n}","import { GLOBAL_PORTAL_DATA_UPDATE } from \"./globalPortalData-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n globalIFrameUrl: null\n};\n\nexport default function globalPortalData(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case GLOBAL_PORTAL_DATA_UPDATE:\n return { ...state, ...(action.data || {}) } \n default:\n return state;\n }\n}","import { getInitModel } from \"../../../services/initModels\";\nimport { getItemsColors } from \"../../../services/restaurant\";\n\nimport { MODEL_TYPE } from \"../../../utils/enums\";\nimport { mergeArrays } from \"../../../utils/objects-util\";\n\nimport { EXTERNAL_CYCLES_UPDATE_LIST, EXTERNAL_CYCLE_REMOVE, EXTERNAL_CYCLE_UPDATE } from \"./externalCycles-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n data: []\n};\n\nexport default function externalCycles(state = initState, action) {\n const colors = getItemsColors(state.data);\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case EXTERNAL_CYCLES_UPDATE_LIST:\n return {\n ...state,\n data: (action.data || [])\n .map(externalCycle=> getInitModel(MODEL_TYPE.externalCycleModel, {\n ...externalCycle, \n color: colors[externalCycle.id]\n }))\n }\n case EXTERNAL_CYCLE_UPDATE:\n if(!action.data) return state;\n return {\n ...state,\n data: mergeArrays(\n state.data || [], \n [getInitModel(MODEL_TYPE.externalCycleModel, { ...action.data, color: colors[action.data.id] })]\n )\n }\n case EXTERNAL_CYCLE_REMOVE:\n if(!Array.isArray(action.data)) return state; \n return {\n ...state,\n data: state.data.filter(f=> !action.data.includes(f.id))\n }\n default:\n return state;\n }\n}","export const SET_MENU_TEMPLATES = \"SET_MENU_TEMPLATES\";\nexport const DELETE_MENU_TEMPLATE = \"DELETE_MENU_TEMPLATES\";\nexport const ADD_MENU_TEMPLATE = \"ADD_MENU_TEMPLATE\";\nexport const UPDATE_MENU_TEMPLATE = \"UPDATE_MENU_TEMPLATE\";\nexport const SET_GLOBAL_MENU_TEMPLATES = \"SET_GLOBAL_MENU_TEMPLATES\";\n\nexport const setMenuTemplatesAC = data => ({\n type: SET_MENU_TEMPLATES,\n payload: data\n});\n\nexport const deleteMenuTemplateAC = id => ({\n type: DELETE_MENU_TEMPLATE,\n payload: id\n});\n\nexport const addMenuTemplateAC = template => ({\n type: ADD_MENU_TEMPLATE,\n payload: template\n});\n\nexport const updateMenuTemplateAC = newTemplate => ({\n type: UPDATE_MENU_TEMPLATE,\n payload: newTemplate\n});\n\nexport const setGlobalMenuTemplates = data => ({\n type: SET_GLOBAL_MENU_TEMPLATES,\n payload: data\n});\n","import {ADD_MENU_TEMPLATE, DELETE_MENU_TEMPLATE, SET_GLOBAL_MENU_TEMPLATES, SET_MENU_TEMPLATES, UPDATE_MENU_TEMPLATE} from \"./menuTemplate-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\nconst initState = {\n data: {}\n};\nexport default function menuTemplate(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA: {\n return initState;\n }\n case SET_MENU_TEMPLATES: {\n return {\n ...state,\n data: {\n ...state.data,\n templates: action.payload\n }\n }\n }\n case DELETE_MENU_TEMPLATE: {\n return {\n ...state,\n data: {\n ...state.data,\n templates: state.data.templates.filter(tmp => tmp.id !== action.payload)\n }\n }\n }\n case ADD_MENU_TEMPLATE: {\n const oldTemplates = (state.data && state.data.templates) || [];\n return {\n ...state,\n data: {\n ...state.data,\n templates: [...oldTemplates, action.payload]\n }\n }\n }\n case UPDATE_MENU_TEMPLATE: {\n return {\n ...state,\n data: {\n ...state.data,\n templates: state.data.templates.map(el => el.id === action.payload.id ? action.payload : el)\n }\n }\n }\n case SET_GLOBAL_MENU_TEMPLATES: {\n return {\n ...state,\n data: { ...state.data, globalTemplates: action.payload }\n }\n }\n default:\n return state;\n }\n}\n","export const CONTROL_CENTER_REFRESH_LOADING = \"CONTROL_CENTER_REFRESH_LOAD\";\n\nexport function actionControlCenterRefreshLoading(data) {\n return { type: CONTROL_CENTER_REFRESH_LOADING, data };\n}","import { CONTROL_CENTER_REFRESH_LOADING } from \"./loaders-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n controlCenterRefresh: false\n};\n\nexport default function loaders(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case CONTROL_CENTER_REFRESH_LOADING:\n return { ...state, controlCenterRefresh: action.data }\n default:\n return state;\n }\n}","import {\n ADD_DIALOG_SUPPORT_CHAT,\n PULLED_SUPPORT_DIALOG,\n SAVE_SUPPORT_CHAT_SESSION,\n SET_DIALOGS_SUPPORT_CHAT,\n SET_SHOW_SUPPORT_CHAT, SET_UNREAD_MESSAGES\n} from \"./supprtChat-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n session: null,\n isShowChat: false,\n dialogs: [],\n unreadMessages: 0,\n};\n\nconst supportChat = (state = initState, {type, payload}) => {\n switch (type) {\n case REMOVE_ALL_DATA: {\n return initState;\n }\n case SAVE_SUPPORT_CHAT_SESSION: {\n return {\n ...state,\n session: payload,\n }\n }\n case SET_UNREAD_MESSAGES: {\n return {\n ...state,\n unreadMessages: payload ,\n }\n }\n case SET_SHOW_SUPPORT_CHAT: {\n return {\n ...state,\n isShowChat: payload,\n }\n }\n case SET_DIALOGS_SUPPORT_CHAT: {\n return {\n ...state,\n dialogs: payload,\n }\n }\n case ADD_DIALOG_SUPPORT_CHAT: {\n return {\n ...state,\n dialogs: [...state.dialogs, payload],\n }\n }\n case PULLED_SUPPORT_DIALOG: {\n return {\n ...state,\n dialogs: state.dialogs.filter(d => d.id !== payload)\n }\n }\n default: {\n return state;\n }\n }\n}\n\nexport default supportChat;","import {\n ADD_NEW_BILLING_ADDRESS,\n ADD_NEW_BILLING_CARD, BILLING_INFO_UPDATE, DELETE_BILLING_ADDRESS,\n DELETE_BILLING_CARD, SET_BILLING_ADDRESSES,\n SET_BILLING_CARDS,\n SET_BILLING_IS_FETCH,\n} from \"./billing-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n cards: null,\n addresses: null,\n isFetch: false,\n creditCards: [],\n};\n\nexport default function billing(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA: {\n return initState;\n }\n case BILLING_INFO_UPDATE: {\n return {\n ...state,\n ...action.data\n }\n }\n case SET_BILLING_CARDS: {\n return {\n ...state,\n creditCards: action.payload\n }\n }\n case DELETE_BILLING_CARD: {\n return {\n ...state,\n creditCards: state.creditCards.filter(p => p.id !== action.payload.id)\n }\n }\n case ADD_NEW_BILLING_CARD: {\n return {\n ...state,\n creditCards: (state.creditCards || []).map(p => ({...p, default: false})).concat(action.payload)\n }\n }\n case SET_BILLING_ADDRESSES: {\n return {\n ...state,\n addresses: action.payload\n }\n }\n case DELETE_BILLING_ADDRESS: {\n return {\n ...state,\n addresses: state.addresses.filter(p => p.id !== action.payload.id)\n }\n }\n case ADD_NEW_BILLING_ADDRESS: {\n return {\n ...state,\n addresses: (state.addresses || []).concat(action.payload)\n }\n }\n\n case SET_BILLING_IS_FETCH: {\n return {\n ...state,\n isFetch: action.payload\n }\n }\n default:\n return state;\n }\n}\n","import { CUSTOMERS_UPDATE, CUSTOMER_REVIEWS_UPDATE, CUSTOMER_UPDATE } from \"./customer-actions\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n reviews: []\n};\n\nexport default function customer(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case CUSTOMER_REVIEWS_UPDATE:\n return {\n ...state,\n reviews: action.data\n };\n case CUSTOMERS_UPDATE:\n return {\n ...state,\n customers: action.data\n };\n case CUSTOMER_UPDATE:\n if(!action.data || !action.data.consumerId) return state;\n return {\n ...state,\n customers: (state.customers || []).map(customer=> customer.consumerId === action.data.consumerId\n ? { ...customer, ...action.data }\n : customer\n )\n };\n default:\n return state;\n }\n}","import {\n ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS,\n ADD_TEMPLATE_BATCH_DRAFT, CHANGE_TEMPORARY_CONSUMER,\n DELET_BATCH_CUSTOMERS_TABLE_ROW,\n DELETE_TEMPLATE_DRAFT,\n RESET_CUSTOMER_ORDER_EDIT_INFO,\n SET_BATCH_CUSTOMERS_TABLE, SET_BULK_EMAIL,\n SET_BUSINESS_BY_FILTERS, SET_CANCEL_PAYMENT_IDS,\n SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING,\n SET_EDIT_CUSTOMER_ENABLED_PAYMENTS,\n SET_EDIT_CUSTOMER_GIFT_DATA,\n SET_EDIT_CUSTOMER_ORDER_ADDRESS,\n SET_EDIT_CUSTOMER_ORDER_COURIER_TIP,\n SET_EDIT_CUSTOMER_ORDER_CUTLERY,\n SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY,\n SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME,\n SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE,\n SET_EDIT_CUSTOMER_ORDER_INFO,\n SET_EDIT_CUSTOMER_ORDER_LOADING,\n SET_EDIT_CUSTOMER_ORDER_MENU,\n SET_EDIT_CUSTOMER_ORDER_PAYMENTS,\n SET_EDIT_CUSTOMER_ORDER_PRODUCTS,\n SET_EDIT_CUSTOMER_ORDER_SUMMARY,\n SET_EDIT_ORDER_COMMENT,\n SET_EDIT_ORDER_TERRITORY,\n SET_IS_SINGLE_ORDER, SET_INVOICE_RECIPIENT,\n SET_ORDER_TIME_SLOTS,\n SET_PREVIOUS_ORDERS,\n SET_PREVIOUS_ORDERS_ADDRESS,\n SET_TEMPLATE_BATCH_DRAFT,\n UPDATE_BATCH_CUSTOMERS_TABLE_ROW,\n UPDATE_TEMPLATE_BATCH_DRAFT\n} from \"./editCustomerOrder-action\";\nimport uuid from \"draft-js/lib/uuid.js\";\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\nimport {\n CHANGE_ORDER_COUPON,\n CHANGE_RECALCULATED_DISCOUNTS,\n ORDEREDIT_SET_CANCEL_OFFER_IDS,\n ORDEREDIT_SET_PAYMENT_INTENT\n} from \"../orderEdit/orderEdit-actions.js\";\n\nconst initState = {\n confirmLoading: false,\n coupon: '',\n loading: false,\n orderInfo: null,\n menu: null,\n products: [],\n deliveryType: null,\n courierTip: null,\n deliveryStrategy: null,\n deliveryTime: null,\n cancelPaymentIds: null,\n canceledOffer: [],\n recalculateDiscounts: false,\n cutlery: null,\n payments: [],\n enabledPayments: [],\n address: null,\n territory: null,\n giftOption: {\n name: '',\n phone: '',\n greeting: '',\n isGift: false,\n },\n comment: '',\n cartId: uuid(),\n previousOrders: null,\n previousAddress: null,\n isSingleOrder: true,\n batchDraft: null,\n batchTable: null,\n bulkEmail: '',\n invoice_recipient:''\n};\n\nexport default function editCustomerOrderReducer(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA: {\n return initState;\n }\n case RESET_CUSTOMER_ORDER_EDIT_INFO: {\n return { ...initState, cartId: uuid(), ...action.payload };\n }\n case SET_EDIT_CUSTOMER_ORDER_INFO: {\n return {\n ...state, orderInfo: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_MENU: {\n return {\n ...state,\n menu: action.payload,\n summary: null,\n products: state.menu?.id === action.payload?.id ? state.products : [],\n }\n }\n case SET_BULK_EMAIL: {\n return {\n ...state,\n bulkEmail: action.payload\n }\n }\n case SET_INVOICE_RECIPIENT: {\n return {\n ...state,\n invoice_recipient: action.payload\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_SUMMARY: {\n return {\n ...state, summary: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_PRODUCTS: {\n return {\n ...state, products: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE: {\n return {\n ...state, deliveryType: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_LOADING: {\n return {\n ...state, loading: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_COURIER_TIP: {\n return {\n ...state, courierTip: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_PAYMENTS: {\n return {\n ...state, payments: action.payload.map(p => ({ ...p, saleAmount: parseFloat(p.saleAmount.toFixed(2)) })),\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY: {\n return {\n ...state, deliveryStrategy: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME: {\n return {\n ...state, deliveryTime: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_CUTLERY: {\n return {\n ...state, cutlery: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_ORDER_ADDRESS: {\n const hasAddress = (state.previousAddress || []).find(a => a.id === action.payload.id);\n return {\n ...state,\n previousAddress: hasAddress\n ? state.previousAddress.map(p => p.id === action.payload.id ? action.payload : p)\n : state.previousAddress\n ? [action.payload, ...state.previousAddress]\n : null,\n address: action.payload,\n }\n }\n case SET_EDIT_CUSTOMER_GIFT_DATA: {\n return {\n ...state, giftOption: { ...state.giftOption, ...action.payload }\n }\n }\n case SET_EDIT_CUSTOMER_ENABLED_PAYMENTS: {\n return {\n ...state, enabledPayments: action.payload\n }\n }\n case SET_ORDER_TIME_SLOTS: {\n return {\n ...state, timeSlots: action.payload\n }\n }\n case SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING: {\n return {\n ...state, confirmLoading: action.payload\n }\n }\n case SET_PREVIOUS_ORDERS: {\n return {\n ...state, previousOrders: action.payload\n }\n }\n case SET_IS_SINGLE_ORDER: {\n return {\n ...state, isSingleOrder: action.payload\n }\n }\n case SET_PREVIOUS_ORDERS_ADDRESS: {\n return {\n ...state, previousAddress: action.payload\n }\n }\n case SET_BUSINESS_BY_FILTERS: {\n return {\n ...state, business: action.payload\n }\n }\n case SET_EDIT_ORDER_COMMENT: {\n return {\n ...state, comment: action.payload\n }\n }\n case SET_EDIT_ORDER_TERRITORY: {\n return {\n ...state, territory: action.payload\n }\n }\n case SET_BATCH_CUSTOMERS_TABLE: {\n return {\n ...state, batchTable: action.payload\n }\n }\n case SET_CANCEL_PAYMENT_IDS: {\n return {\n ...state, cancelPaymentIds: action.payload,\n }\n }\n case UPDATE_BATCH_CUSTOMERS_TABLE_ROW: {\n return {\n ...state,\n batchTable: state.batchTable\n ? {\n ...state.batchTable,\n consumers_data:\n state.batchTable.consumers_data.map(row => (row[action.payload.sourceKey] || row.id) === (action.payload.row[action.payload.updateKey] || action.payload.row.id)\n ? ({...action.payload.row })\n : row)\n } : null,\n }\n }\n case SET_TEMPLATE_BATCH_DRAFT: {\n return {\n ...state, batchDraft: action.payload,\n }\n }\n case ADD_TEMPLATE_BATCH_DRAFT: {\n return {\n ...state, batchDraft: state.batchDraft ? state.batchDraft.concat(action.payload) : action.payload,\n }\n }\n case UPDATE_TEMPLATE_BATCH_DRAFT: {\n return {\n ...state,\n batchDraft:\n state.batchDraft\n ? state.batchDraft.map(draft => draft.id === action.payload.id ? action.payload : draft)\n : state.batchDraft,\n }\n }\n case DELETE_TEMPLATE_DRAFT: {\n return {\n ...state, batchDraft: state.batchDraft ? state.batchDraft.filter(d => d.id !== action.payload) : null,\n }\n }\n case ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS: {\n return {\n ...state, batchTable: state.batchTable ? {...state.batchTable, consumers_data: [...state.batchTable.consumers_data, action.payload]} : null,\n }\n }\n case DELET_BATCH_CUSTOMERS_TABLE_ROW: {\n return {\n ...state, batchTable: state.batchTable ? {\n ...state.batchTable,\n consumers_data: state.batchTable.consumers_data.filter(row => !(row.id === action.payload || row.temporaryId === action.payload))\n } : null,\n }\n }\n case CHANGE_TEMPORARY_CONSUMER: {\n return {\n ...state, batchTable: state.batchTable\n ? {\n ...state.batchTable,\n consumers_data: state.batchTable.consumers_data.map(c => c.temporaryId === action.payload.temporaryId ? action.payload.row : c)\n }\n : null,\n }\n }\n case ORDEREDIT_SET_PAYMENT_INTENT: {\n return {\n ...state, paymentIntentData: action.data,\n }\n }\n case ORDEREDIT_SET_CANCEL_OFFER_IDS: {\n return {\n ...state, canceledOffer: action.data,\n }\n }\n case CHANGE_RECALCULATED_DISCOUNTS: {\n return {\n ...state, recalculateDiscounts: action.data,\n }\n }\n case CHANGE_ORDER_COUPON: {\n return {\n ...state, coupon: action.data,\n }\n }\n default:\n return state;\n }\n}\n","import { UPDATE } from \"../common-actions\";\n\nexport const ACTIVE_STATE_CYCLES = \"ACTIVE_STATE_CYCLES\";\nexport const ACTIVE_STATE_CYCLES_UPDATE = ACTIVE_STATE_CYCLES + UPDATE\nexport const ACTIVE_STATE_CYCLES_SET = \"ACTIVE_STATE_CYCLES_SET\"\nexport const ACTIVE_STATE_CYCLE = \"ACTIVE_STATE_CYCLE\"\nexport const ACTIVE_STATE_CYCLE_UPDATE = ACTIVE_STATE_CYCLE + UPDATE\n\n\nexport function actionActiveStateCyclesSet(data) {\n return { type: ACTIVE_STATE_CYCLES_SET, data, additionalParams: { batched: true } };\n}\n\nexport function actionActiveStateCyclesUpdate(data) {\n return { type: ACTIVE_STATE_CYCLES_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionActiveStateCycleUpdate(data) {\n return { type: ACTIVE_STATE_CYCLE_UPDATE, data, additionalParams: { batched: true } };\n}","import {\n ACTIVE_STATE_CYCLE_UPDATE,\n ACTIVE_STATE_CYCLES_SET,\n ACTIVE_STATE_CYCLES_UPDATE,\n} from './cycles-actions.js';\nimport {REMOVE_ALL_DATA} from \"../common-actions.js\";\n\nconst initState = {\n data: [],\n};\n\nexport default function activeStateCycles(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case ACTIVE_STATE_CYCLES_SET:\n if (!action.data) return state;\n return {\n ...state,\n data: action.data,\n };\n case ACTIVE_STATE_CYCLES_UPDATE:\n if (!action.data) return state;\n return {\n ...state,\n data: [...state.data, action.data],\n };\n case ACTIVE_STATE_CYCLE_UPDATE:\n if (!action.data) return state;\n return {\n ...state,\n data: state.data.map(cycle => (cycle.courierId === action.data.courierId ? {...cycle, ...action.data} : cycle)),\n };\n default:\n return state;\n }\n}\n","import {REMOVE_ALL_DATA} from '../common-actions';\nimport {\n ADD_RECONCILIATIONS_CONFIGURATIONS,\n ADD_RECONCILIATIONS_PERIODS,\n LOAD_RECONCILIATIONS_CONFIGURATIONS,\n LOAD_RECONCILIATIONS_PERIOD,\n LOAD_RECONCILIATIONS_PERIODS,\n RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET,\n RECONCILIATIONS_PERIODS_COLLAPSE_TABLE,\n RECONCILIATIONS_PERIODS_UNMOUNT_TABLE,\n UPDATE_RECONCILIATIONS_CONFIGURATIONS,\n UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE, UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS,\n} from './reconciliationModel-actions.js';\n\nconst initState = {\n data: {\n summary: { periods: [] },\n configurations: [],\n depots: []\n },\n config: {\n isCollapsedTable: false,\n }\n};\n\nexport default function reconciliations(state = initState, action) {\n switch (action.type) {\n case REMOVE_ALL_DATA:\n return initState;\n case LOAD_RECONCILIATIONS_CONFIGURATIONS: {\n return {\n ...state,\n data: {\n ...state.data,\n configurations: action?.data || [],\n },\n };\n }\n case ADD_RECONCILIATIONS_CONFIGURATIONS: {\n return {\n ...state,\n data: {\n ...state.data,\n configurations: [...(state?.data?.configurations || []), action?.data],\n },\n };\n }\n case UPDATE_RECONCILIATIONS_CONFIGURATIONS: {\n return {\n ...state,\n data: {\n ...state.data,\n configurations: state.data?.configurations?.map(configuration =>\n configuration.id === action.data.id ? action.data : configuration\n ),\n },\n };\n }\n case UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE: {\n return {\n ...state,\n data: {\n ...state.data,\n mergedModel: action.data,\n }\n }\n }\n\n case UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS: {\n return {\n ...state,\n data: {\n ...state.data,\n configurationSettings: action.data,\n }\n }\n }\n\n case RECONCILIATIONS_PERIODS_COLLAPSE_TABLE: {\n return {\n ...state,\n config: {\n ...state.config,\n isCollapsedTable: action.data\n }\n }\n }\n\n case RECONCILIATIONS_PERIODS_UNMOUNT_TABLE: {\n return {\n ...state,\n config: {\n ...state.config,\n isCollapsedTable: false\n }\n }\n }\n case RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET: {\n\n return {\n ...state,\n data: {\n ...state.data,\n depots: action?.data.depots || [],\n },\n };\n }\n case LOAD_RECONCILIATIONS_PERIODS: {\n return {\n ...state,\n data: {\n ...state.data,\n summary: { ...action?.data },\n },\n };\n }\n case ADD_RECONCILIATIONS_PERIODS: {\n return {\n ...state,\n data: {\n ...state.data,\n // summary: {...state?.data?.summary, Periods: [...(state?.data?.summary.Periods || []), action?.data]},\n },\n };\n }\n case LOAD_RECONCILIATIONS_PERIOD: {\n let result = [...state?.data?.summary.periods];\n if (action?.data) {\n const findPeriod = result.find(e => e.id === action?.data.id);\n if (findPeriod) {\n result = result.map(e => {\n return findPeriod.id === e.id ? { ...action?.data } : { ...e };\n });\n } else {\n result.push(action?.data);\n }\n }\n\n return {\n ...state,\n data: {\n ...state.data,\n summary: { ...state?.data?.summary, periods: [...result] },\n },\n };\n }\n default:\n return state;\n }\n}\n","import init from './reducers/init/init-reducer';\nimport authentication from './reducers/authentication/authentication-reducer';\nimport restaurant from './reducers/restaurant/restaurant-reducer';\nimport userModel from './reducers/userModel/userModel-reducer';\nimport order from './reducers/order/order-reducer';\nimport orderEdit from './reducers/orderEdit/orderEdit-reducer';\nimport marker from './reducers/marker/marker-reducer';\nimport sectionsWrapperData from './reducers/sectionsWrapperData/sectionsWrapperData-reducer';\nimport sectionModel from './reducers/routing/routing-reducer';\nimport portalMap from './reducers/portalMap/portalMap-reducer';\nimport tooltipPortal from './reducers/tooltipPortal/tooltipPortal-reducer';\nimport notifications from './reducers/notification/notification-reducer';\nimport menu from './reducers/menu/menu-reducer';\nimport globalPopupMessage from './reducers/globalPopupMessage/globalPopupMessage-reducer';\nimport marketplace from './reducers/marketplace/marketplace-reducer';\nimport emptyInfo from './reducers/emptyInfo/emptyInfo-reducer';\nimport globalPortalData from './reducers/globalPortalData/globalPortalData-reducer';\nimport externalCycles from './reducers/externalCycles/externalCycles-reducer';\nimport menuTemplate from './reducers/menuTemplate/menuTemplate-reducer';\nimport loaders from './reducers/loaders/loaders-reducer';\nimport supportChat from './reducers/supportChat/supportChat-reducer';\nimport billing from './reducers/billing/billing-reducer';\nimport customer from './reducers/customer/customer-reducer';\nimport editCustomerOrderReducer from './reducers/editCustomerOrder/editCustomerOrder-reducer';\nimport activeStateCycles from './reducers/cycles/cycles-reducer.js';\nimport reconciliations from './reducers/reconciliationModel/reconciliationModel-reducer.js';\n\nexport default {\n init,\n authentication,\n restaurant,\n userModel,\n order,\n marker,\n orderEdit,\n sectionsWrapperData,\n sectionModel,\n portalMap,\n tooltipPortal,\n notifications,\n menu,\n globalPopupMessage,\n marketplace,\n emptyInfo,\n globalPortalData,\n externalCycles,\n activeStateCycles,\n menuTemplate,\n loaders,\n supportChat,\n billing,\n customer,\n editCustomerOrder: editCustomerOrderReducer,\n reconciliations\n};\n","import { LOCATION_CHANGE, push } from \"connected-react-router\";\nimport { put, takeEvery, select } from \"redux-saga/effects\";\n\nimport { createSettingsSectionModel } from \"../../services/sectionModelFactory\";\n\nimport { createSaga } from \"../../utils/sagaHelper\";\nimport { getSeparatedValue } from \"../../utils/objects-util\";\nimport {\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_MODEL,\n ROLES_MANAGER_TYPE,\n SECTION_MODEL_FACTORY_TYPE,\n TYPE_SECTION_DEPOT_MODEL,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_MENUTEMPLATE_MODEL, TYPE_SECTION_MESSAGE_MODEL,\n} from \"../../utils/enums\";\nimport { getHistoryLocationParams } from \"../../utils/routesHelper\";\n\nimport RoleManager from \"../../services/roleManage\";\nimport InfoMessageService from \"../../services/infoMessage\";\nimport { currentUserIsDepotRole } from \"../../services/userModel\";\n\nimport Store from \"../store\";\nimport { getSectionModel } from \"../selectors\";\nimport {\n actionUpdateSectionModel,\n SECTION_MODEL_GET,\n SECTION_MODEL_INIT,\n SECTION_MODEL_REFRESH\n} from \"../reducers/routing/routing-actions\";\nimport { actionSetEmptyInfoMessage } from \"../reducers/emptyInfo/emptyInfo-actions\";\nimport { excludedUrls } from \"../../utils/constants\";\n\nfunction* routeSaga(action) {\n yield routeModelsSaga(action);\n}\n\nfunction* routeModelsSaga(action) {\n yield* createSaga(function*() {\n const { location, isRefresh } = action.payload;\n const check = InfoMessageService.instance.checkAction(location.pathname);\n\n if (check) {\n yield put(actionSetEmptyInfoMessage({ message: check.message }));\n\n if (check.skipCheckPathname !== location.pathname) {\n Store.history.push(check.pathname);\n }\n return;\n }\n\n if (isRefresh) {\n yield put({ type: SECTION_MODEL_INIT });\n }\n\n if (\n location.pathname === \"/\" &&\n !RoleManager.instance.isAuthorized(ROLES_MANAGER_TYPE.menu, \"/\")\n ) {\n Store.history.push(RoleManager.instance.getFirstAuthorizedLink());\n }\n\n if (location.pathname && location.pathname.includes(\"/settings\")) {\n const pathSplit = location.pathname.split(\"/\");\n const settingsAutorized = RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n \"/settings\"\n );\n const pathnameAutorized = RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n location.pathname\n );\n const pathSplitAutorized =\n pathSplit.length > 2\n ? RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n `/${pathSplit[1]}/${pathSplit[2]}`\n )\n : true;\n\n if (!settingsAutorized || !pathnameAutorized) {\n const keys = Object.keys(TYPE_SECTION_MODEL);\n const first = keys.find(key =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n TYPE_SECTION_MODEL[key]\n )\n );\n\n if (first) {\n Store.history.push(first);\n }\n return;\n } else if (!pathSplitAutorized) {\n Store.history.push(RoleManager.instance.getFirstAuthorizedLink());\n return;\n }\n } else {\n if (\n location.pathname !== \"/\" &&\n !excludedUrls.includes(location.pathname) &&\n !currentUserIsDepotRole() &&\n !RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n location.pathname\n )\n ) {\n yield put(push(\"/\"));\n return;\n }\n }\n\n if (location.pathname && location.pathname.includes(\"/shifts\")) {\n yield shiftsRouteSaga(action.payload);\n return;\n }\n if (location.pathname && location.pathname.includes(\"/reconciliations\")) {\n yield reconciliationsRouteSaga(action.payload);\n return;\n }\n\n if (location.pathname && location.pathname.includes(\"/adminorders\")) {\n yield customerServiceRouteSaga(action.payload);\n return;\n }\n\n if (location.pathname === \"/orders\") {\n yield ordersRouteSaga(action.payload);\n }\n\n if (location.pathname === \"/menu\") {\n yield restaurateurMenuRouteSaga(action.payload);\n }\n\n if (\n Object.keys(TYPE_SECTION_MODEL).some(\n key => TYPE_SECTION_MODEL[key] === location.pathname\n )\n ) {\n yield settingsRouteSaga({\n ...action.payload,\n model: \"TYPE_SECTION_MODEL\"\n });\n }\n\n if (\n Object.keys(ORDERING_MENU_TYPE_SECTION_MODEL).some(\n key => ORDERING_MENU_TYPE_SECTION_MODEL[key] === location.pathname\n )\n ) {\n yield orderingMenuRouteSaga(action.payload);\n }\n\n if (\n Object.keys(TYPE_SECTION_DEPOT_MODEL).some(\n key => TYPE_SECTION_DEPOT_MODEL[key] === location.pathname\n )\n ) {\n yield settingsDepotRouteSaga(action.payload);\n }\n\n if (\n Object.keys(MARKETPLACE_SETTINGS_MODEL).some(\n key => MARKETPLACE_SETTINGS_MODEL[key] === location.pathname\n )\n ) {\n yield settingsRouteSaga({\n ...action.payload,\n model: \"MARKETPLACE_SETTINGS_MODEL\"\n });\n }\n\n if (\n Object.keys(ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL).some(\n key => ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL[key] === location.pathname\n )\n ) {\n yield orderingMenuMenuTemplateRouteSaga(action.payload);\n }\n\n if (\n Object.keys(TYPE_SECTION_MENUTEMPLATE_MODEL).some(\n key => TYPE_SECTION_MENUTEMPLATE_MODEL[key] === location.pathname\n )\n ) {\n yield marketplaceMenuTemplateRouteSaga(action.payload);\n }\n if (\n Object.keys(TYPE_SECTION_MESSAGE_MODEL).some(\n key => TYPE_SECTION_MESSAGE_MODEL[key] === location.pathname\n )\n ) {\n yield marketplaceMessageSettingsRouteSaga(action.payload);\n }\n\n }, action.type);\n}\n\nfunction* marketplaceMenuTemplateRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const groupSectionItem = getSeparatedValue(pathname, \"/\", 4);\n const { id, parentId } = getHistoryLocationParams(search);\n\n let newModel =\n sectionModel.sectionModels[pathname].model ||\n createSettingsSectionModel({ typeModel: pathname, params: search });\n if (\n sectionModel.sectionModels[pathname].model &&\n newModel.controls &&\n newModel.controls.length\n ) {\n newModel.controls = newModel.controls.map(control => {\n const controlUrl =\n (control.url && control.url.split(\"?parentId\")) || [];\n return controlUrl.length > 1\n ? { ...control, url: controlUrl[0] + \"?parentId=\" + id }\n : control;\n });\n }\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n MARKETPLACE_SETTINGS_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: { id: id || parentId, model: newModel }\n },\n groupSections: {\n ...sectionModel.groupSections,\n [groupSectionItem]: pathname + search\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* marketplaceMessageSettingsRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const groupSectionItem = getSeparatedValue(pathname, \"/\", 4);\n const { id, parentId } = getHistoryLocationParams(search);\n\n let newModel =\n sectionModel.sectionModels[pathname].model ||\n createSettingsSectionModel({ typeModel: pathname, params: search });\n if (\n sectionModel.sectionModels[pathname].model &&\n newModel.controls &&\n newModel.controls.length\n ) {\n newModel.controls = newModel.controls.map(control => {\n const controlUrl =\n (control.url && control.url.split(\"?parentId\")) || [];\n return controlUrl.length > 1\n ? { ...control, url: controlUrl[0] + \"?parentId=\" + id }\n : control;\n });\n }\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n TYPE_SECTION_MESSAGE_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: { id: id || parentId, model: newModel }\n },\n groupSections: {\n ...sectionModel.groupSections,\n [groupSectionItem]: pathname + search\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* settingsDepotRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const groupSectionItem = getSeparatedValue(pathname, \"/\", 4);\n const { id, parentId } = getHistoryLocationParams(search);\n\n let newModel =\n sectionModel.sectionModels[pathname].model ||\n createSettingsSectionModel({ typeModel: pathname, params: search });\n if (\n sectionModel.sectionModels[pathname].model &&\n newModel.controls &&\n newModel.controls.length\n ) {\n newModel.controls = newModel.controls.map(control => {\n const controlUrl =\n (control.url && control.url.split(\"?parentId\")) || [];\n return controlUrl.length > 1\n ? { ...control, url: controlUrl[0] + \"?parentId=\" + id }\n : control;\n });\n }\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n TYPE_SECTION_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: { id: id || parentId, model: newModel }\n },\n groupSections: {\n ...sectionModel.groupSections,\n [groupSectionItem]: pathname + search\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* settingsRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const groupSectionItem = getSeparatedValue(pathname, \"/\", 3);\n const { id, parentId } = getHistoryLocationParams(search);\n\n const isForceUpdateColumns = [\n TYPE_SECTION_MODEL.depotsCategoriesEdit\n ].includes(pathname);\n\n let newModel =\n sectionModel.sectionModels[pathname].model ||\n createSettingsSectionModel({ typeModel: pathname, params: search });\n if (\n sectionModel.sectionModels[pathname].model &&\n newModel.controls &&\n newModel.controls.length\n ) {\n newModel.controls = newModel.controls.map(control => {\n const controlUrl =\n (control.url && control.url.split(\"?parentId\")) || [];\n return controlUrl.length > 1\n ? { ...control, url: controlUrl[0] + \"?parentId=\" + id }\n : control;\n });\n }\n\n if (isForceUpdateColumns) {\n const updModel = createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })[\"columns\"];\n newModel.columns = updModel;\n }\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n [action.model]: pathname\n },\n currentModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: { id: id || parentId, model: newModel }\n },\n groupSections: {\n ...sectionModel.groupSections,\n [groupSectionItem]: pathname + search\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* ordersRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n\n yield put(\n actionUpdateSectionModel({\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: {\n id: search,\n model:\n sectionModel.sectionModels[pathname].model ||\n createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })\n }\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* restaurateurMenuRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { id, parentId } = getHistoryLocationParams(search);\n const model =\n (sectionModel && sectionModel.sectionModels[pathname].model) ||\n createSettingsSectionModel({ typeModel: pathname, params: search });\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: sectionModel.prevModelType,\n currentModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: {\n id: id || parentId,\n model: model\n }\n }\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* shiftsRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let sectionModels = { ...sectionModel.sectionModels };\n let groupSections = { ...sectionModel.groupSections };\n const prevExistedModel = (sectionModels[pathname] || {}).model || null;\n const newSectionModel = createSettingsSectionModel({\n typeModel: pathname,\n params: search\n });\n\n if(prevExistedModel?.skipUpdateFilterOptions) {\n newSectionModel.filterOptions = prevExistedModel.filterOptions;\n }\n\n sectionModels = {\n ...sectionModels,\n [pathname]: {\n id: subToId || subId || id || parentId,\n model: newSectionModel\n }\n };\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n SHIFTS_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels,\n groupSections\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* reconciliationsRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let sectionModels = { ...sectionModel.sectionModels };\n let groupSections = { ...sectionModel.groupSections };\n\n sectionModels = {\n ...sectionModels,\n [pathname]: {\n id: subToId || subId || id || parentId,\n model: createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })\n }\n };\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n RECONCILIATIONS_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels,\n groupSections\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\n\nfunction* customerServiceRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let sectionModels = { ...sectionModel.sectionModels };\n let groupSections = { ...sectionModel.groupSections };\n\n sectionModels = {\n ...sectionModels,\n [pathname]: {\n id: subToId || subId || id || parentId,\n model: createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })\n }\n };\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n CUSTOMER_SERVICE_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels,\n groupSections\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\n\nfunction* orderingMenuMenuTemplateRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let sectionModels = { ...sectionModel.sectionModels };\n let groupSections = { ...sectionModel.groupSections };\n\n Object.keys(groupSections).forEach(key => {\n if (key.includes(\"/orderingmenu\")) {\n groupSections[key] = key + \"?id=\" + (parentId || id);\n }\n });\n\n sectionModels = {\n ...sectionModels,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: {\n ...sectionModels[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit],\n id: parentId || id,\n model: createSettingsSectionModel({\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n params: \"?id=\" + (parentId || id)\n })\n },\n [pathname]: {\n id: subToId || subId || id || parentId,\n model: createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })\n }\n };\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels,\n groupSections\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\n\nfunction* orderingMenuRouteSaga(action) {\n try {\n const { pathname, search } = action.location;\n const sectionModel = yield select(getSectionModel);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let sectionModels = { ...sectionModel.sectionModels };\n let groupSections = { ...sectionModel.groupSections };\n\n Object.keys(groupSections).forEach(key => {\n if (key.includes(\"/orderingmenu\")) {\n groupSections[key] = key + \"?id=\" + (parentId || id);\n }\n });\n\n sectionModels = {\n ...sectionModels,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: {\n ...sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit],\n id: parentId || id,\n model: createSettingsSectionModel({\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n params: \"?id=\" + (parentId || id)\n })\n },\n [pathname]: {\n id: subToId || subId || id || parentId,\n model: createSettingsSectionModel({\n typeModel: pathname,\n params: search\n })\n }\n };\n\n yield put(\n actionUpdateSectionModel({\n prevModelType: {\n ...sectionModel.prevModelType,\n ORDERING_MENU_TYPE_SECTION_MODEL: pathname\n },\n currentModelType: pathname,\n sectionModels,\n groupSections\n })\n );\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* getSectionModelSaga(action) {\n yield* createSaga(function*() {\n const { link, editItem, type } = action.data;\n let sectionModel = yield select(getSectionModel);\n const pathname = link.split(\"?\")[0];\n const search = link.split(\"?\")[1];\n const groupSectionItem = getSeparatedValue(pathname, \"/\", 3);\n const { parentId, id, subId, subToId } = getHistoryLocationParams(search);\n let createSectionModel;\n switch (type) {\n case SECTION_MODEL_FACTORY_TYPE.settings:\n case SECTION_MODEL_FACTORY_TYPE.orderingMenu:\n case SECTION_MODEL_FACTORY_TYPE.marketplaceSettings:\n case SECTION_MODEL_FACTORY_TYPE.marketplaceOrderingMenu:\n case SECTION_MODEL_FACTORY_TYPE.shifts:\n createSectionModel = createSettingsSectionModel;\n break;\n default:\n break;\n }\n if (createSectionModel) {\n let newModel =\n sectionModel.sectionModels[pathname].model ||\n createSectionModel({ typeModel: pathname, params: search });\n yield put(\n actionUpdateSectionModel({\n layoutModelType: pathname,\n sectionModels: {\n ...sectionModel.sectionModels,\n [pathname]: {\n id: (editItem || {}).id || subToId || subId || id || parentId,\n model: newModel\n }\n },\n groupSections: {\n ...sectionModel.groupSections,\n [groupSectionItem]: pathname + search\n }\n })\n );\n\n sectionModel = yield select(getSectionModel);\n return sectionModel.sectionModels[pathname];\n } else {\n return null;\n }\n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(LOCATION_CHANGE, routeSaga);\n yield takeEvery(SECTION_MODEL_REFRESH, routeModelsSaga);\n yield takeEvery(SECTION_MODEL_GET, getSectionModelSaga);\n}\n","import { callServer } from \"../utils/request-util\";\nimport environment from \"environment\";\nimport qs from \"qs\";\nimport { getRefreshToken } from \"../utils/auth-util\";\n\nexport function authorize(username, password, skipRetry) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.authOauth + \"oauth2/token\",\n method: \"POST\",\n headers: getHeaders(),\n data: qs.stringify({\n username: username,\n password: password,\n grant_type: \"password\",\n client_id: \"D89DD832C1924B78B1F0EFADC56073F1\"\n }),\n skipRetry\n }, true, true).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function refreshAuth() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.authOauth + \"oauth2/token\",\n method: \"POST\",\n headers: getHeaders(),\n data: qs.stringify({\n client_id: \"D89DD832C1924B78B1F0EFADC56073F1\",\n grant_type: \"refresh_token\",\n refresh_token: getRefreshToken()\n })\n }, true).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nfunction getHeaders() {\n return {\n \"content-type\": \"application/x-www-form-urlencoded\"\n };\n}\n","import { call, put, takeEvery, select, all } from \"redux-saga/effects\";\nimport {\n LOAD_MARKERS,\n LOAD_ORDER_MARKERS,\n LOAD_COURIER_MARKERS,\n actionLoadOrderMarkers,\n actionUpdateCourierMarker,\n actionSetShakeMarker,\n SHAKE_MARKER,\n actionRemoveMarkers,\n actionUpdateOrdersMarkers,\n actionUpdateAllCouriersMarkers,\n CHECK_MARKERS,\n actionRemoveMarker,\n actionUpdateDepotsMarkers\n} from \"../reducers/marker/marker-actions\";\nimport { actionLoadUserMarkers } from \"../reducers/userModel/userModel-actions\";\nimport { getOrders, getGroups, getUserModel, getMarkers, getRestaurant, getRestaurantDepots } from \"../selectors\";\nimport { currentUserIsDepotRole } from \"../../services/userModel\";\nimport { TYPE_MARKER } from \"../../utils/enums\";\n\nexport function* markersSaga(action) {\n try {\n const { isLoadUserMarkers } = action.data || {}\n const orders = yield select(getOrders);\n const groups = yield select(getGroups);\n const users = yield select(getUserModel);\n const depots = yield select(getRestaurantDepots);\n const actions = [];\n\n if (currentUserIsDepotRole()) {\n actions.push(put(actionRemoveMarkers()));\n }\n\n yield put(actionLoadOrderMarkers({ groups, orders, users }));\n\n if(isLoadUserMarkers) {\n actions.push(put(actionLoadUserMarkers({ users, orders })));\n }\n \n if(depots.length) {\n actions.push(put(actionUpdateDepotsMarkers(depots)));\n }\n\n yield all(actions);\n\n return true;\n } catch (e) {\n console.log(\"Error markers loading\");\n }\n}\n\nfunction* fetchOrderMarkersSaga(data) {\n const { orders, users, groups } = data.data;\n const restaurant = yield select(getRestaurant);\n const depots = restaurant.depots || [];\n const depotsMap = restaurant.depotsMap || new Map();\n const markerGroupsOrders = (orders || []).reduce((accumulator, order) => {\n if(order && !order.isExternalGroup) {\n const groupIndex = accumulator.map(m => m.group.id).indexOf(order.groupId);\n\n if (groupIndex === -1) {\n const group = groups.find(f => f.id === order.groupId); \n if(group) {\n accumulator.push({\n group,\n groupOrders: [order],\n user: users.find(f => f.userId === order.groupId)\n });\n } \n } else {\n accumulator[groupIndex] = {\n ...accumulator[groupIndex],\n groupOrders: accumulator[groupIndex].groupOrders.concat(order)\n };\n }\n } \n\n return accumulator;\n }, []);\n\n yield put(actionUpdateOrdersMarkers({ items: markerGroupsOrders, depots, depotsMap }));\n}\n\nfunction* fetchCourierMarkersSaga(data) {\n yield put(actionUpdateAllCouriersMarkers(data.data));\n}\n\nfunction* shakeMarkerSaga(data) {\n const delay = time => new Promise(resolve => setTimeout(resolve, time));\n yield put(actionSetShakeMarker({ id: data.data }));\n yield call(delay, 550);\n yield put(actionSetShakeMarker({ id: null }));\n}\n\nfunction* checkMarkersSaga() {\n const markers = yield select(getMarkers);\n const orders = yield select(getOrders);\n const orderMarkerIds = markers\n .filter(f=> f.markerType === TYPE_MARKER.order)\n .map(marker=> marker.id);\n const ids = orderMarkerIds\n .filter(id=> !orders.find(order=> order.id === id));\n \n if(ids.length) {\n yield put(actionRemoveMarker(ids));\n }\n}\n\nexport function* fetchCourierMarkerSaga(data) {\n yield put(actionUpdateCourierMarker(data.data));\n}\n\nexport default function*() {\n yield takeEvery(LOAD_MARKERS, markersSaga);\n yield takeEvery(LOAD_ORDER_MARKERS, fetchOrderMarkersSaga);\n yield takeEvery(LOAD_COURIER_MARKERS, fetchCourierMarkersSaga);\n yield takeEvery(SHAKE_MARKER, shakeMarkerSaga);\n yield takeEvery(CHECK_MARKERS, checkMarkersSaga);\n}\n","import {saveAs} from 'file-saver';\nimport * as Sentry from '@sentry/react';\nimport i18n from '../../i18n';\nimport Store from '../store';\n\nimport {all, call, put, select, takeEvery} from 'redux-saga/effects';\n\nimport {\n addExternalCycle,\n addUser,\n approveOrders,\n cancelCycle,\n cancelExternalCycle,\n confirmExternalCycle,\n couriersCsv,\n courierToGroup,\n createExternalCycle,\n deleteShift,\n disbandCycle,\n editUser,\n endShift,\n fetchCourierLocations,\n fetchShiftActiveUsers,\n fetchUser,\n fetchUsers,\n finishCycle,\n getAvailableControlCenters,\n getCourierByUserName,\n getUser,\n getUsersByIds,\n goAway,\n groupCourier,\n groupCourierForGroup,\n lockCourierGroup,\n removeExternalCycle,\n removeUser,\n resetPassword,\n resetUserPassword,\n setCurrentUser,\n setUserAvatarBase64,\n shiftPdf,\n shiftProviderPdf,\n startShift1,\n startShifts,\n unlockCourierGroup,\n updateCurrentShiftDepotCouriers,\n updateCurrentShiftUser,\n updateShift,\n updateUsersPagination,\n} from '../../api/user-requests';\nimport {disbandGroup, fetchCycle, lockGroup, unlockGroup} from '../../api/order-requests';\nimport {authorize} from '../../api/auth-requests';\n\nimport {\n actionCheckUserGroup,\n actionCourierUpdate,\n actionCycleStateUpdate,\n actionCycleUpdate,\n actionDeleteUser,\n actionGetIntervalCourierLocations,\n actionLoadCourierLocationsFail,\n actionLoadCourierLocationsSuccess,\n actionLoadUserMarkers,\n actionLoadUsersFail,\n actionLoadUsersSuccess,\n actionNewUser,\n actionSaveTravelData,\n actionSetUserAvatar,\n actionUpdateCourierLocation,\n actionUpdateUser,\n actionUpdateUserById,\n actionUserCycleUpdate,\n actionUsersSet,\n actionUsersUpdate,\n AVAILABLE_CONTROL_CENTERS,\n CANCEL_SHIFT,\n CHECK_USER_GROUP,\n COURIER_APPROVE_ORDERS,\n COURIER_PAGINATION,\n COURIER_TO_GROUP,\n DISBAND_GROUP,\n END_SHIFT,\n FINISH_SHIFT,\n GET_DEFAULT_USERS_STATE,\n GET_USERS_BY_AVAILABLE_COURIERS_IDS,\n GOAWAY_SHIFT,\n INTERVAL_COURIER_LOCATIONS,\n LOAD_COURIER_LOCATIONS,\n LOAD_USER_MARKERS,\n LOAD_USERS,\n LOAD_USERS_BY_ID,\n LOAD_USERS_BY_IDS,\n LOCK_GROUP,\n PERSONAL_SETTING_EDIT,\n PERSONAL_SETTING_PASSWORD_EDIT,\n PUSHER_COURIER_LOCK_UPDATE,\n PUSHER_COURIER_SHIFT_CREATED,\n PUSHER_USER_UPDATED,\n REFRESH_GROUP,\n SET_USER_AVATAR,\n START_SHIFT_BACKUP,\n START_SHIFTS,\n UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS,\n UPDATE_USER_BY_ID,\n USER_CURRENT_SHIFTS_EDIT,\n USER_SETTING_ADD,\n USER_SETTING_DELETE,\n USER_SETTING_EDIT,\n USER_SETTING_PASSWORD_EDIT,\n USER_SHIFT_COURIERS_CSV,\n USER_SHIFT_DOWNLOAD_PDF,\n USER_SHIFTS_DELETE,\n USER_SHIFTS_EDIT,\n USERS_CHECK_COLORS,\n USERS_PAGINATION,\n} from '../reducers/userModel/userModel-actions';\n\nimport {\n actionExternalCyclesMarkersUpdate,\n actionRemoveMarker,\n actionUpdateAllCouriersMarkers,\n actionUpdateCourierLocationMarker,\n actionUpdateCourierMarker,\n actionUpdateShowCourierMarker,\n UPDATE_SHOW_COURIER_MARKER,\n} from '../reducers/marker/marker-actions';\nimport {PUSHER_CYCLE_DISPATCHED, PUSHER_CYCLE_STATE_UPDATE} from '../reducers/common-actions';\nimport {\n actionChangeItemsGroup,\n actionCycleDispatched,\n actionGroupUpdateState,\n actionOrdersModelUpdate,\n actionPendingOrdersUpdate,\n actionPendingOrderUpdate,\n actionRemoveGroupOrders,\n actionRemoveOrder,\n actionUpdateGroup,\n actionUpdateGroupOrdersMarkers,\n actionUpdateOrders,\n} from '../reducers/order/order-actions';\nimport {\n actionRestaurantUpdate,\n actionUpdateRestaurantAvailableControlCenters, actionUpdateShifts,\n} from '../reducers/restaurant/restaurant-actions';\nimport {AUTHENTICATION} from '../reducers/authentication/authentication-actions';\n\nimport {fetchCourierMarkerSaga} from './marker-saga';\n\nimport User from '../../services/user';\nimport Markers from '../../services/markers';\nimport Interval from '../../services/interval';\nimport {\n currentUserIsDeliveryManager,\n currentUserIsDepotRole,\n getUserByGroupId,\n initUserModel,\n isValidPasswordData,\n separateName,\n updateUserColor,\n} from '../../services/userModel';\nimport {\n extractExternalCycleCourierMarkers,\n extractExternalCycleOrders,\n getGroup,\n isDefaultGroup,\n isGroupHide,\n isNotDefaultOrderGroup,\n removeGroupFromPendingOrder,\n} from '../../services/order';\nimport {getInitModel} from '../../services/initModels';\nimport {removeStoredData} from '../../services/dataStorage';\nimport ColorService from \"../../services/color\";\n\nimport {\n COURIER_STATE,\n CYCLE_STATE,\n DEFAULT_ORDERS_GROUPS,\n EXTERNAL_CYCLE_STATE,\n getUserError,\n ICONS_MARKER_TYPE,\n MODEL_TYPE,\n ORDER_TYPE,\n TYPE_MARKER,\n} from '../../utils/enums';\nimport {\n dataURItoBlob,\n fileFromRequestResult,\n isSameObjects,\n isValidStringNoSpaces,\n objectKeysToUpperLowerCase,\n} from '../../utils/objects-util';\nimport {actionCreateSuccess, createSaga, ErrorData} from '../../utils/sagaHelper';\nimport {getCurrentUserName, getRememberMe, getUserConnectionData} from '../../utils/auth-util';\nimport {getErrorMessage, requestResultIsOk} from '../../utils/request-util';\nimport {getISOTime} from '../../utils/convertTime';\n\nimport {\n getActiveStateCycles,\n getControlCenter,\n getExternalCycles,\n getGroups,\n getMarkers,\n getOrders,\n getPendingOrders,\n getPickups,\n getRestaurant,\n getSectionModel,\n getUserModel,\n} from '../selectors';\nimport {isBase64Image} from '../../utils/image-util';\nimport {\n actionExternalCycleRemove,\n actionExternalCyclesUpdateList,\n actionExternalCycleUpdate,\n actionExternalCycleUpdateFromCourierLocations,\n actionExtractExternalCycleData,\n ADD_ORDER_TO_EXTERNAL_CYCLE,\n ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE,\n DISBAND_ORDER_FROM_EXTERNAL_CYCLE,\n EXTERNAL_CYCLE_CONFIRM,\n EXTERNAL_CYCLE_DISBAND,\n EXTERNAL_CYCLES_UPDATE,\n EXTERNAL_CYCLES_UPDATE_FROM_COURIER_LOCATIONS,\n EXTRACT_EXTERNAL_CYCLE_DATA,\n PUSHER_EXTERNAL_CYCLE_CREATED,\n PUSHER_EXTERNAL_CYCLE_FINISHED,\n PUSHER_EXTERNAL_CYCLE_UPDATED,\n} from '../reducers/externalCycles/externalCycles-actions';\nimport {toast} from 'react-toastify';\nimport moment from 'moment';\nimport {actionSetSectionItemsLoading} from '../reducers/sectionsWrapperData/sectionsWrapperData-actions.js';\nimport {controlCenterUpdateConfig, depotCycleRefreshConfig} from '../../utils/constants.js';\nimport {groupUpdateDataSaga} from './init-saga.js';\nimport {actionActiveStateCycleUpdate} from '../reducers/cycles/cycles-actions.js';\n\nexport function* usersSaga(action) {\n try {\n if (action.users) {\n yield put(\n actionLoadUsersSuccess(\n action.users.map(user => {\n const isCurrentUser = user.userId === getUserConnectionData().unique_name;\n let controlCenterId = null;\n\n if (isCurrentUser) {\n controlCenterId =\n user.controlCenterId ||\n (action.restaurant &&\n action.restaurant.activeControlCenter &&\n action.restaurant.activeControlCenter.controlCenterId);\n User.instance.setCurrentUserInfo({ ...user, controlCenterId });\n }\n\n return isCurrentUser ? { ...user, controlCenterId } : user;\n })\n )\n );\n }\n\n if (action.cycles || action.courierLocations) {\n yield all([\n put(actionSaveTravelData({ cycles: action.cycles, courierLocations: action.courierLocations })),\n put(actionExternalCycleUpdateFromCourierLocations(action.courierLocations)),\n ]);\n // TODO Check fleet working\n // yield call(courierLocationsSaga);\n }\n\n if (action.users) {\n yield put(actionLoadUserMarkers());\n }\n\n return true;\n } catch (e) {\n yield put(actionLoadUsersFail('Error users loading'));\n }\n}\n\nexport function* courierLocationsSaga(action) {\n try {\n const response = yield call(fetchCourierLocations);\n if (response && response.status === 200) {\n const data = response.data;\n yield put(actionLoadCourierLocationsSuccess(data));\n\n //update courier markers\n let users = yield select(getUserModel);\n let markerUsers = data.map(location => users.find(f => f.userId === location.CourierId));\n yield all([...markerUsers.map(user => call(fetchCourierMarkerSaga, { data: user }))]);\n } else {\n yield put(actionLoadCourierLocationsFail('Error load courier locations'));\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* updateCourierLocationSaga() {\n try {\n const response = yield call(fetchCourierLocations);\n if (response && response.status === 200 && response.data) {\n let users = yield select(getUserModel);\n let orders = yield select(getOrders);\n const data = objectKeysToUpperLowerCase(response.data);\n const travelDataUpdate = data.reduce((accumulator, currentValue) => {\n const user = users.find(f => f.userId === currentValue.courierId);\n if (user && JSON.stringify(user.travelData) !== JSON.stringify(currentValue))\n accumulator.push(currentValue);\n return accumulator;\n }, []);\n\n if (travelDataUpdate.length) {\n yield put(actionUpdateCourierLocation(travelDataUpdate));\n\n users = yield select(getUserModel);\n const ids = data.map(m => m.courierId);\n const locationUsers = users.filter(u => ids.includes(u.userId));\n yield put(actionUpdateCourierLocationMarker({ data, users: locationUsers, orders }));\n }\n yield put(actionExternalCycleUpdateFromCourierLocations(data));\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* approveOrdersSaga(action) {\n yield* createSaga(function*() {\n const { courierId } = action.data;\n const externalCycles = yield select(getExternalCycles);\n const isExternalGroup = externalCycles.find(f => f.id === courierId);\n const requestResult = yield call(isExternalGroup ? confirmExternalCycle : approveOrders, courierId);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (isExternalGroup) {\n yield put(actionExternalCycleUpdate(data));\n yield put(actionExtractExternalCycleData({ id: data.id }));\n } else {\n yield put(actionCheckUserGroup({ userId: courierId }));\n\n const users = yield select(getUserModel);\n const user = getUserByGroupId(users, courierId);\n const newCycle = {\n ...(user.cycle || {}),\n state: CYCLE_STATE.approved,\n };\n if(data.orders.length) {\n yield put(actionPendingOrdersUpdate({ activeOrders: data.orders }));\n }\n\n if (user && newCycle) {\n yield put(actionCourierUpdate({ ...user, cycle: newCycle }));\n yield put(actionUpdateGroup({ id: user.userId, state: newCycle.state }));\n yield put(actionGroupUpdateState([{ id: user.userId, hide: isGroupHide(newCycle.state) }]));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* fetchCycleUsersSaga(data) {\n try {\n const cycles = (data.cycles || []).map(cycle => cycle.courierId);\n const users = (data.users || []).map(user => user.userId);\n const courierIds = cycles.filter(courierId => !users.includes(courierId));\n let cycleUsers = [];\n if (courierIds.length) {\n cycleUsers = yield all([...courierIds.map(courierId => call(fetchCycleUserSaga, { data: { courierId } }))]);\n }\n\n return cycleUsers.filter(user => !!user);\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* fetchUserAvatarsSaga(action) {\n const data = (action && action.data) || {};\n const users = data.users || (yield select(getUserModel));\n const orders = yield select(getOrders);\n const showUserMarkers = users.filter(user =>\n Markers.instance.canShowMarker(\n user,\n (orders || []).filter(f => f.groupId === user.userId)\n )\n );\n yield put(actionUpdateAllCouriersMarkers(showUserMarkers));\n}\n\nfunction* cycleStateUpdateSaga(action) {\n try {\n const data = objectKeysToUpperLowerCase(action.data);\n\n if (data) {\n yield put(actionCheckUserGroup({ userId: data.courierId }));\n yield put(actionCycleStateUpdate(data));\n\n let users = yield select(getUserModel);\n\n if(!users.some(user => user.userId === data.courierId)) {\n yield getUserByIdSaga({ data: { id: data.courierId }})\n users = yield select(getUserModel);\n }\n\n let user = users.find(u => u.userId === data.courierId);\n\n if(data.cycleState === CYCLE_STATE.closed || !user.cycle) {\n yield put(actionRemoveMarker([user.userId]));\n }\n\n if (user.cycle) {\n yield put(actionCourierUpdate({ ...user, cycle: { ...user.cycle, retrieved: data?.retrieved } }));\n yield put(actionActiveStateCycleUpdate({ ...user.cycle, retrieved: data?.retrieved }))\n yield put(actionGroupUpdateState([{ id: data.courierId, hide: isGroupHide(user.cycle.state) }]));\n }\n\n if (data.cleanOrders) {\n const markers = yield select(getMarkers);\n const groupMarkers = markers.filter(\n marker => marker.groupId === data.courierId && marker.markerType === TYPE_MARKER.order\n );\n yield put(actionRemoveGroupOrders({ groupId: data.courierId }));\n if (groupMarkers && groupMarkers.length) {\n yield put(actionRemoveMarker(groupMarkers.map(marker => marker.id)));\n }\n }\n\n yield put(actionUpdateShowCourierMarker({ userId: user.userId }));\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* cycleDispatchedSaga(action) {\n try {\n const data = objectKeysToUpperLowerCase(action.data);\n yield put(actionUserCycleUpdate(data));\n yield put(actionCycleDispatched(data));\n\n let users = yield select(getUserModel);\n\n if(!users.some(user => user.userId === data.courierId)) {\n yield getUserByIdSaga({ data: { id: data.courierId }})\n users = yield select(getUserModel);\n }\n\n let user = users.find(u => u.userId === data.courierId);\n\n yield put(actionCourierUpdate({ ...user, cycle: { ...user.cycle, retrieved: data?.retrieved } }));\n yield put(actionActiveStateCycleUpdate({ ...user.cycle, retrieved: data?.retrieved }))\n yield put(actionGroupUpdateState([{ id: user.userId, hide: isGroupHide(user.cycle && user.cycle.state) }]));\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: user.userId }));\n yield put(actionUpdateShowCourierMarker({ userId: user.userId }));\n } catch (e) {\n console.log(e);\n }\n}\n\nfunction* courierShiftCreatedSaga(action) {\n const data = objectKeysToUpperLowerCase(action.data);\n if (User.instance.skipObjectWithControlCenter(data) || User.instance.skipObjectWithControlCenter(data.cycle))\n return;\n\n try {\n if (data.cycle && data.cycle.courierId) {\n let users = yield select(getUserModel);\n\n if(!users.some(user => user.userId === data.cycle.courierId)) {\n yield getUserByIdSaga({ data: { id: data.cycle.courierId }})\n users = yield select(getUserModel);\n }\n\n let user = users.find(f => f.userId === data.cycle.courierId);\n\n if (user) {\n user.cycle = data.cycle;\n user.roles.active = true;\n user = updateUserColor(user);\n yield put(actionCourierUpdate(user));\n yield put(\n actionGroupUpdateState([{ id: user.userId, hide: isGroupHide(user.cycle && user.cycle.state) }])\n );\n yield put(actionUpdateGroupOrdersMarkers({ groupId: user.userId }));\n }\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* startBackupSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n startShift1,\n action.data\n );\n\n if (requestResult && requestResult.status === 200) {\n const courierId = action.data.courierId\n let users = yield select(getUserModel);\n\n if(!users.some(user => user.userId === courierId)) {\n yield getUserByIdSaga({ data: { id: courierId }})\n users = yield select(getUserModel);\n }\n\n const user = users.find(f => f.userId === courierId);\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n if (data) {\n yield put(\n actionCourierUpdate({\n ...user,\n cycle: { ...user.cycle, ...data },\n roles: {\n ...user.roles,\n active: data.courierId && data.courierId === user.userId,\n },\n })\n );\n\n yield groupUpdateDataSaga(currentUserIsDeliveryManager()\n ? depotCycleRefreshConfig\n : controlCenterUpdateConfig,\n { users: false }\n );\n yield put(actionUpdateShowCourierMarker({ userId: user.userId }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* startShiftsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n startShifts,\n action.data\n );\n\n if (requestResult && requestResult.status === 200) {\n const courierIds = action.data.courierIds\n let users = yield select(getUserModel);\n\n if(!users.every(user => courierIds.includes(user.userId))) {\n yield getUsersByIdsSaga({ data: { ids: courierIds }})\n users = yield select(getUserModel);\n }\n\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n if (data) {\n const updateUser = cycle => {\n const user = users.find(f => f.userId === cycle.courierId);\n return {\n ...user,\n cycle: { ...user?.cycle, ...cycle },\n roles: {\n ...user.roles,\n active: cycle.courierId === user.userId,\n },\n }\n }\n yield all(data.map(cycle => put(actionCourierUpdate(updateUser(cycle)))));\n\n yield groupUpdateDataSaga(currentUserIsDeliveryManager()\n ? depotCycleRefreshConfig\n : controlCenterUpdateConfig,\n { users: false }\n );\n yield all(data.map(cycle => put(actionUpdateShowCourierMarker({ userId: cycle.courierId }))))\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* availableControlCenters(action) {\n yield* createSaga(function*() {\n const controlCenters = yield select(getControlCenter);\n yield put(actionUpdateRestaurantAvailableControlCenters([]));\n\n const requestResult = yield call(getAvailableControlCenters, action.data);\n if (requestResult && requestResult.status === 200) {\n const availableControlCenters = controlCenters.filter(controlCenter => requestResult.data?.includes(controlCenter.controlCenterId))\n yield put(actionUpdateRestaurantAvailableControlCenters(availableControlCenters));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* endShiftSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(endShift, action.data.courierId);\n\n if (requestResult && requestResult.status === 200) {\n let users = yield select(getUserModel);\n let user = users.find(f => f.userId === action.data.courierId);\n\n yield put(\n actionCourierUpdate({\n ...user,\n courierState: COURIER_STATE.default,\n roles: { ...user?.roles, active: false },\n })\n );\n yield put(actionUpdateShowCourierMarker({ userId: action.data.courierId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* cancelShiftSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(cancelCycle, action.data.courierId);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateShowCourierMarker({ userId: action.data.courierId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* finishShiftSaga(action) {\n yield* createSaga(function*() {\n const { courierId } = action.data;\n const requestResult = yield call(finishCycle, courierId);\n\n if (requestResult && requestResult.status === 200) {\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === courierId);\n\n yield put(actionRemoveGroupOrders({ groupId: courierId }));\n yield put(\n actionCourierUpdate({\n ...user,\n cycle: {\n ...user.cycle,\n state: CYCLE_STATE.started,\n routeEstimation: {},\n optimalData: { totalDistance: 0, totalTime: 0 },\n },\n })\n );\n yield put(actionUpdateShowCourierMarker({ userId: courierId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* goAwayShiftSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(goAway, action.data.courierId);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateShowCourierMarker({ userId: action.data.courierId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* refreshGroupSaga(action) {\n yield* createSaga(function*() {\n let requestResult;\n\n if (action.data.isGroup) {\n requestResult = yield call(groupCourierForGroup, action.data.courierId);\n } else {\n requestResult = yield call(groupCourier, action.data.courierId);\n }\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateShowCourierMarker({ userId: action.data.courierId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* disbandGroupSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n action.data.group.isCourierGroup ? disbandCycle : disbandGroup,\n action.data.group.id\n );\n\n if (requestResult && requestResult.status === 200) {\n const groups = yield select(getGroups);\n const orders = yield select(getOrders);\n const pickups = yield select(getPickups);\n const destinationGroup = groups.find(f => f.id === DEFAULT_ORDERS_GROUPS.Unsorted);\n const itemsIds = orders.filter(order => order.groupId === action.data.group.id).map(m => m.id);\n\n yield all([\n put(actionRemoveOrder(pickups.filter(f => f.groupId === action.data.group.id).map(m => m.id))),\n put(actionChangeItemsGroup({ destinationGroup, itemsIds })),\n ]);\n yield put(actionRemoveMarker(itemsIds.concat([action.data.group.id])));\n yield put(actionUpdateShowCourierMarker({ userId: action.data.group.id }));\n yield all([\n put(actionUpdateGroupOrdersMarkers({ groupId: destinationGroup.id })),\n put(actionUpdateGroupOrdersMarkers({ groupId: action.data.group.id })),\n ]);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateCourierMarkerSaga(action) {\n try {\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === action.data.userId);\n const orders = yield select(getOrders);\n const groupOrders = orders.filter(f => f.groupId === action.data.userId);\n if (Markers.instance.canShowMarker(user, groupOrders)) {\n yield put(actionUpdateCourierMarker(user));\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* fetchCycleUserSaga(action) {\n try {\n const response = yield call(fetchUser, action.data.courierId);\n return requestResultIsOk(response, true) ? objectKeysToUpperLowerCase(response.data) : null;\n } catch (error) {\n console.log(error);\n return null;\n }\n}\n\nfunction* courierLockUpdateSaga(action) {\n try {\n const data = objectKeysToUpperLowerCase(action.data);\n const users = yield select(getUserModel);\n const user = users.find(u => u.userId === data.courierId);\n\n yield put(\n actionCourierUpdate({\n ...user,\n isLocked: data.isLocked,\n cycle: user.cycle && { ...user.cycle, ...data },\n })\n );\n yield put(actionUpdateGroup(data));\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* courierToGroupSaga(action) {\n yield* createSaga(function*() {\n const { orderId, groupId, newOrderIndex } = action.data;\n const requestResult = yield call(courierToGroup, orderId, groupId, newOrderIndex);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n const pickups = yield select(getPickups);\n const pickup = pickups.find(f => f.items.includes(orderId));\n if (pickup && pickup.items.length === 1) {\n yield put(actionRemoveOrder([pickup.id]));\n }\n\n if (groupId === DEFAULT_ORDERS_GROUPS.Unsorted) {\n const groups = yield select(getGroups);\n const destinationGroup = groups.find(f => f.id === groupId);\n yield put(actionChangeItemsGroup({ destinationGroup, itemsIds: [orderId] }));\n\n //Fix for depot role update pending orders\n if (currentUserIsDepotRole()) {\n const pendingOrders = yield select(getPendingOrders);\n const pendingOrder = pendingOrders.find(f => f.id === orderId);\n if (pendingOrder) {\n yield put(actionPendingOrderUpdate(removeGroupFromPendingOrder(pendingOrder)));\n }\n }\n }\n\n if (data) {\n yield put(actionCycleUpdate({ courierId: data.courierId, data }));\n yield put(actionUpdateGroup({ id: data.courierId, ...data, cycle: data }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: data.courierId }));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: groupId }));\n } else {\n toast.error(getErrorMessage(requestResult));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\n\n\nfunction* usersPaginationSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const users = yield select(getUserModel);\n const requestResult = yield call(updateUsersPagination, action.data);\n\n if(action.data.num === 0) {\n const curUserId = getUserConnectionData()?.unique_name || ''\n yield put(actionUsersSet(users.filter(user => user.userId === curUserId)))\n }\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data) || [];\n\n const newUsers = data?.page\n .map(m => ({ ...initUserModel(m)}))\n\n yield put(actionUsersUpdate(newUsers))\n\n return {\n users: newUsers,\n totalCount: data.totalCount || 0\n }\n\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* couriersPaginationSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateUsersPagination, action.data);\n\n const setCycles = (users, cycles) => {\n return users.map(user => {\n const newCycle = (cycles || []).find(cycle => cycle.courierId === user.userId);\n\n if (newCycle && !newCycle.routeEstimation) {\n newCycle.routeEstimation = getInitModel(MODEL_TYPE.routeEstimation);\n }\n\n return {\n ...user,\n roles: {\n ...user.roles,\n active: !!(newCycle && newCycle.courierId === user.userId)\n },\n cycle: newCycle,\n }\n })\n }\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n const newUsers = data?.page.map(m => ({ ...initUserModel(m)}))\n\n const activeStateCycles = yield select(getActiveStateCycles);\n const withCycles = setCycles(newUsers, activeStateCycles)\n return {\n users: withCycles,\n totalCount: data.totalCount || 0\n }\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editUserSaga(action) {\n yield* createSaga(function*() {\n let item = action.data;\n const name = separateName(item.fullName);\n item.lastName = name.lastName;\n item.firstName = name.firstName;\n const requestResult = yield call(\n editUser,\n item.userId,\n item.firstName,\n item.lastName,\n item.phoneNumber,\n item.email,\n item.workerId,\n item.hourlyRate,\n item.allowOpenShift,\n item.roles,\n item.capacity,\n item.vehicleType,\n item.defaultControlCenterId,\n item.salaryCalculationMode,\n item.creationDate,\n item.allowedControlCenters,\n item.salaryCalculationProfileId,\n );\n\n const userId = action.data.userId\n const users = yield select(getUserModel);\n const oldUser = users.find(user => user.userId === userId)\n\n const emptyUser = {\n ...oldUser,\n fullName: '',\n firstName: '',\n lastName: '',\n phoneNumber: '',\n workerId: '',\n roles : [],\n }\n\n yield put(actionUpdateUser(emptyUser));\n\n\n if (requestResult) {\n if (requestResult.status === 200) {\n yield put(actionUpdateUserById(userId))\n } else {\n yield put(actionUpdateUserById(userId))\n switch (requestResult.status) {\n case 409:\n return new ErrorData(i18n.t('settings.users.PHONE_NUMBER_ERROR_MSG'));\n default:\n return new ErrorData(getUserError(getErrorMessage(requestResult)));\n }\n }\n } else {\n yield put(actionUpdateUserById(userId))\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* addUserSaga(action) {\n yield* createSaga(function*() {\n let item = action.data;\n\n if (!item.fullName) {\n return new ErrorData(i18n.t('settings.users.USER_NAME_REQUIRED_ERROR_MSG'));\n } else if (!item.phoneNumber && item.roles.courier) {\n return new ErrorData(i18n.t('settings.users.PHONE_NUMBER_REQUIRED_ERROR_MSG'));\n } else if (!Object.keys(item.roles).some(key => item.roles[key])) {\n return new ErrorData(i18n.t('settings.users.ROLES_REQUIRED_ERROR_MSG'));\n }\n\n const name = separateName(item.fullName);\n item.lastName = name.lastName;\n item.firstName = name.firstName;\n\n const requestResult = yield call(\n addUser,\n item.firstName,\n item.lastName,\n item.phoneNumber,\n item.email,\n item.workerId,\n item.hourlyRate,\n item.allowOpenShift,\n item.roles,\n item.capacity,\n item.vehicleType,\n item.defaultControlCenterId,\n item.salaryCalculationMode,\n item.creationDate\n );\n\n if (requestResult) {\n if (requestResult.status === 200) {\n // after add new user we clear users state (pagination)\n yield put(actionUsersSet([]))\n } else {\n switch (requestResult.status) {\n case 409:\n return new ErrorData(i18n.t('settings.users.PHONE_NUMBER_ERROR_MSG'));\n default:\n return new ErrorData(getUserError(getErrorMessage(requestResult)));\n }\n }\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* deleteUserSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(removeUser, id);\n if (requestResult && requestResult.status === 200) {\n yield put(actionDeleteUser({ userId: id }));\n yield put(actionRemoveMarker([id]));\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* editUserPasswordSaga(action) {\n yield* createSaga(function*() {\n const item = action.data;\n\n if (!isValidStringNoSpaces(item.userName)) {\n return new ErrorData(i18n.t('settings.map.DEPOT_NAME_REQUIRED_ERROR_MSG'));\n } else if (\n !isValidStringNoSpaces(item.newPassword) ||\n !isValidStringNoSpaces(item.retypePassword) ||\n !isValidPasswordData(item)\n ) {\n return new ErrorData(i18n.t('settings.map.PASSWORD_MISMATCH_MSG'));\n } else {\n const request = yield call(\n resetUserPassword,\n item.userId,\n getInitModel(MODEL_TYPE.credentialsServerModel, {\n userName: item.userName,\n newPassword: item.newPassword,\n })\n );\n\n if (request && request.status === 200) {\n yield put(\n actionCourierUpdate({\n userId: item.userId,\n userName: item.userName,\n })\n );\n } else {\n return new ErrorData(i18n.t('settings.map.PASSWORD_CHANGING_ERROR'));\n }\n }\n }, action.type);\n}\n\nfunction* updateUserByIdSaga(action) {\n yield* createSaga(function*() {\n const userId = action.data;\n const reqRes1 = yield call(getCourierByUserName, userId);\n const reqRes2 = yield call(getUser, userId);\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === userId);\n let newUser = user ? { ...user } : { userId };\n if (reqRes1 && reqRes1.status === 200 && reqRes1.data) {\n const data = objectKeysToUpperLowerCase(reqRes1.data);\n newUser = {\n ...newUser,\n ...data,\n };\n\n if (!newUser.statistics) {\n newUser.statistics = {\n cashCollected: 0,\n currency: 0,\n distanceTraveled: 0,\n ordersDelivered: 0,\n totalAmount: 0,\n };\n }\n }\n\n if (reqRes2 && reqRes2.status === 200 && reqRes2.data) {\n newUser = {\n ...newUser,\n ...objectKeysToUpperLowerCase(reqRes2.data),\n };\n }\n\n const reqResCycles = yield call(fetchCycle);\n if (reqResCycles && reqResCycles.status === 200 && reqResCycles.data) {\n const cycles = objectKeysToUpperLowerCase(reqResCycles.data);\n const newUserCycle = cycles.find(cycle => cycle.courierId === newUser.userId);\n\n if (newUserCycle && !user) {\n newUser.cycle = newUserCycle;\n }\n }\n\n if (user) {\n yield put(actionUpdateUser(newUser));\n } else {\n yield put(actionNewUser(newUser));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: newUser.userId }));\n }, action.type);\n}\n\nfunction* personalSettingsSaga(action) {\n yield* createSaga(function*() {\n const {\n userId,\n userFirstAndLastname,\n phoneNumber,\n email,\n roles,\n currentPassword,\n language,\n avatarUrl,\n isHideTakeawayGroup,\n isHidePreordersGroup,\n visualizeReadinessTime,\n } = action.data;\n const visualSettings = getInitModel(MODEL_TYPE.visualSettingsServerModel, action.data);\n const name = separateName(userFirstAndLastname);\n let users = yield select(getUserModel);\n let user = users.find(f => f.userId === userId);\n\n if (currentPassword) {\n const requestResult = yield call(\n setCurrentUser,\n name.firstName,\n name.lastName,\n phoneNumber,\n email,\n roles.courier,\n true,\n currentPassword,\n language,\n visualSettings\n );\n\n if (requestResult) {\n if (requestResult.status === 200) {\n const configuration = {\n ...user.configuration,\n language: language,\n visualSettings: {\n ...user.configuration.visualSettings,\n ...objectKeysToUpperLowerCase(visualSettings),\n visualizeReadinessTime: visualizeReadinessTime,\n },\n };\n\n User.instance.setCurrentUserConfiguration(configuration);\n yield put(\n actionCourierUpdate({\n ...user,\n firstName: name.firstName,\n lastName: name.lastName,\n email: email,\n phoneNumber: phoneNumber,\n configuration: configuration,\n })\n );\n yield put(\n actionUpdateGroup({\n id: DEFAULT_ORDERS_GROUPS.takeawayOrders,\n alwaysShow: !isHideTakeawayGroup,\n })\n );\n yield put(\n actionUpdateGroup({\n id: DEFAULT_ORDERS_GROUPS.preOrders,\n alwaysShow: !isHidePreordersGroup,\n })\n );\n } else if (requestResult.status === 409) {\n return new ErrorData(\n i18n.t('settings.personalSettings.personalSettings.PHONE_NUMBER_CONFLICT_MSG')\n );\n } else if (requestResult.status === 401) {\n return new ErrorData(i18n.t('settings.personalSettings.personalSettings.INVALID_PASSWORD_MSG'));\n } else if (\n requestResult.response &&\n requestResult.response.data &&\n requestResult.response.data.Message\n ) {\n return new ErrorData(requestResult.response.data.Message);\n } else {\n return new ErrorData('Error save settings');\n }\n } else {\n return new ErrorData('Error save settings');\n }\n }\n\n if (user.avatarUrl !== avatarUrl && isBase64Image(avatarUrl)) {\n yield put(actionSetUserAvatar({ userId, avatarUrl, roles }));\n }\n }, action.type);\n}\n\nfunction* setUserAvatarSaga(action) {\n yield* createSaga(function*() {\n const { userId, avatarUrl, roles } = action.data;\n let users = yield select(getUserModel);\n let user = users.find(f => f.userId === userId);\n if (!isSameObjects(avatarUrl, user.avatarUrl)) {\n const requestResult = yield call(setUserAvatarBase64, userId, dataURItoBlob(avatarUrl));\n\n if (requestResult && requestResult.status === 200) {\n const requestResultUsers = yield call(fetchUsers);\n if (requestResultUsers && requestResultUsers.status === 200) {\n const newUserData = requestResultUsers.data.find(f => f.UserId === user.userId);\n yield put(actionCourierUpdate({ ...user, avatarUrl: newUserData.AvatarUrl }));\n }\n\n //if user is courier update marker\n if (roles.courier) {\n users = yield select(getUserModel);\n user = users.find(f => f.userId === userId);\n yield put(actionUpdateCourierMarker(user));\n }\n } else {\n return new ErrorData('Error save');\n }\n }\n }, action.type);\n}\n\nfunction* personalSettingsPasswordSaga(action) {\n yield* createSaga(function*() {\n const { newPassword, retypePassword, currentPassword } = action.data;\n\n if (newPassword && currentPassword) {\n if (newPassword === retypePassword) {\n const requestResult = yield call(resetPassword, newPassword, currentPassword);\n if (requestResult && requestResult.status === 200) {\n const authRequestResult = yield call(authorize, getCurrentUserName(), newPassword);\n if (authRequestResult && authRequestResult.status === 200) {\n yield put(\n actionCreateSuccess(AUTHENTICATION, {\n data: authRequestResult.data,\n rememberMe: getRememberMe(),\n username: getCurrentUserName(),\n })\n );\n Interval.instance.start(Store.store);\n } else {\n Interval.instance.stop();\n removeStoredData();\n }\n } else {\n return new ErrorData(i18n.t('settings.personalSettings.personalSettings.INVALID_PASSWORD_MSG'));\n }\n } else {\n return new ErrorData(i18n.t('settings.personalSettings.personalSettings.PASSWORD_MISMATCH_MSG'));\n }\n }\n }, action.type);\n}\n\nfunction* userShiftsEditSaga(action) {\n yield* createSaga(function*() {\n if(!moment(action.data.endDate).isAfter(moment(action.data.startDate))) {\n return new ErrorData(i18n.t('basic.error.INCORRECT_DATE'));\n }\n\n const requestResult = yield call(updateShift, getInitModel(MODEL_TYPE.shiftServerModel, action.data));\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n shifts: (restaurant.shifts || []).map(shift =>\n shift.shiftId === action.data.shiftId ? { ...shift, ...action.data } : shift\n ),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* userCurrentShiftsEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateCurrentShiftUser, getInitModel(MODEL_TYPE.currentShiftServerModel, action.data));\n const response = objectKeysToUpperLowerCase(requestResult.data);\n\n if (requestResultIsOk(requestResult)) {\n const users = yield select(getUserModel);\n const userId = action.data.courierId;\n\n if (userId) {\n const newUsers = users.map(user => {\n if(user.userId === userId){\n return {\n ...user,\n cycle: {\n ...user.cycle,\n controlCenterId: response.controlCenterId,\n shiftType: action.data.shiftType,\n startTime: action?.data?.startTime?.toISOString(),\n endTime: action?.data?.endTime?.toISOString(),\n allowedDepots: action.data.allowedDepots,\n },\n }\n }\n\n return user;\n })\n yield put(actionUsersUpdate(newUsers));\n if(action.data.shiftId) {\n yield put(actionUpdateShifts({\n shiftId: action.data.shiftId,\n controlCenterId: response.controlCenterId,\n shiftType: action.data.shiftType,\n startDate: action?.data?.startTime?.toISOString(),\n endDate: action?.data?.endTime?.toISOString(),\n allowedDepots: action.data.allowedDepots\n }));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateCurrentShiftDepotCouriersSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateCurrentShiftDepotCouriers, getInitModel(MODEL_TYPE.currentShiftDepotServerModel, action.data));\n\n if (requestResultIsOk(requestResult)) {\n const users = yield select(getUserModel);\n const userIds = action.data.courierIds\n const depotId = action.data.depotId\n\n if (userIds && depotId) {\n const clearUsersByDepotId = users.map(user => {\n if(user?.cycle?.allowedDepots?.includes(depotId)){\n return {\n ...user,\n cycle: {\n ...user.cycle,\n allowedDepots: user.cycle.allowedDepots.filter(depot => depot !== depotId)\n },\n }\n }\n\n return user\n })\n\n const newUsers = clearUsersByDepotId.map(user => {\n if(userIds.includes(user.userId)){\n return {\n ...user,\n cycle: {\n ...user.cycle,\n allowedDepots: user.cycle?.allowedDepots ?\n [depotId, ...user.cycle.allowedDepots] : [depotId],\n },\n }\n }\n\n return user\n })\n\n yield put(actionUsersUpdate(newUsers));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* userShiftRemoveSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(deleteShift, id);\n\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ shifts: restaurant.shifts.filter(f => f.shiftId !== id) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* userShiftDownloadPdfSaga(action) {\n yield* createSaga(function*() {\n const { shiftId, isProvider, id } = action.data;\n\n if (!isProvider) {\n const requestResult = yield call(shiftPdf, shiftId);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n return fileFromRequestResult(requestResult);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n\n const prevModel = sectionModels[currentModelType];\n const dateStart = prevModel.model.getFilterOptionPropValue('dateStart', 'selected');\n const dateEnd = prevModel.model.getFilterOptionPropValue('endDate', 'selected');\n const controlCenterId = prevModel.model.getFilterOptionPropValue('controlCenter', 'selected');\n\n const requestResult = yield call(\n shiftProviderPdf,\n dateStart ? getISOTime(new Date(dateStart)) : getISOTime(new Date()),\n dateEnd\n ? getISOTime(new Date(dateEnd))\n : getISOTime(dateStart ? new Date(dateStart) : new Date()),\n id,\n controlCenterId,\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n return fileFromRequestResult(requestResult);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* userShiftDownloadCsvSaga(action) {\n yield* createSaga(function*() {\n const { dateStart, endDate, user, controlCenter ,shiftType} = action.data.filterOptions.options;\n const startShiftDate = dateStart.selected ? new Date(dateStart.selected) : null;\n const endShiftDate = endDate.selected ? new Date(endDate.selected) : new Date();\n const controlCenterId = controlCenter.selected;\n const userId = user.selected;\n\n const requestResult = yield call(\n couriersCsv,\n startShiftDate,\n endShiftDate,\n null,\n controlCenterId,\n userId,\n shiftType.selected\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const dataBlob = fileFromRequestResult(requestResult);\n\n if (dataBlob && dataBlob.file && dataBlob.fileName) {\n const blob = new Blob([dataBlob.file], {\n type: dataBlob.contentType,\n });\n saveAs(blob, dataBlob.fileName);\n } else {\n return new ErrorData(\"Can't convert file\");\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* externalCyclesUpdateSaga(action) {\n yield* createSaga(function*() {\n const { externalCycles, courierLocations } = action.data;\n //Save cycles\n yield put(actionExternalCyclesUpdateList(externalCycles || []));\n\n //Save orders and markers\n const currentExternalCycles = yield select(getExternalCycles);\n const externalCyclesOrders = extractExternalCycleOrders(currentExternalCycles);\n yield all([\n put(actionOrdersModelUpdate(externalCyclesOrders.orders)),\n put(actionExternalCyclesMarkersUpdate(externalCyclesOrders.markers)),\n ]);\n\n if (courierLocations) {\n yield put(actionExternalCycleUpdateFromCourierLocations(courierLocations));\n }\n }, action.type);\n}\n\nfunction* externalCycleCreatedSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase(action.data);\n if (data && data.id && !User.instance.skipObjectWithControlCenter(data)) {\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = externalCycles.find(f => f.id === data.id) || {};\n const newData = { ...externalCycle, ...data };\n\n yield put(actionExternalCycleUpdate(newData));\n if (newData && newData.orders && newData.orders.length) {\n yield put(actionExtractExternalCycleData({ id: data.id }));\n }\n }\n }, action.type);\n}\n\nfunction* externalCycleUpdatedSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase(action.data);\n\n if (data && data.id && !User.instance.skipObjectWithControlCenter(data)) {\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = externalCycles.find(f => f.id === data.id) || {};\n const newData = { ...externalCycle, ...data };\n\n yield put(actionExternalCycleUpdate(newData));\n if (newData.orders && newData.orders.length) {\n yield put(actionExtractExternalCycleData({ id: data.id }));\n }\n\n if (newData.state === EXTERNAL_CYCLE_STATE.approved) {\n yield put(actionGetIntervalCourierLocations());\n }\n } else {\n Sentry.captureException(`Error. externalCycleUpdatedSaga. data is undefined: ${JSON.stringify(data)}`);\n }\n }, action.type);\n}\n\nfunction* externalCycleFinishedSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase(action.data);\n\n if (data && data.id) {\n if (data.state === EXTERNAL_CYCLE_STATE.closed) {\n yield put(actionExternalCycleRemove([data.id])); //Remove external group cycle\n yield put(actionRemoveGroupOrders({ groupId: data.id })); //Remove external group orders\n yield put(actionRemoveMarker((data.orders || []).map(order => order.id))); //Remove external group orders markers\n } else {\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = externalCycles.find(f => f.id === data.id) || {};\n const newData = { ...externalCycle, ...data };\n\n yield put(actionExternalCycleUpdate(newData));\n if (newData && newData.orders && newData.orders.length) {\n yield put(actionExtractExternalCycleData({ id: data.id }));\n }\n }\n\n const excludedTypes = [EXTERNAL_CYCLE_STATE.closed, EXTERNAL_CYCLE_STATE.canceled];\n if (excludedTypes.includes(data.state)) {\n yield put(actionRemoveMarker([data.id])); //Remove external group marker\n }\n }\n }, action.type);\n}\n\nfunction* externalCycleAssociateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(createExternalCycle, objectKeysToUpperLowerCase(action.data, true));\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(actionExternalCycleUpdate(data));\n yield put(actionExtractExternalCycleData({ id: data.id }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* disbandOrderFromExternalCycleSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(removeExternalCycle, objectKeysToUpperLowerCase(action.data, true));\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n yield put(\n actionUpdateOrders(action.data.orderIds.map(id => ({ id, groupId: DEFAULT_ORDERS_GROUPS.Unsorted })))\n );\n yield put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted }));\n\n const externalCyclesOrders = extractExternalCycleOrders([data]);\n yield put(actionExternalCycleUpdate(data));\n yield put(actionOrdersModelUpdate(externalCyclesOrders.orders));\n yield put(actionExternalCyclesMarkersUpdate(externalCyclesOrders.markers));\n\n if (currentUserIsDepotRole()) {\n if (action.data.id && Array.isArray(action.data.orderIds)) {\n const pendingOrders = yield select(getPendingOrders);\n yield put(\n actionPendingOrdersUpdate({\n activeOrders: pendingOrders\n .filter(f => action.data.orderIds.includes(f.id))\n .map(m => removeGroupFromPendingOrder(m)),\n })\n );\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* disbandExternalCycleDataSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(cancelExternalCycle, id);\n\n if (requestResultIsOk(requestResult)) {\n const orders = yield select(getOrders);\n const pickups = yield select(getPickups);\n\n yield put(actionRemoveOrder(pickups.filter(pickup => pickup.groupId === id).map(pickup => pickup.id)));\n yield put(\n actionUpdateOrders(\n orders\n .filter(order => order.groupId === id)\n .map(order => ({\n ...order,\n groupId: DEFAULT_ORDERS_GROUPS.Unsorted,\n isExternalGroup: false,\n isCourierGroup: false,\n markerType: ICONS_MARKER_TYPE.empty,\n }))\n )\n );\n yield put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted }));\n yield put(actionExternalCycleUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n\n const activeOrders = yield select(getPendingOrders);\n yield put(\n actionPendingOrdersUpdate({\n activeOrders: activeOrders.map(pendingOrder =>\n (pendingOrder.groupId || pendingOrder.courier_id) === id\n ? removeGroupFromPendingOrder(pendingOrder)\n : pendingOrder\n ),\n })\n );\n } else {\n toast.error(getErrorMessage(requestResult));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* extractExternalCycleDataSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n\n if (id) {\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = externalCycles.find(f => f.id === id);\n const externalCyclesOrders = extractExternalCycleOrders([externalCycle]);\n yield put(actionOrdersModelUpdate(externalCyclesOrders.orders));\n yield put(actionExternalCyclesMarkersUpdate(externalCyclesOrders.markers));\n\n //Fix for depot user role update pending orders data\n if (currentUserIsDepotRole() && Array.isArray(externalCyclesOrders.orders)) {\n const newPendingOrders = externalCyclesOrders.orders\n .filter(order => order.type !== ORDER_TYPE.pickUp)\n .map(order => ({ ...order, groupId: id, courierId: id, courier_id: id, isExternalGroup: true }));\n yield put(actionPendingOrdersUpdate({ activeOrders: newPendingOrders }));\n }\n }\n }, action.type);\n}\n\nfunction* addOrderToExternalCycleSaga(action) {\n yield* createSaga(function*() {\n const orders = yield select(state => state.order.data.orders);\n const externalGroup = yield select(state => state.externalCycles.data);\n const newOrdersInGroup = orders.filter(o => action.data.orderIds.includes(o.id));\n const group = externalGroup.find(g => g.id === action.data.id);\n if(!newOrdersInGroup.every(o => o.controlCenterId === group.controlCenterId)) {\n return new ErrorData('Error');\n }\n const requestResult = yield call(addExternalCycle, objectKeysToUpperLowerCase(action.data, true));\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionExternalCycleUpdate(data));\n yield put(actionExtractExternalCycleData({ id: data.id }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateExternalCyclesFromCourierLocationsSaga(action) {\n yield* createSaga(function*() {\n const externalCycles = yield select(getExternalCycles);\n const externalCycleIds = externalCycles.map(m => m.id);\n const data = extractExternalCycleCourierMarkers(\n (action.data || []).filter(f => externalCycleIds.includes(f.courierId)),\n externalCycles\n );\n\n yield all([\n put(actionExternalCyclesUpdateList(data.externalCycles)),\n put(actionExternalCyclesMarkersUpdate(data.markers)),\n ]);\n }, action.type);\n}\n\nfunction* confirmExternalCycleSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data || {};\n\n if (id) {\n const requestResult = yield call(confirmExternalCycle, id);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionExternalCycleUpdate(data));\n yield put(actionExtractExternalCycleData({ id: data.id }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* checkUserGroupSaga(action) {\n yield* createSaga(function*() {\n const { userId, data } = action.data || {};\n\n if (userId && !isDefaultGroup(userId)) {\n let users = yield select(getUserModel);\n let user = users.find(u => u.userId === userId);\n\n if (!user) {\n const resUser = yield call(fetchUser, userId);\n if (requestResultIsOk(resUser, true)) {\n yield put(actionNewUser({ ...objectKeysToUpperLowerCase(resUser.data), ...(data || {}) }));\n }\n }\n\n const groups = yield select(getGroups);\n if (!groups.find(u => u.id === userId)) {\n users = yield select(getUserModel);\n user = users.find(u => u.userId === userId);\n if (user) {\n const group = getGroup(DEFAULT_ORDERS_GROUPS.courierGroup, user);\n yield put(actionUpdateGroup(group));\n }\n }\n }\n }, action.type);\n}\n\nfunction* lockGroupSaga(action) {\n yield* createSaga(function*() {\n const group = (action.data || {}).group;\n\n if (group) {\n const id = group.id || group.userId;\n\n if (isNotDefaultOrderGroup(id)) {\n const isLocked = group.isLocked || (group.cycle || {}).isLocked;\n const requestResult = yield call(isLocked ? unlockCourierGroup : lockCourierGroup, id);\n if (requestResultIsOk(requestResult)) {\n yield put(actionCheckUserGroup({ userId: id }));\n\n const users = yield select(getUserModel);\n const user = users.find(u => u.userId === id);\n yield put(\n actionCourierUpdate({\n ...user,\n isLocked: !isLocked,\n cycle: user.cycle && {\n ...user.cycle,\n isLocked: !isLocked,\n },\n })\n );\n yield put(actionUpdateGroup({ id, isLocked: !isLocked }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n const requestResult = yield call(group.isLocked ? unlockGroup : lockGroup, id);\n if (requestResultIsOk(requestResult)) {\n yield put(actionUpdateGroup({ id, isLocked: !group.isLocked }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }\n }, action.type);\n}\n\nfunction* pusherUserUpdatedSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase((action.data || {}).User);\n if (data) {\n if (data.userId === getUserConnectionData().unique_name) {\n const restaurant = yield select(getRestaurant);\n const controlCenterId = data?.controlCenterId || restaurant?.activeControlCenter?.controlCenterId;\n User.instance.setCurrentUserInfo({ ...data, controlCenterId });\n }\n\n yield put(actionUpdateUser(data));\n }\n }, action.type);\n}\n\nexport function* getUsersByIdsSaga(action) {\n yield* createSaga(function*() {\n const { ids } = action.data || {};\n\n const userModel = yield select(getUserModel)\n\n if(ids.every(userId => userModel.some(user => user.userId === userId))) return\n\n if((ids || []).length) {\n const uniqueUserIds = [...new Set(ids)]\n const requestResult = yield call(getUsersByIds, { ids: uniqueUserIds });\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data) || [];\n const newUsers = data\n .map(m=> ({ ...initUserModel(m)}))\n yield put(actionUsersUpdate(newUsers));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* getUserByIdSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data || {};\n\n const userModel = yield select(getUserModel)\n\n if(userModel.some(user => user.userId === id )) return\n\n if(id) {\n const requestResult = yield call(fetchUser, id);\n if(requestResultIsOk(requestResult)) {\n const user = objectKeysToUpperLowerCase(requestResult?.data)\n yield put(actionUsersUpdate([ initUserModel(user) ]));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* getUsersByAvailableCouriersIdsSaga(action) {\n yield* createSaga(function*() {\n const { controlCenter } = action.data || {};\n const users = yield select(getUserModel);\n\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(fetchShiftActiveUsers, controlCenter || '');\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data || []);\n const shiftActiveUserIds = data.map(user => user.userId);\n\n if(!shiftActiveUserIds.every(activeUser => users.some(user => user.userId === activeUser) )) {\n yield getUsersByIdsSaga({ data: { ids: shiftActiveUserIds } })\n }\n\n yield put(actionSetSectionItemsLoading(false));\n\n return {\n shiftActiveUserIds,\n }\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* checkColorsForUsersSaga(action){\n yield* createSaga(function*() {\n const usersIds = action.data;\n if(Array.isArray(usersIds) && usersIds.length) {\n const users = yield select(getUserModel);\n const usersNeededUpdate = (users || [])\n .reduce((acc, user)=> {\n if(usersIds.includes(user.userId) && !user.color) {\n acc.push({ ...user, color: ColorService.instance.getColor() })\n }\n\n return acc;\n }, []);\n\n if(usersNeededUpdate.length) {\n yield put(actionUsersUpdate(usersNeededUpdate));\n }\n }\n\n }, action.type);\n}\n\nexport function* getDefaultUsersState(action){\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const users = yield select(getUserModel);\n\n const curUserId = getUserConnectionData()?.unique_name || ''\n if(!users.some(user => user.userId === curUserId)) {\n yield getUsersByIdsSaga({ data: { ids: [ curUserId ]}})\n }\n\n const oneUserAndIsCourier = users.length === 1 && users[0].userId === curUserId;\n\n if(action.cycles && action.courierLocations) {\n const cyclesIds = action.cycles.map(cycle => cycle.courierId)\n if(oneUserAndIsCourier || !users.every(user => cyclesIds.some(cycle => cycle === user.userId))) {\n yield getUsersByIdsSaga({ data: { ids: cyclesIds } })\n }\n if (action.courierLocations || action.cycles) {\n yield usersSaga({ courierLocations: action.courierLocations, cycles: action.cycles });\n }\n yield put(actionSetSectionItemsLoading(false));\n return\n }\n\n const requestResult = yield call(fetchCourierLocations);\n if(requestResultIsOk(requestResult)) {\n\n const courierLocations = objectKeysToUpperLowerCase(requestResult.data)\n const activeStateCycles = yield select(getActiveStateCycles);\n const cyclesIds = activeStateCycles.map(cycle => cycle.courierId)\n\n if(oneUserAndIsCourier || !users.every(user => cyclesIds.some(cycle => cycle === user.userId))) {\n yield getUsersByIdsSaga({ data: { ids: cyclesIds } })\n }\n\n if (courierLocations || activeStateCycles) {\n yield usersSaga({ courierLocations, cycles: activeStateCycles });\n }\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\n\nexport default function*() {\n yield takeEvery(LOAD_USERS, usersSaga);\n yield takeEvery(LOAD_USER_MARKERS, fetchUserAvatarsSaga);\n yield takeEvery(PUSHER_CYCLE_STATE_UPDATE, cycleStateUpdateSaga);\n yield takeEvery(LOAD_COURIER_LOCATIONS, courierLocationsSaga);\n yield takeEvery(INTERVAL_COURIER_LOCATIONS, updateCourierLocationSaga);\n yield takeEvery(COURIER_APPROVE_ORDERS, approveOrdersSaga);\n yield takeEvery(PUSHER_CYCLE_DISPATCHED, cycleDispatchedSaga);\n yield takeEvery(PUSHER_COURIER_SHIFT_CREATED, courierShiftCreatedSaga);\n yield takeEvery(START_SHIFT_BACKUP, startBackupSaga);\n yield takeEvery(START_SHIFTS, startShiftsSaga);\n yield takeEvery(AVAILABLE_CONTROL_CENTERS, availableControlCenters);\n yield takeEvery(END_SHIFT, endShiftSaga);\n yield takeEvery(CANCEL_SHIFT, cancelShiftSaga);\n yield takeEvery(FINISH_SHIFT, finishShiftSaga);\n yield takeEvery(GOAWAY_SHIFT, goAwayShiftSaga);\n yield takeEvery(REFRESH_GROUP, refreshGroupSaga);\n yield takeEvery(DISBAND_GROUP, disbandGroupSaga);\n yield takeEvery(UPDATE_SHOW_COURIER_MARKER, updateCourierMarkerSaga);\n yield takeEvery(PUSHER_COURIER_LOCK_UPDATE, courierLockUpdateSaga);\n yield takeEvery(COURIER_TO_GROUP, courierToGroupSaga);\n yield takeEvery(USERS_PAGINATION, usersPaginationSaga);\n yield takeEvery(COURIER_PAGINATION, couriersPaginationSaga);\n yield takeEvery(USER_SETTING_EDIT, editUserSaga);\n yield takeEvery(USER_SETTING_ADD, addUserSaga);\n yield takeEvery(USER_SETTING_DELETE, deleteUserSaga);\n yield takeEvery(USER_SETTING_PASSWORD_EDIT, editUserPasswordSaga);\n yield takeEvery(UPDATE_USER_BY_ID, updateUserByIdSaga);\n yield takeEvery(PERSONAL_SETTING_EDIT, personalSettingsSaga);\n yield takeEvery(SET_USER_AVATAR, setUserAvatarSaga);\n yield takeEvery(PERSONAL_SETTING_PASSWORD_EDIT, personalSettingsPasswordSaga);\n yield takeEvery(USER_SHIFTS_EDIT, userShiftsEditSaga);\n yield takeEvery(USER_SHIFTS_DELETE, userShiftRemoveSaga);\n yield takeEvery(USER_CURRENT_SHIFTS_EDIT, userCurrentShiftsEditSaga);\n yield takeEvery(UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS, updateCurrentShiftDepotCouriersSaga);\n yield takeEvery(USER_SHIFT_DOWNLOAD_PDF, userShiftDownloadPdfSaga);\n yield takeEvery(USER_SHIFT_COURIERS_CSV, userShiftDownloadCsvSaga);\n yield takeEvery(EXTERNAL_CYCLES_UPDATE, externalCyclesUpdateSaga);\n yield takeEvery(PUSHER_EXTERNAL_CYCLE_CREATED, externalCycleCreatedSaga);\n yield takeEvery(PUSHER_EXTERNAL_CYCLE_UPDATED, externalCycleUpdatedSaga);\n yield takeEvery(PUSHER_EXTERNAL_CYCLE_FINISHED, externalCycleFinishedSaga);\n yield takeEvery(ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE, externalCycleAssociateSaga);\n yield takeEvery(DISBAND_ORDER_FROM_EXTERNAL_CYCLE, disbandOrderFromExternalCycleSaga);\n yield takeEvery(EXTRACT_EXTERNAL_CYCLE_DATA, extractExternalCycleDataSaga);\n yield takeEvery(EXTERNAL_CYCLE_DISBAND, disbandExternalCycleDataSaga);\n yield takeEvery(ADD_ORDER_TO_EXTERNAL_CYCLE, addOrderToExternalCycleSaga);\n yield takeEvery(EXTERNAL_CYCLES_UPDATE_FROM_COURIER_LOCATIONS, updateExternalCyclesFromCourierLocationsSaga);\n yield takeEvery(EXTERNAL_CYCLE_CONFIRM, confirmExternalCycleSaga);\n yield takeEvery(CHECK_USER_GROUP, checkUserGroupSaga);\n yield takeEvery(LOCK_GROUP, lockGroupSaga);\n yield takeEvery(PUSHER_USER_UPDATED, pusherUserUpdatedSaga);\n yield takeEvery(LOAD_USERS_BY_IDS, getUsersByIdsSaga);\n yield takeEvery(LOAD_USERS_BY_ID, getUserByIdSaga);\n yield takeEvery(GET_USERS_BY_AVAILABLE_COURIERS_IDS, getUsersByAvailableCouriersIdsSaga);\n yield takeEvery(USERS_CHECK_COLORS, checkColorsForUsersSaga);\n yield takeEvery(GET_DEFAULT_USERS_STATE, getDefaultUsersState);\n}\n","import {all, call, put, select, takeEvery, takeLatest} from 'redux-saga/effects';\n\nimport {\n addConsumerOrder,\n approveAssistanceOrder, associateAssistance,\n associateGroup,\n associateOrder,\n associateOrders,\n cancelAdminOrder,\n cancelConsumerOrder,\n changeOrderState,\n consumerOrderAccept,\n consumerOrderAcknowledge,\n consumerOrderCooking,\n consumerOrderDelaying,\n consumerOrderPickUp,\n consumerOrderReady,\n consumerOrderReject,\n consumerOrderRepack,\n consumerOrderSearch,\n courierReorder,\n createNewOrder,\n deleteAssistanceOrder,\n deleteOrder,\n deliveryAdminOrder,\n editOrder,\n exchangeOrders,\n fetchActiveOrders,\n fetchAdminOrderById,\n fetchAdminOrders,\n fetchBusinessInfo,\n fetchCancelerInfo,\n fetchConsumerInfo,\n fetchConsumerOrders,\n fetchCourierInfo,\n fetchCycle,\n fetchOrderMenu,\n fetchPendingPreOrders,\n fetchReceipts, getAdminOrderPengingCount,\n getAdvancedInfo,\n getCallCenterMenu,\n getDateOrders,\n getLastOrders,\n getMergedBusinessMenu, getMergedBusinessMenuById,\n getOrderPaymentIntent, getOrderSetupIntent,\n groupReorder,\n refundOrder,\n reloadOrder,\n reshipmentOrder,\n setCaptureRemainder,\n setCreatedOrders,\n setOrderDeliveredBy, stripeVerifyCardOrder,\n updateServiceNotes,\n} from '../../api/order-requests';\nimport {\n actionAddNewOrders,\n actionAdminOrderGetOrderInfo, actionAdminOrderPendingCountUpdate,\n actionAdminOrdersLoading,\n actionAdminOrdersUpdate,\n actionAdminOrderUpdate,\n actionChangeItemsGroup,\n actionConsumerOrdersSearch,\n actionCycleReorder,\n actionGroupUpdateState,\n actionLoadOrdersFail,\n actionLoadOrdersSuccess,\n actionNewOrder,\n actionOrderMenuUpdate,\n actionPendingOrderCourierUpdate,\n actionPendingOrdersUpdate,\n actionPendingOrderUpdate,\n actionPendingPeorderDelete,\n actionRemoveOrder,\n actionSaveHistoryOrders,\n actionUpdateGroup,\n actionUpdateGroupOrdersMarkers,\n actionUpdateOrder,\n actionUpdateOrderData,\n actionUpdateOrderGroup,\n actionUpdateOrders,\n actionUpdateOrderServiceNotes,\n actionUpdateOrderState, actionUpdateOrdersTimesInfo,\n ADMIN_ORDER_CANCEL,\n ADMIN_ORDER_CAPTURE,\n ADMIN_ORDER_DELIVERED,\n ADMIN_ORDER_GET,\n ADMIN_ORDER_GET_BY_ID,\n ADMIN_ORDER_GET_ORDER_INFO,\n ADMIN_ORDER_REFUND,\n ADMIN_ORDER_RESHIPMENT,\n APPROVE_ASSISTANCE_ORDER,\n ASSOCIATE_ORDERS,\n CHANGE_ORDER_INDEX,\n CHANGE_ORDER_STATE,\n CONSUMER_ORDER_ADD,\n CONSUMER_ORDER_CANCEL,\n CONSUMER_ORDER_SEARCH_SAGA,\n CONSUMER_PRE_ORDERS_GET, GET_ADMIN_ORDER_PENDING_COUNT,\n GET_ADVANCED_INFO,\n GET_MERGED_BUSINESS_MENU, GET_MERGED_BUSINESS_MENU_BY_ID,\n GET_ORDER_PAYMENT_INTENT,\n GET_ORDER_RECEIPTS, GET_ORDER_SETUP_INTENT,\n GET_ORDERS_PROVIDER,\n GET_PRODUCTS_BY_ID_BUSINESS,\n LOAD_HISTORY_ORDERS,\n MARKETPLACE_MESSAGE_DATA_GET,\n MARKETPLACE_MESSAGE_GET,\n MARKETPLACE_PAGES_GET,\n NEW_GROUP_REORDER,\n ORDER_ADMIN_INFO_GET,\n ORDER_ASSISTANCE_DELETE,\n ORDER_DELETE,\n ORDER_MENU_GET,\n ORDER_NOTE_EDIT,\n ORDERS_LOAD,\n PENDING_ORDER_CANCEL_CYCLE,\n PENDING_ORDER_DATA_GET,\n PENDING_ORDER_GET,\n PENDING_ORDER_SAVE,\n PENDING_ORDER_UN_ASSOCIATE_ORDER,\n PERFORM_ORDER_ASSOCIATING,\n PUSH_MESSAGE,\n PUSHER_CONSUMER_ORDER_ARRIVED,\n PUSHER_CYCLE_REORDER,\n PUSHER_GROUP_REORDER,\n PUSHER_NEW_ORDER,\n PUSHER_ORDER_STATE_UPDATE,\n PUSHER_UPDATE_ORDER,\n RELOAD_ORDER,\n SAVE_ORDER_TO_SERVER,\n SET_CREATED_ORDER,\n SET_ORDER_DELIVERED_BY,\n setAdminOrderSelectedOrderId, STRIPE_VERIFY_CARD_ORDER,\n UPDATE_GROUP_ORDERS_MARKERS,\n} from '../reducers/order/order-actions';\n\nimport {\n actionLoadMarkers,\n actionMarkerUpdate,\n actionRemoveMarker,\n actionUpdateOrderMarker,\n} from '../reducers/marker/marker-actions';\n\nimport {getParsedServerModel, objectKeysToUpperLowerCase} from '../../utils/objects-util';\nimport {createAction, createSaga, ErrorData} from '../../utils/sagaHelper';\nimport {\n dropPaymensZerro,\n extractOrders,\n getAPIType,\n getCycleData,\n getGroup,\n getTotalAmount,\n isDefaultGroup,\n isGroupHide,\n isNotDefaultOrderGroup,\n processHistoryOrders,\n removeAddressNulls,\n updateOrderData,\n updateOrdersMarkerType\n} from '../../services/order';\n\nimport {\n ACCOUNT_ORDER_STATUS,\n ADMIN_ORDER_FILTER_TYPE as cancelerInfo,\n COURIER_STATE,\n CYCLE_STATE,\n DEFAULT_ORDERS_GROUPS,\n DELIVERY_STRATEGY,\n DIALOG_TYPE_CONFIRM,\n INTEGRATION_TYPE,\n MODEL_TYPE,\n ORDER_STATE,\n ORDER_TYPE, PAY_METHOD,\n} from '../../utils/enums';\nimport {PUSHER_MANUAL_ASSOCIATE_UPDATE, PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST} from '../reducers/common-actions';\nimport {\n getAdminOrders,\n getAllOrders,\n getExternalCycles,\n getGroups,\n getHistoryOrders,\n getOrder,\n getOrders,\n getPendingOrders,\n getPickups,\n getRestaurant,\n getUserModel\n} from '../selectors';\nimport {\n actionCheckUserGroup,\n actionCheckUsersColors,\n actionCourierToGroup,\n actionCourierUpdate,\n actionCycleUpdate,\n actionLoadUsersByIds\n} from \"../reducers/userModel/userModel-actions\";\nimport {actionSetSectionItemsLoading} from '../reducers/sectionsWrapperData/sectionsWrapperData-actions';\nimport {prepareStartDate, setStartTime} from '../../utils/convertTime';\nimport User from '../../services/user';\nimport {getInitModel} from '../../services/initModels';\nimport AudioService from '../../services/audio';\nimport {getErrorMessage, requestResultIsOk} from '../../utils/request-util';\nimport {sortByDate} from '../../services/filter';\nimport {getReshipmentOrderData} from '../../services/restaurant';\nimport {\n currentUserIsDeliveryManager,\n currentUserIsDepotRole,\n getDistinctUsersIdsFromData,\n getUserByGroupId,\n getUserByOrder\n} from '../../services/userModel';\nimport {fetchMarketplaceMessage, fetchPages, pushMessage} from '../../api/restaurant-requests';\nimport {setMarketplace, setMarketplacePages, setProductAction} from '../reducers/marketplace/marketplace-actions';\nimport {\n actionGetGiftCard,\n actionGetListPromotion,\n actionRestaurantUpdate, MENU_TEMPLATE_GET,\n setOrdersProvider,\n} from '../reducers/restaurant/restaurant-actions';\nimport {setPaymentIntent} from '../reducers/orderEdit/orderEdit-actions';\nimport {cancelCycle, deleteMultiOrders, fetchExternalProviders} from '../../api/user-requests';\nimport {\n actionDisbandOrderFromExternalCycle,\n actionExternalCycleDisband, DELETE_MULTI_ORDER,\n} from '../reducers/externalCycles/externalCycles-actions';\nimport {createOrderServerModel} from '../../models/createOrderServerModel';\nimport {getUsersByIdsSaga} from \"./userModel-saga.js\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper.js\";\n\nexport function* ordersSaga(action) {\n try {\n const { orders, cycles, assistanceOrders, activeOrders, restaurant, consumerOrders } = action;\n let users = yield select(getUserModel);\n yield put(\n actionLoadOrdersSuccess(\n extractOrders({ orders, cycles, assistanceOrders, users, restaurant, activeOrders, consumerOrders })\n )\n );\n\n if (cycles) {\n const groupStates = cycles.map(cycle => ({\n id: cycle.courierId,\n hide: isGroupHide(cycle.state),\n }));\n\n if (groupStates.length) yield put(actionGroupUpdateState(groupStates));\n }\n\n yield put(actionLoadMarkers());\n return true;\n } catch (e) {\n yield put(actionLoadOrdersFail('Error orders loading'));\n }\n}\n\nexport function* cycleSaga(action) {\n try {\n const requestResult = yield call(fetchCycle);\n if (requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionLoadOrdersSuccess(data));\n }\n } catch (e) {\n yield put(actionLoadOrdersFail('Error orders loading'));\n }\n}\n\nexport function* newOrderSaga(action) {\n try {\n if (User.instance.skipObjectWithControlCenter(action.data.Order)) return;\n\n let newOrder = objectKeysToUpperLowerCase(action.data);\n if (newOrder.originalOrderId) {\n yield put(actionRemoveOrder([newOrder.originalOrderId]));\n yield put(actionRemoveMarker([newOrder.originalOrderId]));\n }\n\n yield put(actionNewOrder(newOrder));\n const orders = yield select(getOrders);\n const order = orders.find(f => f.id === newOrder.order.id);\n yield put(actionUpdateGroupOrdersMarkers({ groupId: order.groupId }));\n\n if (currentUserIsDepotRole()) {\n if (order.integrationType === INTEGRATION_TYPE.ordering) {\n AudioService.instance.playSound('newOrderCreated');\n }\n } else {\n if (currentUserIsDeliveryManager()) {\n AudioService.instance.playSound('newOrderCreated');\n }\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* updateOrderStateSaga(action) {\n try {\n let data = objectKeysToUpperLowerCase(action.data);\n if (User.instance.skipObjectWithControlCenter(data)) return;\n\n let groups = yield select(getGroups);\n let orders = yield select(getOrders);\n let pickups = yield select(getPickups);\n let users = yield select(getUserModel);\n const courier = getUserByGroupId(users, data.associatedCourierId);\n const canceledOrder = data.orderState === ORDER_STATE.canceled;\n const currentOrder = orders.find(f => f.id === data.orderId) || pickups.find(f => f.id === data.orderId);\n\n if (currentOrder) {\n const currentGroup = currentOrder && currentOrder.groupId;\n let removeOrder = false;\n if (courier) {\n removeOrder = canceledOrder && courier.cycle.state === CYCLE_STATE.started;\n } else if (canceledOrder) {\n removeOrder = true;\n } else if (currentGroup === DEFAULT_ORDERS_GROUPS.takeawayOrders) {\n removeOrder = data.orderState === ORDER_STATE.delivered;\n }\n\n if (removeOrder) {\n yield put(actionRemoveMarker([data.orderId]));\n yield put(actionRemoveOrder([data.orderId]));\n } else {\n const group = groups.find(f => f.id === currentOrder.groupId);\n\n if (group) {\n let groupOrders = (orders || [])\n .filter(f => f.groupId === currentOrder.groupId)\n .concat((pickups || []).filter(f => f.groupId === currentOrder.groupId))\n ?.sort((a, b) => a.index - b.index);\n groupOrders = groupOrders.map(m => (m.id === data.orderId ? { ...m, state: data.orderState } : m));\n\n if (courier) {\n updateOrdersMarkerType(group, groupOrders);\n }\n const groupOrder = groupOrders.find(f => f.id === data.orderId);\n yield put(actionUpdateOrderState(groupOrder));\n\n // users = yield select(getUserModel);\n orders = yield select(getOrders);\n const order = orders.find(f => f.id === data.orderId);\n if (order && order.groupId) {\n yield put(actionUpdateGroupOrdersMarkers({ groupId: order.groupId }));\n }\n }\n }\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* updateOrderDataSaga(action) {\n try {\n let data = objectKeysToUpperLowerCase(action.data);\n yield put(actionUpdateOrder(data));\n\n let orders = yield select(getOrders);\n let order = orders.find(f => f.id === data.order.id);\n if (order && order.groupId) {\n yield put(actionUpdateGroupOrdersMarkers({ groupId: order.groupId }));\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* reorderOrdersSaga(action) {\n try {\n let data = objectKeysToUpperLowerCase(action.data);\n if (data) {\n yield put(actionCheckUserGroup({ userId: data.courierId }));\n yield put(actionCycleReorder({ ...data, groupId: data.courierId }));\n\n const users = yield select(getUserModel);\n const orders = yield select(getAllOrders);\n const user = users.find(f => f.userId === data.courierId);\n\n const cycle = user.cycle || {};\n const notIncludeKeys = ['courierId', 'orderIds', 'pickUps'];\n Object.keys(data)\n .filter(key => !notIncludeKeys.includes(key))\n .forEach(key => {\n cycle[key] = data[key];\n });\n\n if (!data.orders && data.orderIds.length) {\n cycle.orders = data.orderIds.map((id, index) => {\n const order = cycle?.orders?.find(f => f.id === id) || orders.find(f => f.id === id) || {};\n return { ...order, index, groupId: data.courierId };\n });\n }\n\n yield put(actionCycleUpdate({ courierId: data.courierId, data: cycle }));\n\n if ((data.orderIds || []).length) {\n yield put(actionUpdateGroupOrdersMarkers({ groupId: data.courierId }));\n }\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* manualAssociateUpdateSaga(action) {\n try {\n const data = objectKeysToUpperLowerCase(action.data);\n const orders = yield select(getOrders);\n const groups = yield select(getGroups);\n const order = orders.find(f => f.id === data.orderId);\n\n if (!order) return;\n\n let group = groups.find(f => f.id === data.courierId);\n\n if (!group) {\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === data.courierId);\n if (user) {\n group = getGroup(DEFAULT_ORDERS_GROUPS.courierGroup, user);\n }\n }\n\n if (group) {\n yield put(actionUpdateOrderGroup({ orderId: data.orderId, group }));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: data.courierId }));\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* associateOrderSaga(action) {\n yield* createSaga(function*() {\n const { associateMode, orderId, courierId, group } = action.data;\n if (associateMode) {\n const groups = yield select(getGroups);\n const allOrders = yield select(getAllOrders);\n const pendingOrders = yield select(getPendingOrders);\n let orders = allOrders.concat(pendingOrders);\n\n if (orderId && courierId) {\n const restaurant = yield select(getRestaurant);\n const group = groups.find(g => g.id === courierId)\n const newOrderInGroup = orders.find(o => o.id === orderId);\n if(!newOrderInGroup.isAssistOrder && newOrderInGroup && group && group.controlCenterId && (newOrderInGroup.controlCenterId || newOrderInGroup.control_center_id) !== group.controlCenterId) {\n return new ErrorData('Error');\n }\n const request = newOrderInGroup.isAssistOrder ? associateAssistance : associateOrder\n let requestResult = yield call(request, {\n orderId,\n courierId,\n controlCenterId: restaurant.selectedControlCenter,\n });\n if (requestResultIsOk(requestResult)) {\n yield put(actionPendingOrdersUpdate({ resetAssistOrder: true, activeOrders: requestResult.data.Orders }));\n yield put(actionPendingOrderCourierUpdate({ orderId, courierId }));\n\n const cycle = objectKeysToUpperLowerCase(requestResult.data);\n if (cycle) {\n yield put(actionCourierUpdate({ courierId, cycle }));\n if (cycle.orders) {\n const users = yield select(getUserModel);\n const cycleData = getCycleData(cycle, users, groups);\n\n yield put(\n actionRemoveOrder(\n orders\n .filter(f => f.groupId === courierId && f.type === ORDER_TYPE.pickUp)\n .map(m => m.id)\n )\n );\n yield put(actionUpdateGroup(cycleData.group));\n yield put(actionUpdateOrders(cycleData.orders));\n }\n\n yield all([\n put(actionUpdateGroupOrdersMarkers({ groupId: courierId })),\n put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted })),\n ]);\n } else {\n //Fix for update order control center and remove order marker if control center changed.\n const restaurant = yield select(getRestaurant);\n orders = yield select(getOrders);\n const order = orders.find(f => f.id === orderId);\n const controlCenter = (restaurant.controlCenters || []).find(\n f => f.controlCenterId === courierId\n );\n\n if (controlCenter && order.controlCenterId !== controlCenter.controlCenterId) {\n yield put(\n actionUpdateOrderData({ ...order, controlCenterId: controlCenter.controlCenterId })\n );\n if (\n restaurant.selectedControlCenter &&\n restaurant.selectedControlCenter !== controlCenter.controlCenterId\n ) {\n yield put(actionRemoveMarker([orderId]));\n }\n }\n\n if (controlCenter) {\n yield put(actionMarkerUpdate({ id: orderId, controlCenterId: courierId }));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: courierId }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted }));\n\n if (currentUserIsDepotRole()) {\n const pendingOrders = yield select(getPendingOrders);\n const pendingOrder = pendingOrders.find(f => f.id === orderId);\n const updatedOrder = (cycle.orders || []).find(f => f.id === orderId) || {};\n\n if (pendingOrder) {\n yield put(\n actionPendingOrderUpdate({\n ...pendingOrder,\n ...updatedOrder,\n isExternalGroup: false,\n isCourierGroup: true,\n groupId: courierId,\n courierId: courierId,\n courier_id: courierId,\n })\n );\n }\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else if (group) {\n let requestResult = group.isCourierGroup\n ? yield call(exchangeOrders, group.id, courierId)\n : yield call(associateGroup, group.id, courierId);\n if (requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n const destinationGroup = groups.find(f => f.id === courierId);\n const itemsIds = orders.filter(f => f.groupId === group.id).map(m => m.id);\n\n yield put(actionChangeItemsGroup({ destinationGroup, itemsIds }));\n\n //Fix for change group color and update group\n yield put(actionCourierUpdate({ ...data, color: group.color }));\n yield put(actionUpdateGroup({ ...group, color: destinationGroup.color }));\n yield put(actionUpdateGroup({ ...data, ...destinationGroup, color: group.color }));\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: courierId }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: group.id }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n } else {\n //TODO: notassociate mode functional\n }\n }, action.type);\n}\n\nexport function* changeOrderStateSaga(action) {\n yield* createSaga(function*() {\n const order = action.data.order;\n const state = action.data.state;\n const orderType = getAPIType(order);\n const requestResult = yield call(changeOrderState, order.id, state, orderType);\n\n if (requestResultIsOk(requestResult)) {\n if (state === ORDER_STATE.delivered && orderType === DEFAULT_ORDERS_GROUPS.takeaways) {\n yield put(actionRemoveOrder([order.id]));\n yield put(actionRemoveMarker([order.id]));\n } else {\n yield put(actionUpdateOrderData({ ...order, state, readinessTime: requestResult.data.ReadinessTime }));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: order.groupId }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* updateOrderMarkersSaga(action) {\n const groupId = action.data.groupId;\n\n try {\n const groups = yield select(getGroups);\n const users = yield select(getUserModel);\n const orders = yield select(getOrders);\n const restaurant = yield select(getRestaurant);\n const depots = restaurant.depots || [];\n const group = groups.find(f => f.id === groupId);\n const groupOrders = orders.filter(f => f.groupId === groupId);\n const user = getUserByGroupId(users, groupId);\n\n yield put(actionUpdateOrderMarker({ group, groupOrders, user, depots }));\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* reorderSaga(action) {\n yield* createSaga(function*() {\n const { groupId } = (action.data || {}).order || {};\n\n const groups = yield select(getGroups);\n const group = groupId && groups.find(f => f.id === groupId);\n\n if (group) {\n let requestResult;\n\n if (group.isCourierGroup) {\n yield put(actionCheckUserGroup({ userId: groupId }));\n requestResult = yield call(courierReorder, action.data.order.id, group.id, action.data.newIndex);\n } else {\n requestResult = yield call(groupReorder, {\n OrderId: action.data.order.id,\n TargetGroupId: group.id,\n NewGroup: false,\n Index: action.data.newIndex,\n });\n }\n\n if (requestResultIsOk(requestResult)) {\n const orders = yield select(getOrders);\n const pickUps = yield select(getPickups);\n let groupOrders = orders\n .filter(order => order.groupId === group.id)\n .concat(pickUps.filter(order => order.groupId === group.id))\n ?.sort((a, b) => a.index - b.index);\n const order = groupOrders.find(order => order.id === action.data.order.id);\n if (order.index !== action.data.newIndex) {\n groupOrders.splice(order.index, 1);\n groupOrders.splice(action.data.newIndex, 0, order);\n }\n\n yield put(actionCycleReorder({ orderIds: groupOrders.map(m => m.id), groupId: group.id }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: group.id }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData(\"Can't find this group\");\n }\n }, action.type);\n}\n\nexport function* manualUnassociateUpdateListSaga(action) {\n const data = objectKeysToUpperLowerCase(action.data);\n if (User.instance.skipObjectWithControlCenter(data)) return;\n\n let orders = yield select(getOrders);\n let groups = yield select(getGroups);\n const orderReducerState = yield select(getOrder);\n\n const ordersIds = orders.map(order => order.id);\n if ((data.ordersId || []).some(orderId => !ordersIds.includes(orderId))) {\n const requestResult = yield call(fetchActiveOrders);\n if (requestResultIsOk(requestResult, true)) {\n const unsortedGroup = requestResult.data.Groups.find(g => g.Id === DEFAULT_ORDERS_GROUPS.Unsorted) || {};\n const unsortedGroupOrders = objectKeysToUpperLowerCase(unsortedGroup.Orders || []);\n const newOrders = data.ordersId.reduce((accumulator, orderId) => {\n if (!ordersIds.includes(orderId)) {\n const newOrder = unsortedGroupOrders.find(order => order.id === orderId);\n if (newOrder) {\n accumulator.push(\n updateOrderData(newOrder, false, DEFAULT_ORDERS_GROUPS.Unsorted, orderReducerState)\n );\n }\n }\n\n return accumulator;\n }, []);\n yield put(actionAddNewOrders(newOrders));\n }\n }\n\n const currentGroup = groups.find(f => f.id === data.id);\n if (currentGroup) {\n const currentGroupOrders = orders.filter(order => data.ordersId.includes(order.id));\n\n if (!currentGroup.isCourierGroup && isNotDefaultOrderGroup(data.id)) {\n const restaurant = yield select(getRestaurant);\n const depots = restaurant.depots || [];\n yield put(\n actionUpdateOrders(\n currentGroupOrders.map(order => ({ ...order, groupId: DEFAULT_ORDERS_GROUPS.Unsorted }))\n )\n );\n yield put(actionUpdateOrderMarker({ currentGroup, currentGroupOrders, user: null, depots }));\n } else {\n if (currentGroup.isCourierGroup) {\n yield put(\n actionUpdateOrders(\n currentGroupOrders.map(order => ({ ...order, groupId: DEFAULT_ORDERS_GROUPS.Unsorted }))\n )\n );\n }\n }\n }\n\n //Remove order from cycle list\n if (isNotDefaultOrderGroup(data.id) && (data.ordersId || []).length) {\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === data.id);\n\n if ((user || {}).cycle) {\n yield put(\n actionCycleUpdate({\n courierId: data.id,\n data: {\n ...(user || {}).cycle,\n orders: ((user || {}).cycle.orders || []).filter(f => !data.ordersId.includes(f.id)),\n },\n })\n );\n }\n }\n\n groups = yield select(getGroups);\n const group = groups.find(f => f.id === DEFAULT_ORDERS_GROUPS.Unsorted);\n\n try {\n orders = yield select(getOrders);\n const restaurant = yield select(getRestaurant);\n const depots = restaurant.depots || [];\n const groupOrders = orders.filter(f => f.groupId === group.id);\n\n yield put(actionUpdateOrderMarker({ group, groupOrders, user: undefined, depots }));\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* associateOrdersSaga(action) {\n yield* createSaga(function*() {\n const { orders, courierId, orderId } = action.data;\n const requestResult = yield call(associateOrders, courierId, orders);\n\n if (requestResult.status === 200) {\n if (requestResult.data) {\n const cycle = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionCourierUpdate({ courierId, cycle }));\n\n if(requestResult.data.Orders) {\n yield put(actionPendingOrdersUpdate({ activeOrders: requestResult.data.Orders }));\n yield put(actionPendingOrderCourierUpdate({ orderId, courierId }));\n }\n\n\n if (cycle.orders) {\n yield put(\n actionUpdateOrders(\n cycle.orders.map((order, index) => ({ ...order, groupId: courierId, index }))\n )\n );\n }\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: courierId }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* deleteOrderSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteOrder, action.data.order.id, action.data.token);\n if (requestResult.status === 200) {\n yield put(\n actionUpdateOrderData({\n ...action.data.order,\n state: ORDER_STATE.canceled,\n })\n );\n\n const users = yield select(getUserModel);\n const user = getUserByOrder(users, action.data.order);\n if (!user || user.cycle.state === CYCLE_STATE.started) {\n yield put(actionRemoveOrder([action.data.order.id]));\n yield put(actionRemoveMarker([action.data.order.id]));\n }\n } else {\n return new ErrorData('Error delete order');\n }\n }, action.type);\n}\n\nexport function* deleteAssistanceOrderSaga(action) {\n yield* createSaga(function*() {\n const { order, token } = action.data;\n const requestResult = yield call(deleteAssistanceOrder, order.id, token);\n if (requestResult.status === 200) {\n const users = yield select(getUserModel);\n const user = users.find(f => f.userId === order.groupId);\n if (!user || user.cycle.state === CYCLE_STATE.started) {\n yield put(actionRemoveOrder([order.id]));\n yield put(actionRemoveMarker([order.id]));\n }\n } else {\n return new ErrorData('Error delete assistance order');\n }\n }, action.type);\n}\n\nfunction* saveOrderToServerSaga(action) {\n yield* createSaga(function*() {\n let order = {\n ...action.data,\n address: removeAddressNulls(action.data.address),\n payments: dropPaymensZerro(action.data.payments),\n amount: getTotalAmount(action.data.payments),\n };\n\n if (order.userName) {\n let arr = order.userName.trim().split(' ');\n order.lastName = arr.pop();\n order.firstName = arr.join(' ');\n }\n const serverModel = getParsedServerModel(order);\n const requestResult = yield call(order.id ? editOrder : createNewOrder, serverModel, order.type);\n\n if (requestResult.status === 200) {\n let data = objectKeysToUpperLowerCase(requestResult.data);\n let groupId = DEFAULT_ORDERS_GROUPS.Unsorted;\n\n if (data.order) {\n if (order.id) {\n if (order.groupId && !order.type && !isDefaultGroup(order.groupId)) {\n groupId = order.groupId;\n }\n\n yield put(\n actionUpdateOrder({\n ...data,\n order: { ...data.order, groupId: data.associatedCourierId || data.groupId || groupId },\n })\n );\n } else {\n AudioService.instance.playSound(\"newOrderCreated\");\n yield put(actionNewOrder(data));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult, 'Error save order'));\n }\n }, action.type);\n}\n\nfunction* approveAssistanceOrderSaga(action) {\n yield* createSaga(function*() {\n const order = {\n ...action.data,\n payments: dropPaymensZerro(action.data.payments),\n amount: getTotalAmount(action.data.payments),\n };\n let [firstname, ...lastName] = (action?.data?.userName || '').split(' ') || '';\n if(!firstname) {\n firstname = action.data.firstName || \"\";\n }\n if(Array.isArray(lastName) && lastName.length) {\n lastName = (lastName || []).join(' ') || \"\";\n } else {\n lastName = action.data.lastName || \"\";\n }\n order.lastName = (lastName || \"\");\n order.firstName = (firstname || \"\");\n\n const serverModel = getInitModel(MODEL_TYPE.assistanceServerModel, order);\n if (!order.type) {\n if (order.address) {\n serverModel.ParsedOrder.Address = getInitModel(MODEL_TYPE.addressServerModel, order.address);\n }\n if (order.location) {\n serverModel.Location = getInitModel(MODEL_TYPE.locationServerModel, order.location);\n }\n }\n\n const requestResult = yield call(approveAssistanceOrder, serverModel);\n if (requestResult.status === 200) {\n let data = objectKeysToUpperLowerCase(requestResult.data);\n let groupId = null;\n const newOrder = data.order;\n if (newOrder.id) {\n const groups = yield select(getGroups);\n const parent = groups.find(f => f.id === newOrder.groupId);\n if (parent && !newOrder.type && !isDefaultGroup(parent)) groupId = parent.id;\n yield put(\n actionUpdateOrder({\n ...data,\n order: {\n ...newOrder,\n groupId: data.associatedCourierId || data.groupId || groupId,\n },\n })\n );\n } else {\n yield put(actionNewOrder(data));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult, 'Error save order'));\n }\n }, action.type);\n}\n\nfunction* getReceiptsSaga(action) {\n yield* createSaga(function*() {\n const ids = action.data.receiptIds;\n const apiCalls = ids.map(id => call(fetchReceipts, id));\n const apiCallResults = yield all(apiCalls);\n const results = apiCallResults.reduce((accumulator, result) => {\n if (result && result.status === 200 && result.data) {\n accumulator.push(result.data);\n }\n return accumulator;\n }, []);\n\n return results;\n }, action.type);\n}\n\nfunction* getAdvancedInfoSaga(action) {\n yield* createSaga(function*() {\n const ids = action.data.receiptIds;\n const apiCalls = ids.map(id => call(getAdvancedInfo, id));\n const apiCallResults = yield all(apiCalls);\n return apiCallResults.reduce((accumulator, result) => {\n if (result && result.status === 200 && result.data) {\n accumulator.push(result.data);\n }\n return accumulator;\n }, []);\n\n }, action.type);\n}\n\nfunction* loadHistoryOrdersSaga(action) {\n yield* createSaga(function*() {\n let { ordersFilterModel, activeOrders, historyOrders, clearHistory, hours, date } = action.data;\n\n if (isNaN(hours) && ordersFilterModel) {\n hours = ordersFilterModel.options.historyTime.selected;\n }\n\n if (date === undefined && ordersFilterModel && ordersFilterModel.options.date.selected) {\n date = prepareStartDate(setStartTime(ordersFilterModel.options.date.selected));\n }\n\n if(!date) {\n date = prepareStartDate(setStartTime(new Date()));\n }\n\n yield put(actionSetSectionItemsLoading(true));\n if (date) {\n const response = yield call(getDateOrders, date, ordersFilterModel.options.territories?.selected);\n if (response.status === 200) {\n const data = processHistoryOrders(activeOrders, historyOrders, clearHistory, response);\n const usersIds = yield select(state => state.userModel.data.map(u => u.userId));\n const newUserIds = [...new Set(response.data.map(order => order.DeliveryBy).filter(Boolean))];\n const uniqueIds = newUserIds.filter(id => !usersIds.includes(id));\n if(uniqueIds.length) {\n yield getUsersByIdsSaga({ data: { ids: uniqueIds } });\n }\n\n yield put(actionUpdateOrdersTimesInfo(objectKeysToUpperLowerCase(response.data)));\n yield put(actionSaveHistoryOrders(data));\n yield put(actionCheckUsersColors(getDistinctUsersIdsFromData(data)));\n yield put(actionSetSectionItemsLoading(false));\n return data;\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(response.Error);\n }\n }\n\n const response = yield call(getLastOrders, hours);\n if (response.status === 200) {\n const data = processHistoryOrders(activeOrders, historyOrders, clearHistory, response) || [];\n\n yield put(actionSetSectionItemsLoading(false));\n yield put(actionSaveHistoryOrders(data));\n yield put(actionCheckUsersColors(getDistinctUsersIdsFromData(data)));\n return data;\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(response.Error);\n }\n }, action.type);\n}\n\nfunction* getOrdersProviderSaga(action) {\n yield createSaga(function*() {\n const resultRequest = yield call(fetchExternalProviders);\n\n if (resultRequest && resultRequest.data) {\n const data = objectKeysToUpperLowerCase(resultRequest.data);\n yield put(setOrdersProvider(data));\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* reloadOrderSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(reloadOrder, action.data);\n if (requestResult.status === 200 && requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data.order && data.order.id) {\n const orders = yield select(getOrders);\n if (orders.find(order => order.id === data.order.id)) {\n yield put(actionUpdateOrder({ order: data.order, preorder: data.isPreorder }));\n } else {\n yield put(actionNewOrder({ order: data.order, preorder: data.isPreorder }));\n }\n return data;\n }\n } else {\n return new ErrorData('Error reload order');\n }\n }, action.type);\n}\n\nfunction* setOrderDeliveredBySaga(action) {\n yield* createSaga(function*() {\n const { orderId, courierId, filterOptions } = action.data;\n const requestResult = yield call(setOrderDeliveredBy, orderId, courierId);\n if (requestResult.status === 200) {\n const orders = yield select(getOrders);\n const historyOrders = yield select(getHistoryOrders);\n\n yield put(actionSetSectionItemsLoading(true));\n yield put(\n createAction(LOAD_HISTORY_ORDERS, {\n ordersFilterModel: filterOptions,\n activeOrders: orders,\n historyOrders,\n clearHistory: true,\n hours: undefined,\n date: undefined,\n })\n );\n yield put(actionSetSectionItemsLoading(false));\n }\n }, action.type);\n}\n\nfunction* pendingOrderSaveSaga(action) {\n yield* createSaga(function*() {\n const { id, item, index, forPreorders } = action.data;\n if (item.type && index >= 0) {\n let requestResult = null;\n\n if (item.type === DIALOG_TYPE_CONFIRM.accept) {\n requestResult = yield call(consumerOrderAccept, id, item.items[index].key);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.acknowledge) {\n requestResult = yield call(consumerOrderAcknowledge, id);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.reject) {\n requestResult = yield call(consumerOrderReject, id, item.items[index].value);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.delay) {\n requestResult = yield call(consumerOrderDelaying, id, item.items[index].key);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.cooking) {\n requestResult = yield call(consumerOrderCooking, id, item.items[index].key);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.ready) {\n requestResult = yield call(consumerOrderReady, id);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.delivery) {\n requestResult = yield call(consumerOrderPickUp, id);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.delivered) {\n if (!index) return;\n requestResult = yield call(changeOrderState, id, ORDER_STATE.delivered);\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.kitchen) {\n requestResult = yield call(consumerOrderRepack, id);\n }\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n if (forPreorders) {\n yield put(actionPendingPeorderDelete(data));\n } else {\n yield put(actionPendingOrderUpdate(data));\n }\n }\n\n if (item.type === DIALOG_TYPE_CONFIRM.delivered || item.type === DIALOG_TYPE_CONFIRM.reject) {\n yield put(actionRemoveOrder([id]));\n yield put(actionRemoveMarker([id]));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* consumerOrderAddSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(addConsumerOrder, objectKeysToUpperLowerCase(action.data, true));\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(actionPendingOrderUpdate(data));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* consumerOrderCancelSaga(action) {\n yield* createSaga(function*() {\n const { id, notes, order } = action.data;\n const request = order.isAssistOrder ? deleteAssistanceOrder : cancelConsumerOrder;\n const requestParams = order.isAssistOrder ? [id] : [id, { Notes: notes }];\n const requestResult = yield call(request, ...requestParams);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(actionPendingOrderUpdate(data));\n } else {\n yield put(actionRemoveOrder([id]));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* pendingOrderGetSaga(action) {\n yield* createSaga(function*() {\n if (currentUserIsDepotRole()) {\n const requestResult = yield call(fetchConsumerOrders);\n const order = yield select(getOrder);\n const { enableSound: dataSound } = action.data\n\n const enableSound = dataSound === undefined ? true : dataSound\n const isNewOrderComes = !requestResult.data.every(v => order.data.activeOrders.some(data => data.sequence_id === v.sequence_id));\n\n if(isNewOrderComes && order.data.activeOrders.length > requestResult.data.length && enableSound) {\n AudioService.instance.playSound(\"newConsumerOrderCreatedFromLoop\");\n }\n if (requestResultIsOk(requestResult)) {\n yield put(\n actionPendingOrdersUpdate({ activeOrders: objectKeysToUpperLowerCase(requestResult.data || []) })\n );\n }\n } else {\n AudioService.instance.playSound('newOrderCreated');\n const adminOrders = yield select(getAdminOrders);\n if (adminOrders && adminOrders.search && adminOrders.search.status === ACCOUNT_ORDER_STATUS.pending) {\n yield put({ type: ADMIN_ORDER_GET, data: adminOrders.search });\n }\n }\n }, action.type);\n}\n\nfunction* getConsumerPreOrdersSaga(action) {\n yield* createSaga(function*() {\n if (currentUserIsDepotRole()) {\n const requestResult = yield call(fetchPendingPreOrders);\n if (requestResultIsOk(requestResult)) {\n yield put(\n actionPendingOrdersUpdate({\n pendingPreOrders: (objectKeysToUpperLowerCase(requestResult.data) || [])\n .map(preorder => ({ ...preorder, groupId: DEFAULT_ORDERS_GROUPS.preOrders }))\n ?.sort((a, b) => sortByDate(a, b, 'creation_datetime')),\n })\n );\n }\n }\n }, action.type);\n}\n\nfunction* adminOrderGetSaga(action) {\n yield* createSaga(function*() {\n yield put(actionAdminOrdersLoading(true));\n const filter = yield select(state => state.order.data.filter);\n const search = action.data || filter;\n const orders = yield select(getAdminOrders);\n const order = action.data.rememberOrder;\n if(action.data.isInit && orders && orders.items && orders.items.length) {\n yield put(actionAdminOrdersLoading(false));\n return orders;\n }\n delete search.isInit;\n delete search.rememberOrder;\n\n const requestResult = yield call(fetchAdminOrders, objectKeysToUpperLowerCase(search, true));\n if (requestResultIsOk(requestResult)) {\n const newOrders = (objectKeysToUpperLowerCase(requestResult.data) || [])?.sort((a, b) =>\n sortByDate(a, b, 'creation_datetime')\n );\n if(order) {\n const orderToUpdate = newOrders.find(o => o.id === order.id);\n if(orderToUpdate && order && order.businessInfo && orderToUpdate.business_id === order.businessInfo.id) {\n orderToUpdate.businessInfo = order.businessInfo;\n }\n if(order && orderToUpdate && (order?.courierInfo?.courierId === orderToUpdate?.driver_id)) {\n orderToUpdate.courierInfo = order.courierInfo;\n }\n if(order && orderToUpdate && order.cancelerInfo) {\n orderToUpdate.cancelerInfo = order.cancelerInfo;\n }\n if(order && orderToUpdate && order.consumerInfo) {\n orderToUpdate.consumerInfo = order.consumerInfo;\n }\n }\n yield put(\n actionAdminOrdersUpdate({\n search,\n items: newOrders\n })\n );\n yield put(actionAdminOrdersLoading(false));\n return yield select(getAdminOrders);\n }\n yield put(actionAdminOrdersLoading(false));\n }, action.type);\n}\n\nfunction* adminOrderSearchSaga(action) {\n yield* createSaga(function*() {\n if (action.data) {\n const requestResult = yield call(fetchAdminOrderById, action.data);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n yield put(actionAdminOrderGetOrderInfo(action.data));\n\n const adminOrders = yield select(getAdminOrders);\n return (adminOrders.items || []).find(f => f.id === action.data);\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* adminOrderInfoSaga(action) {\n yield* createSaga(function*() {\n const id = action.data;\n\n if (id) {\n const adminOrders = yield select(getAdminOrders);\n let currentOrder = adminOrders.items && adminOrders.items.find(f => f.id === id);\n\n const requestCallObj = {\n courierInfo: call(fetchCourierInfo, id),\n businessInfo: call(getCallCenterMenu, currentOrder.business_id),\n cancelerInfo: call(fetchCancelerInfo, id)\n };\n if (currentOrder.customer_id) {\n requestCallObj.consumerInfo = call(fetchConsumerInfo, currentOrder.customer_id);\n }\n\n if (currentOrder) {\n const requestResult = yield all(requestCallObj);\n const { consumerInfo, courierInfo, businessInfo, cancelerInfo } = requestResult;\n currentOrder = {\n ...currentOrder,\n consumerInfo:\n consumerInfo?.status === 200 &&\n consumerInfo?.data &&\n objectKeysToUpperLowerCase(consumerInfo?.data),\n courierInfo:\n courierInfo?.status === 200 && courierInfo?.data && objectKeysToUpperLowerCase(courierInfo?.data),\n businessInfo:\n businessInfo?.status === 200 &&\n businessInfo?.data &&\n objectKeysToUpperLowerCase(businessInfo?.data),\n cancelerInfo: cancelerInfo.status === 200 && cancelerInfo?.data && objectKeysToUpperLowerCase(cancelerInfo?.data)\n\n };\n\n yield put(actionAdminOrderUpdate(currentOrder));\n }\n }\n }, action.type);\n}\n\nfunction* orderAdminInfoSaga(action) {\n yield* createSaga(function*() {\n const id = action.data;\n let requestResult = null;\n\n if (id) {\n const orders = yield select(getOrders);\n const adminOrders = yield select(getAdminOrders);\n const order = orders.find(f => f.id === id);\n let currentOrder = adminOrders.items && adminOrders.items.find(f => f.id === order.integrationId);\n\n if (!currentOrder && order.integrationId) {\n requestResult = yield call(\n fetchAdminOrders,\n objectKeysToUpperLowerCase({ search: order.integrationId }, true)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n currentOrder = objectKeysToUpperLowerCase(requestResult.data)[0];\n }\n }\n\n if (currentOrder) {\n requestResult = yield all({\n consumerInfo: call(fetchConsumerInfo, currentOrder.customer_id),\n courierInfo: call(fetchCourierInfo, order.integrationId),\n businessInfo: call(fetchBusinessInfo, currentOrder.business_id),\n cancelerInfo: call(fetchCancelerInfo, order.integrationId)\n });\n const { consumerInfo, courierInfo, businessInfo } = requestResult;\n currentOrder = {\n ...currentOrder,\n consumerInfo:\n consumerInfo.status === 200 &&\n consumerInfo.data &&\n objectKeysToUpperLowerCase(consumerInfo.data),\n courierInfo:\n courierInfo.status === 200 && courierInfo.data && objectKeysToUpperLowerCase(courierInfo.data),\n businessInfo:\n businessInfo.status === 200 &&\n businessInfo.data &&\n objectKeysToUpperLowerCase(businessInfo.data),\n cancelerInfo: cancelerInfo.status === 200 && cancelerInfo.data && objectKeysToUpperLowerCase(cancelerInfo.data)\n };\n }\n\n return currentOrder;\n }\n }, action.type);\n}\n\nfunction* getProductByIdBusiness(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchBusinessInfo, action.data);\n if (requestResultIsOk(requestResult)) {\n if(requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data.categories || [])\n .flatMap(category => category)\n .flatMap(category => category.products);\n yield put(setProductAction(data));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderMenuGetSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(fetchOrderMenu, id);\n\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionOrderMenuUpdate({\n ...objectKeysToUpperLowerCase(requestResult.data),\n orderId: id,\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getMergedBusinessMenuByIdSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getMergedBusinessMenuById, action.data.id);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, businessMenus: (restaurant.businessMenus || []).concat(requestResult.data) }));\n }\n }, action.type);\n}\n\nfunction* pendingOrderDataGetSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(fetchOrderMenu, id);\n\n if (requestResultIsOk(requestResult)) {\n const {businessMenus, consumerOrderMenu} = yield select(state => state.restaurant.data);\n if(requestResult.data.business_id && consumerOrderMenu &&\n !(businessMenus || []).some(m => m.id === requestResult.data.business_id)\n && consumerOrderMenu.id !== requestResult.data.business_id\n ) {\n yield put(createAction(GET_MERGED_BUSINESS_MENU_BY_ID, {id: requestResult.data.business_id}));\n }\n return objectKeysToUpperLowerCase(requestResult.data);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* pendingOrderUnAssociateOrderSaga(action) {\n yield* createSaga(function*() {\n const order = action.data.order;\n const courierId = order && (order.groupId || order.courierId || order.courier_id);\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = order && externalCycles.find(f => f.id === courierId);\n const data = externalCycle\n ? { id: courierId, orderIds: [order.id] }\n : { orderId: order.id, groupId: DEFAULT_ORDERS_GROUPS.Unsorted };\n const actionName = externalCycle ? actionDisbandOrderFromExternalCycle : actionCourierToGroup;\n yield put(actionName(data));\n }, action.type);\n}\n\nfunction* pendingOrderCancelCycleSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const externalCycles = yield select(getExternalCycles);\n const externalCycle = externalCycles.find(f => f.id === id);\n\n if (externalCycle) {\n yield put(actionExternalCycleDisband({ id }));\n } else {\n const requestResult = yield call(cancelCycle, id);\n if (requestResultIsOk(requestResult)) {\n const groups = yield select(getGroups);\n const users = yield select(getUserModel);\n const group = groups.find(f => f.id === id);\n const user = users.find(f=> f.userId === id);\n\n if(user) {\n yield put(actionCourierUpdate({\n ...user,\n courierState: COURIER_STATE.cancelShift,\n cycle: { ...(user.cycle || {}), state: CYCLE_STATE.started }\n }));\n }\n\n if (group) {\n yield put(\n actionCourierUpdate({\n ...group,\n courierState: COURIER_STATE.cancelShift,\n cycle: group.cycle && { ...group.cycle, state: CYCLE_STATE.started },\n })\n );\n }\n\n yield put(\n actionPendingOrdersUpdate({\n activeOrders: objectKeysToUpperLowerCase(requestResult.data.Orders)\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* orderNoteEditSaga(action) {\n yield* createSaga(function*() {\n const { id, value } = action.data;\n const requestResult = yield call(updateServiceNotes, id, value);\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateOrderServiceNotes({ id, value }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* adminOrderReshipmentSaga(action) {\n yield* createSaga(function*() {\n const data = getReshipmentOrderData(action.data);\n const requestResult = yield call(reshipmentOrder, action.data.order.id, data);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* adminOrderRefundSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.refundServerModel, action.data);\n const requestResult = yield call(refundOrder, action.data.id, data);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* adminOrderCaptureSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(setCaptureRemainder, action.data.id, action.data.body);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n return;\n }, action.type);\n}\n\nfunction* getAdminOrderPendingCountSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getAdminOrderPengingCount);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderPendingCountUpdate(requestResult.data.Count));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n return;\n }, action.type);\n}\n\nfunction* pushMessageSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(pushMessage, action.data);\n if (requestResult && requestResult.status === 200) {\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* adminOrderDeliveredSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deliveryAdminOrder, action.data.id);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* adminOrderCancelSaga(action) {\n yield* createSaga(function*() {\n const { id, notes } = action.data;\n const requestResult = yield call(cancelAdminOrder, id, { Notes: notes });\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionAdminOrderUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* consumerOrderSearchSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(consumerOrderSearch, action.data);\n if (requestResultIsOk(requestResult)) {\n if(requestResult.data) {\n const data = objectKeysToUpperLowerCase (requestResult.data) ;\n yield put(actionConsumerOrdersSearch(data));\n yield put(actionCheckUsersColors(getDistinctUsersIdsFromData(data)));\n\n //Check users existed\n const users = yield select(getUserModel);\n const existedUsersIds = users.map(m=> m.userId);\n const neededUsersIds = data.reduce((a, v)=> {\n if(v.courier_id && !existedUsersIds.includes(v.courier_id) && !a.includes(v.courier_id)) {\n a.push(v.courier_id);\n }\n\n return a;\n }, []);\n yield put(actionLoadUsersByIds({ ids: neededUsersIds }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getMarketplaceSaga(action) {\n yield* createSaga(function*() {\n yield put(actionGetGiftCard());\n yield put(actionGetListPromotion());\n yield put(createAction(MENU_TEMPLATE_GET));\n\n const requestResult = yield call(fetchMarketplaceMessage, action.data);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n yield put(setMarketplace(requestResult.data));\n\n const {id} = getHistoryLocationParams(window.location.search);\n if(id) {\n const message = requestResult.data.find(m => m.id === id);\n if(message && message.business_id) {\n yield getProductByIdBusiness({data: message.business_id});\n }\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getMarketplaceDataSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchMarketplaceMessage, action.data);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n yield put(setMarketplace(requestResult.data));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getPagesSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchPages, action.data);\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(setMarketplacePages(requestResult.data));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* groupReorderPusherSaga(action) {\n yield* createSaga(function*() {\n const { groupId, isLocked, optimalData, orderIds, routeEstimation } = objectKeysToUpperLowerCase(action.data);\n\n if (isNotDefaultOrderGroup(groupId)) {\n const groups = yield select(getGroups);\n const newGroup = getGroup(null, null, groupId);\n const currentGroup = groups.find(f => f.id === groupId);\n\n yield put(\n actionUpdateGroup({\n ...newGroup,\n color: (currentGroup && currentGroup.color) || newGroup.color,\n isLocked,\n optimalData,\n routeEstimation,\n })\n );\n\n if (Array.isArray(orderIds) && orderIds.length) {\n const orders = yield select(getOrders);\n yield put(\n actionUpdateOrders(\n orders\n .filter(f => orderIds.includes(f.id))\n .map(order => ({ ...order, groupId, index: orderIds.indexOf(order.id) }))\n )\n );\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId }));\n }\n }, action.type);\n}\n\nfunction* createNewGroupSaga(action) {\n yield* createSaga(function*() {\n const {orders, groups} = yield select(state => state.order.data);\n if(action.data.NewGroup) {\n const selectedOrders = orders.filter(o => action.data.OrderIds.includes(o.id));\n const uniqueControlCenters = [...new Set(selectedOrders.map(o => o.controlCenterId))];\n if(uniqueControlCenters.length !== 1) {\n return new ErrorData('Error');\n }\n } else if(action.data.TargetGroupId) {\n const newOrderInGroup = orders.find(o => action.data.OrderId === o.id);\n const group = groups.find(g => g.id === action.data.TargetGroupId);\n if(group.controlCenterId !== newOrderInGroup.controlCenterId) {\n return new ErrorData('Error');\n }\n }\n\n const requestResult = yield call(groupReorder, action.data);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const { id, isLocked, optimalData, orders, routeEstimation, pickupETA, controlCenterId } = objectKeysToUpperLowerCase(\n requestResult.data\n );\n\n yield put(actionUpdateOrders(orders.map((order, index) => ({ ...order, groupId: id, index }))));\n\n if (groups.find(f => f.id === id)) {\n yield put(actionUpdateGroup({ id, isLocked, optimalData, routeEstimation, pickupETA, controlCenterId }));\n } else {\n const newGroup = getGroup(null, null, id);\n yield put(actionUpdateGroup({ ...newGroup, isLocked, optimalData, routeEstimation, pickupETA, controlCenterId }));\n }\n\n yield put(actionUpdateGroupOrdersMarkers({ groupId: id }));\n yield put(actionUpdateGroupOrdersMarkers({ groupId: DEFAULT_ORDERS_GROUPS.Unsorted }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getMergedBusinessMenuSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getMergedBusinessMenu);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ consumerOrderMenu: requestResult.data }));\n }\n }, action.type);\n}\n\nfunction* getSetupIntentSaga(action) {\n yield* createSaga(function* () {\n const territory = yield select(state => state.editCustomerOrder.territory);\n const requestResult = yield call(getOrderSetupIntent, territory);\n if (requestResult.status === 200) {\n yield put(setPaymentIntent(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* stripeVerifyCardOrderSaga(action) {\n yield* createSaga(function* () {\n const territory = yield select(state => state.editCustomerOrder.territory);\n const requestResult = yield call(stripeVerifyCardOrder, {\n Territory: territory,\n Token: action.data.token,\n Expiry: action.data.expiry\n });\n return requestResult.data || {};\n }, action.type);\n}\n\nfunction* getOrderPaymentIntentSaga(action) {\n yield* createSaga(function*() {\n const { businessMenu } = yield select(getRestaurant);\n const {products, deliveryTime, address, coupon, payments, courierTip, deliveryType} = yield select(state => state.editCustomerOrder);\n const bonus = payments.find(p => p.paymethod_id === PAY_METHOD.bonus);\n const body = {\n business_id: businessMenu.id,\n delivery_datetime: deliveryTime,\n location: address?.location,\n products: products,\n coupon: (coupon || '').trim(),\n requested_bonus: bonus ? bonus.saleAmount || bonus.price : null,\n driver_tip: courierTip,\n delivery_type: deliveryType,\n payment_data: '',\n };\n\n const requestResult = yield call(getOrderPaymentIntent, body);\n if (requestResult.status === 200) {\n yield put(setPaymentIntent(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* setCreatedOrdersSaga(action) {\n yield* createSaga(function*() {\n try {\n const { businessMenu, paymentsConfiguration } = yield select(getRestaurant);\n const { newOrder, orderSummary, products } = yield select(state => state.orderEdit.data);\n\n const body = createOrderServerModel({\n ...action.data,\n ...newOrder,\n ...orderSummary,\n products,\n deliveryStrategy: newOrder.targetTime ? DELIVERY_STRATEGY.concreteTime : DELIVERY_STRATEGY.asap,\n businessId: businessMenu.id,\n paymentsConfiguration: paymentsConfiguration,\n });\n\n const requestResult = yield call(setCreatedOrders, body);\n yield put(actionAdminOrderUpdate(requestResult.data));\n yield put(setAdminOrderSelectedOrderId(requestResult.data.id));\n if (requestResult.status !== 200) {\n return new ErrorData(getErrorMessage(requestResult) || 'Error');\n }\n } catch (error) {\n return new ErrorData(getErrorMessage(error) || 'Error');\n }\n }, action.type);\n}\n\n\nfunction* deleteMultiOrderSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteMultiOrders, action.data.ids, action.data.token);\n\n if (requestResultIsOk(requestResult)) {\n yield put(actionRemoveOrder(action.data.ids));\n return\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(DELETE_MULTI_ORDER, deleteMultiOrderSaga);\n yield takeEvery(ORDERS_LOAD, ordersSaga);\n yield takeEvery(PUSHER_CYCLE_REORDER, reorderOrdersSaga);\n yield takeEvery(PUSHER_NEW_ORDER, newOrderSaga);\n yield takeEvery(PUSHER_ORDER_STATE_UPDATE, updateOrderStateSaga);\n yield takeEvery(PUSHER_UPDATE_ORDER, updateOrderDataSaga);\n yield takeEvery(PUSHER_MANUAL_ASSOCIATE_UPDATE, manualAssociateUpdateSaga);\n yield takeEvery(PERFORM_ORDER_ASSOCIATING, associateOrderSaga);\n yield takeEvery(CHANGE_ORDER_STATE, changeOrderStateSaga);\n yield takeEvery(CHANGE_ORDER_INDEX, reorderSaga);\n yield takeEvery(ASSOCIATE_ORDERS, associateOrdersSaga);\n yield takeEvery(PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST, manualUnassociateUpdateListSaga);\n yield takeEvery(UPDATE_GROUP_ORDERS_MARKERS, updateOrderMarkersSaga);\n yield takeEvery(ORDER_DELETE, deleteOrderSaga);\n yield takeEvery(ORDER_ASSISTANCE_DELETE, deleteAssistanceOrderSaga);\n yield takeEvery(SAVE_ORDER_TO_SERVER, saveOrderToServerSaga);\n yield takeEvery(APPROVE_ASSISTANCE_ORDER, approveAssistanceOrderSaga);\n yield takeEvery(GET_ORDER_RECEIPTS, getReceiptsSaga);\n yield takeEvery(GET_ADVANCED_INFO, getAdvancedInfoSaga);\n yield takeEvery(LOAD_HISTORY_ORDERS, loadHistoryOrdersSaga);\n yield takeEvery(GET_ORDERS_PROVIDER, getOrdersProviderSaga);\n yield takeEvery(RELOAD_ORDER, reloadOrderSaga);\n yield takeEvery(SET_ORDER_DELIVERED_BY, setOrderDeliveredBySaga);\n yield takeEvery(PENDING_ORDER_SAVE, pendingOrderSaveSaga);\n yield takeEvery(CONSUMER_ORDER_ADD, consumerOrderAddSaga);\n yield takeEvery(CONSUMER_ORDER_CANCEL, consumerOrderCancelSaga);\n yield takeEvery(PENDING_ORDER_GET, pendingOrderGetSaga);\n yield takeLatest(PENDING_ORDER_DATA_GET, pendingOrderDataGetSaga);\n yield takeEvery(PENDING_ORDER_UN_ASSOCIATE_ORDER, pendingOrderUnAssociateOrderSaga);\n yield takeEvery(PENDING_ORDER_CANCEL_CYCLE, pendingOrderCancelCycleSaga);\n yield takeEvery(CONSUMER_PRE_ORDERS_GET, getConsumerPreOrdersSaga);\n yield takeEvery(GET_MERGED_BUSINESS_MENU, getMergedBusinessMenuSaga);\n yield takeEvery(GET_MERGED_BUSINESS_MENU_BY_ID, getMergedBusinessMenuByIdSaga);\n yield takeEvery(ORDER_MENU_GET, orderMenuGetSaga);\n yield takeEvery(PUSHER_CONSUMER_ORDER_ARRIVED, pendingOrderGetSaga);\n yield takeLatest(ADMIN_ORDER_GET, adminOrderGetSaga);\n yield takeEvery(ADMIN_ORDER_GET_BY_ID, adminOrderSearchSaga);\n yield takeLatest(ADMIN_ORDER_GET_ORDER_INFO, adminOrderInfoSaga);\n yield takeEvery(ORDER_ADMIN_INFO_GET, orderAdminInfoSaga);\n yield takeEvery(ORDER_NOTE_EDIT, orderNoteEditSaga);\n yield takeEvery(ADMIN_ORDER_RESHIPMENT, adminOrderReshipmentSaga);\n yield takeEvery(ADMIN_ORDER_REFUND, adminOrderRefundSaga);\n yield takeEvery(ADMIN_ORDER_CAPTURE, adminOrderCaptureSaga);\n yield takeEvery(PUSH_MESSAGE, pushMessageSaga);\n yield takeEvery(ADMIN_ORDER_CANCEL, adminOrderCancelSaga);\n yield takeEvery(ADMIN_ORDER_DELIVERED, adminOrderDeliveredSaga);\n yield takeEvery(CONSUMER_ORDER_SEARCH_SAGA, consumerOrderSearchSaga);\n yield takeEvery(GET_PRODUCTS_BY_ID_BUSINESS, getProductByIdBusiness);\n yield takeEvery(MARKETPLACE_MESSAGE_GET, getMarketplaceSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_DATA_GET, getMarketplaceDataSaga);\n yield takeEvery(PUSHER_GROUP_REORDER, groupReorderPusherSaga);\n yield takeEvery(NEW_GROUP_REORDER, createNewGroupSaga);\n yield takeEvery(MARKETPLACE_PAGES_GET, getPagesSaga);\n yield takeEvery(GET_ORDER_PAYMENT_INTENT, getOrderPaymentIntentSaga);\n yield takeEvery(GET_ORDER_SETUP_INTENT, getSetupIntentSaga);\n yield takeEvery(STRIPE_VERIFY_CARD_ORDER, stripeVerifyCardOrderSaga);\n yield takeEvery(SET_CREATED_ORDER, setCreatedOrdersSaga);\n yield takeEvery(GET_ADMIN_ORDER_PENDING_COUNT, getAdminOrderPendingCountSaga);\n}\n","import {DELIVERY_TYPE, ORDER_TYPE} from \"../utils/enums\";\n\nexport function createOrderServerModel(order) {\n return {\n paymethod_id: order.paymethod_id,\n payment_data: order.id || order.token,\n comment: order.comment,\n cutlery: order.cutlery,\n business_id: order.businessId,\n delivery_type: order.type === ORDER_TYPE.delivery ? DELIVERY_TYPE.delivery : DELIVERY_TYPE.takeAway,\n delivery_datetime: order.targetTime,\n delivery_strategy: order.deliveryStrategy,\n location: order.location ? {\n lng: order.location.longitude || order.location.lng,\n lat: order.location.latitude || order.location.lat\n } : null,\n city: order.address.city,\n address: order.address.street,\n address_notes: order.address.address_notes,\n flat: order.address.flat,\n storey: order.address.storey,\n final_price: order.final_price,\n products: order.products.map(el => el.product),\n coupon: order.coupon,\n requested_bonus: order.requested_bonus,\n driver_tip: order.driver_tip,\n provider: order.paymentsConfiguration.provider,\n full_name: order.userName,\n phone: order.consumerPhone,\n }\n}","export const settingsTranslationsServerModel = data => ({\n object_id: data?.object_id || '',\n property_name: data?.property_name || '',\n translated_value: data?.translated_value || ''\n})","import {callServer} from \"../utils/request-util\";\nimport environment from \"environment\";\n\nexport function getMarketplaceStatisticsDaily(start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/daily\",\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getEventStatistics(start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/auditEvents\",\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getMarketplaceStatistics(start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics\",\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessStatisticsDaily(depotId, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/daily/business/\" + depotId,\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessStatisticsDailyByIds(businessIds, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/daily/business\",\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n BusinessIds: businessIds\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessStatistics(depotId, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/business/\" + depotId,\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBusinessStatisticsByIds(businessIds, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/business\",\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n BusinessIds: businessIds\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getProductStatisticsDaily(productId, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/daily/product/\" + productId,\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getSuboptionStatisticsDaily(suboptionId, start, end){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/statistics/daily/subOption/\" + suboptionId,\n method: \"POST\",\n data: {\n StartDate: start,\n EndDate: end,\n },\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}","import {callServer} from '../utils/request-util.js';\nimport environment from 'environment';\n\nexport function fetchReconciliationsConfigurations() {\n // const entityId = 'ontime.global.il';\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/list`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function exportReconciliationsConfigurations() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/export`,\n method: 'GET',\n responseType: \"blob\",\n }).then(\n response => resolve(response),\n error => reject(error.response)\n );\n });\n}\n\nexport function importReconciliationsConfigurations(file) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/import`,\n method: 'POST',\n data: file,\n }).then(\n response => resolve(response),\n error => reject(error.response)\n );\n });\n}\n\nexport function postReconciliationsConfiguration(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"reconciliation/configurations/create\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateReconciliationsConfiguration({ data, configurationId }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/${configurationId}`,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function getMergedConfiguration(configId, parentId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/${configId}/merged/${parentId}`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function fetchReconciliationsConfigurationDepots(territoryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/${territoryId}/depots`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchReconciliationsConfigurationDepotsWithoutTerritory() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/depots`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateReconciliationsPeriod({ data, id }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${id}/offset`,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteReconciliationsConfiguration(configurationId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/configurations/${configurationId}`,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchReconciliationsPeriods() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"reconciliation/summary\",\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchReconciliationsPeriodById(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"reconciliation/\" + id,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function postReconciliationsPeriods(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"reconciliation\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteReconciliationsPeriods(configurationId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${configurationId}`,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function xlsReconciliationsPeriod(periodId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/table`,\n method: \"GET\",\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function invoiceReconciliationsPeriod(periodId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/pdf`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function recalculateReconciliationsPeriod({periodRewriteSourceDataModel, periodId}) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/recalculate`,\n method: \"POST\",\n data: {\n RewriteSourceData: periodRewriteSourceDataModel\n },\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function approveReconciliationsPeriod(periodId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/approve`,\n method: \"PUT\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function exportReconciliationsPeriod(periodId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/table`,\n method: \"GET\",\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function exportReconciliationsPeriodTableXls(periodId, type, depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/table/${type}/${depotId}`,\n method: \"GET\",\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function exportReconciliationsPeriodTableInvoice(periodId, type, depotId) {\n if(type === \"depot\") {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/pdf/depot/${depotId}`,\n method: \"GET\",\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n }\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `reconciliation/${periodId}/pdf/territory`,\n method: \"POST\",\n data: {\n TerritoryId: depotId,\n },\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function depotReconciliationsSettingsGet(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/depotReconciliationSettings/${depotId}`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function depotReconciliationsSettingsEdit(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/depot/depotReconciliationSettings/${depotId}`,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function reconciliationsSettingsGet() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/reconciliationSettings`,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\nexport function reconciliationsSettingsEdit(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `restaurant/reconciliationSettings`,\n method: \"POST\",\n data,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}","import {all, call, put, select, takeEvery, takeLatest} from 'redux-saga/effects';\nimport {saveAs} from 'file-saver';\nimport Store from '../store';\n\nimport {\n actionAddDepotUser,\n actionAddNewMarketplaceMessage,\n actionAddNewMarketplacePage,\n actionControlCenterRefresh,\n actionDeleteMarketplaceMessage,\n actionDeleteMarketplacePage,\n actionDepotDelete,\n actionDepotEdit,\n actionDepotNew,\n actionGetBusinessCategories,\n actionGetMessagesData,\n actionGetOperationTiming,\n actionGetSettingsDeliveryZones,\n actionLoadFleet,\n actionLoadFleetTelemetry,\n actionLoadFleetUpdate,\n actionLoadCloudPrintersSetting,\n actionLoadCloudPrintersSettingDetails,\n actionLoadProvidersSetting,\n actionLoadProvidersSettingDetails,\n actionLoadRestaurantFail,\n actionLoadRestaurantSuccess,\n actionRestaurantStateUpdate,\n actionRestaurantUpdate,\n actionSaveDepotAvatar,\n actionSaveDepotsAvatars,\n actionSaveDepotUsers,\n actionSaveShifts,\n actionSaveShiftsHistory,\n actionSetBusinessMenuAvatar,\n actionSetBusinessMenuHeaderMini,\n actionSetCategoryProductAvatar,\n actionSetDepotAvatar,\n actionSetDepotPaymentState,\n actionSetGiftCardBusinessMenuAvatar,\n actionSetGiftCardProductAvatar,\n actionSetRestaurantPaymentState,\n actionUpdateCloudPrintersSetting,\n actionUpdateMarketplaceMessage,\n actionUpdateMarketplaceMessageGalley,\n actionUpdateMarketplaceMessageGalleyAdd,\n actionUpdateMarketplacePage,\n actionUpdateProvidersSetting,\n actionUpdateRestaurantControlCenters,\n actionUpdateRestaurantDeliveryZone,\n BUSINESS_CATEGORY_ADD,\n BUSINESS_CATEGORY_DELETE,\n BUSINESS_CATEGORY_EDIT,\n BUSINESS_CATEGORY_GET,\n BUSINESS_CATEGORY_UPDATE,\n BUSINESS_MENU_GET,\n BUSINESS_PARENT_MENU_GET,\n BUSINESS_PARENT_MENU_UPDATE,\n CHECK_SQUAREUP_AUTHORIZED_REQUIRED,\n CLOUD_PRINTERS_SETTING_ADD,\n CLOUD_PRINTERS_SETTING_DELETE,\n CLOUD_PRINTERS_SETTING_DETAILS_GET,\n CLOUD_PRINTERS_SETTING_EDIT,\n CLOUD_PRINTERS_SETTING_GET,\n CONTROL_CENTER_REFRESH,\n COPY_TELEGRAM_COMMAND,\n COURIER_DELIVERY_FEES_SETTING_EDIT,\n COURIER_DELIVERY_FEES_SETTING_GET,\n COURIER_SETTINGS_EDIT,\n COURIER_SETTINGS_GET,\n CURRENT_SHIFT_USERS,\n DEPOT_BUSINESS_DEEP_LINK_CREATE,\n DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE,\n DEPOT_BUSINESS_TRANSLATION_EDIT,\n DEPOT_BUSINESS_TRANSLATION_EXPORT,\n DEPOT_BUSINESS_TRANSLATION_GET,\n DEPOT_BUSINESS_TRANSLATION_IMPORT,\n DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_ADD,\n DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_DELETE,\n DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_EDIT,\n DEPOT_INIT_DATA_GET,\n DEPOT_MENU_COPY_EDIT,\n DEPOT_OPERATION_MODE_SETTING_ADD,\n DEPOT_OPERATION_MODE_SETTING_DELETE,\n DEPOT_OPERATION_MODE_SETTING_EDIT,\n DEPOT_OPERATION_MODE_SETTING_GET,\n DEPOT_OPERATION_MODE_SETTING_GET_ALL,\n DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_EDIT,\n DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET,\n DEPOT_SETTING_ADD,\n DEPOT_SETTING_DELETE,\n DEPOT_SETTING_EDIT,\n DEPOTMENU_GET,\n DEPOTMENU_SETTING_CHECK,\n DEPOTMENU_SETTING_EDIT,\n DEPOTPAYMECREDIT_SETTING_EDIT,\n DEPOTPAYMENT_STATE,\n DEPOTPAYMEWALLET_SETTING_ADD,\n DEPOTPRICE_SETTING_APPLY_TO_ADD,\n DEPOTPRICE_SETTING_EDIT,\n DEPOTUSERS_SETTING_ADD,\n DEPOTUSERS_SETTING_DELETE,\n DEPOTUSERS_SETTING_EDIT,\n DEPOTUSERS_SETTING_PASSWORD_EDIT,\n DRIVER_TIP_EDIT,\n DRIVER_TIP_GET,\n FLEET_SETTINGS_ADD,\n FLEET_SETTINGS_DELETE,\n FLEET_SETTINGS_EDIT,\n FLEET_SETTINGS_GET,\n FLEET_SETTINGS_TELEMETRY_BLINK,\n FLEET_SETTINGS_TELEMETRY_GET,\n FLEET_SETTINGS_UNMOUNT,\n GENERAL_SETTING_EDIT,\n GENERAL_SETTING_GET,\n GET_BUSINESS_BY_QUERY,\n GET_DEPOT_PRICE,\n GET_DEPOT_USERS,\n GET_ORDER_STAT,\n GET_ORDERING_MENU_BUSINESS_EXTRA,\n GET_PROVIDER_SHIFT_HISTORY,\n GET_USER_SHIFT_HISTORY,\n GIFT_CARD_BUSINESS_UPDATE_AVATAR,\n GIFT_CARD_EDIT,\n GIFT_CARD_GET,\n GIFT_CARD_PRODUCT_ADD,\n GIFT_CARD_PRODUCT_DELETE,\n GIFT_CARD_PRODUCT_EDIT,\n GIFT_CARD_PRODUCT_REORDER,\n GIFT_CARD_PRODUCT_UPDATE,\n GIFT_CARD_PRODUCT_UPDATE_AVATAR,\n LIST_PROMOTION_SETTING_ADD,\n LIST_PROMOTION_SETTING_DELETE,\n LIST_PROMOTION_SETTING_DRAG,\n LIST_PROMOTION_SETTING_EDIT,\n LIST_PROMOTION_SETTING_GET,\n LOAD_DEPOT_AVATARS,\n LOAD_DEPOT_USER_BY_ID,\n LOAD_RESTAURANT,\n LOYALTY_CAMPAIGNS_ADD,\n LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET,\n LOYALTY_CAMPAIGNS_EDIT,\n LOYALTY_CAMPAIGNS_EXECUTIONS_ADD,\n LOYALTY_CAMPAIGNS_EXECUTIONS_GET,\n LOYALTY_CAMPAIGNS_EXECUTIONS_UPDATE_BY_ID,\n LOYALTY_CAMPAIGNS_GET,\n LOYALTY_CAMPAIGNS_TOGGLE_ENABLED,\n MARKETPLACE_DEEP_LINK_CREATE,\n MARKETPLACE_MESSAGE_ADD,\n MARKETPLACE_MESSAGE_DELETE,\n MARKETPLACE_MESSAGE_EDIT,\n MARKETPLACE_MESSAGE_TOGGLE_ENABLED,\n MARKETPLACE_MESSAGE_UPDATE,\n MARKETPLACE_PAGES_ADD,\n MARKETPLACE_PAGES_DELETE,\n MARKETPLACE_PAGES_EDIT,\n MARKETPLACE_PAGES_TOGGLE_ENABLED,\n MARKETPLACE_PAGES_UPDATE,\n MARKETPLACE_SETTINGS_EDIT,\n MENU_TEMPLATE_ADD,\n MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT,\n MENU_TEMPLATE_DELETE,\n MENU_TEMPLATE_EDIT,\n MENU_TEMPLATE_GET,\n MESSAGE_GALLERY_DELETE,\n NAMED_PLACES_ADD,\n NAMED_PLACES_DELETE,\n NAMED_PLACES_EDIT,\n NAMED_PLACES_GET,\n OPERATION_TIMING_SETTING_ADD,\n OPERATION_TIMING_SETTING_DELETE,\n OPERATION_TIMING_SETTING_EDIT,\n OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY,\n OPERATION_TIMING_SETTINGS_GET,\n ORDERING_MENU_BUSINESS_CATEGORIES_ADD,\n ORDERING_MENU_BUSINESS_CATEGORIES_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORIES_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_DEPOT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_ADD,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ADD,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_REORDER,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ADD,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_REORDER,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_REORDER,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_ADD,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_AVATAR,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_EDIT,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE,\n ORDERING_MENU_BUSINESS_DISCOUNTS_ADD,\n ORDERING_MENU_BUSINESS_DISCOUNTS_DELETE,\n ORDERING_MENU_BUSINESS_DISCOUNTS_EDIT,\n ORDERING_MENU_BUSINESS_EXTRA_ADD,\n ORDERING_MENU_BUSINESS_EXTRA_DELETE,\n ORDERING_MENU_BUSINESS_EXTRA_EDIT,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_ADD,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_DELETE,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_EDIT,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_REORDER,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_UPDATE,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_ADD,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_DELETE,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_EDIT,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_REORDER,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_UPDATE,\n ORDERING_MENU_BUSINESS_EXTRA_UPDATE,\n ORDERING_MENU_BUSINESS_GALLERY_ADD,\n ORDERING_MENU_BUSINESS_GALLERY_DELETE,\n ORDERING_MENU_BUSINESS_GALLERY_EDIT,\n ORDERING_MENU_BUSINESS_GALLERY_REORDER,\n ORDERING_MENU_BUSINESS_INFO_EDIT,\n ORDERING_MENU_BUSINESS_PRODUCT_DELETE_OVERRIDE,\n ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT,\n ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT,\n ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT,\n ORDERING_MENU_BUSINESS_SCHEDULE_EDIT,\n ORDERING_MENU_DELIVERY_ZONES_ADD,\n ORDERING_MENU_DELIVERY_ZONES_DELETE,\n ORDERING_MENU_DELIVERY_ZONES_EDIT,\n ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE,\n ORDERING_MENU_DELIVERY_ZONES_UPDATE,\n ORDERING_MENU_GET,\n PARENT_MENU_OVERRIDE_CATEGORY_EDIT,\n PARENT_MENU_OVERRIDE_DELETE,\n PARENT_MENU_OVERRIDE_EXTRA_EDIT,\n PARENT_MENU_OVERRIDE_OPTION_EDIT,\n PARENT_MENU_OVERRIDE_PRODUCT_EDIT,\n PARENT_MENU_OVERRIDE_SUBOPTION_EDIT,\n PAYMENTS_CONFIGURATION_SETTING_EDIT,\n PROVIDERS_SETTING_ADD,\n PROVIDERS_SETTING_DELETE,\n PROVIDERS_SETTING_DETAILS_GET,\n PROVIDERS_SETTING_EDIT,\n PROVIDERS_SETTING_GET,\n PUSHER_DEPOT_SERVICES_REFRESH,\n REFERRAL_SETTINGS_EDIT,\n REFERRAL_SETTINGS_GET,\n REGION_SETTING_ADD,\n REGION_SETTING_DELETE,\n REGION_SETTING_EDIT,\n RESTAURANT_CONTROL_CENTER_STATUS_GET,\n RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE,\n RESTAURANT_PAYME_WALLET_SETTING_ADD,\n RESTAURANT_PAYMENT_STATE,\n RESTAURANT_SET_MODE,\n SEARCH_SHORTCUT_SETTING_ADD,\n SEARCH_SHORTCUT_SETTING_DELETE,\n SERVICE_CITIES_SETTING_ADD,\n SERVICE_CITIES_SETTING_DELETE,\n SERVICE_CITIES_SETTING_EDIT,\n SERVICE_CITIES_SETTING_GET,\n SERVICE_CITIES_SETTING_TOGGLE,\n SERVICE_FEE_EDIT,\n SERVICE_FEE_GET,\n SET_ACTIVATE_MODEL,\n SET_DEPOT_AVATAR,\n SET_MENU_CREATE_ORDER,\n SET_ORDERING_MENU_BUSINESS_INFO_AVATAR,\n SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI,\n setBusinessMenu,\n setDepotProviders,\n setOrdersProvider,\n setParentBusinessMenu,\n setShiftProviders,\n SETTINGS_CONTROL_CENTER_ACTIVATE_EDIT,\n SETTINGS_CONTROL_CENTER_CHANGEUSER_EDIT,\n SETTINGS_CONTROL_CENTER_DEACTIVATE_EDIT,\n SETTINGS_CONTROL_CENTER_EDIT,\n SETTINGS_CONTROL_CENTER_GET,\n SETTINGS_DELIVERY_ZONES_ADD,\n SETTINGS_DELIVERY_ZONES_DELETE,\n SETTINGS_DELIVERY_ZONES_EDIT,\n SETTINGS_DELIVERY_ZONES_GET,\n SETTINGS_DELIVERY_ZONES_LIST_UPDATE,\n SETTINGS_OFFERS_ADD,\n SETTINGS_OFFERS_DELETE,\n SETTINGS_OFFERS_EDIT,\n SETTINGS_OFFERS_GET,\n SHIFT_PROVIDERS_GET,\n SHIFTS_GET,\n SHIPMENT_PRICE_CONFIGURATION_EDIT,\n SHIPMENT_PRICE_CONFIGURATION_GET,\n TELEGRAM_SETTING_EDIT,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT,\n LOYALTY_CAMPAIGNS_DELETE,\n EXECUTE_COMPAIGN,\n LOYALTY_SETTINGS_REGISTER_VOUCHER_EDIT,\n LOYALTY_SETTINGS_CASHBACK_EDIT,\n LOYALTY_SETTINGS_GET,\n BUSINESS_APP_CONFIGURATION_GET,\n BUSINESS_APP_CONFIGURATION_EDIT,\n CANCEL_REASON_GET,\n CANCEL_REASON_ADD,\n CANCEL_REASON_EDIT,\n CANCEL_REASON_DELETE,\n MARKETPLACE_MENU_CLEAR_OVERRIDE,\n GET_SALES_STATISTICS,\n ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT,\n ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET,\n DEPOT_BUSINESS_SKU_EXPORT,\n DEPOT_BUSINESS_SKU_IMPORT,\n DEPOT_BUSINESS_SKU_GET,\n DEPOT_BUSINESS_SKU_EDIT,\n actionAddShiftsTripHistory,\n ORDERING_MENU_BUSINESS_CATEGORY_EXSTRAS_SUBOPTION_UPDATE_IMAGE,\n actionBusinessMenuCategoryExtrasSuboptionUpdateImage,\n actionBusinessMenuExtrasSuboptionUpdateImage,\n ORDERING_MENU_BUSINESS_EXSTRAS_SUBOPTION_UPDATE_IMAGE,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING_EDIT,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING_ADD,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING_DELETE,\n} from '../reducers/restaurant/restaurant-actions';\nimport {\n actionRemoveMarker,\n actionUpdateDepotMarker,\n actionUpdateDepotsMarkers,\n} from '../reducers/marker/marker-actions';\nimport {\n actionNewUser,\n actionUpdateControlCenters,\n actionUpdateUser,\n actionUpdateUserById,\n DEPOT_INTEGRATIONS_ADD,\n DEPOT_INTEGRATIONS_DELETE, DEPOT_INTEGRATIONS_EDIT,\n DEPOT_INTEGRATIONS_GET,\n DEPOT_INTEGRATIONS_UPDATE,\n DEPOT_PROVIDER_ADD,\n DEPOT_PROVIDER_EDIT,\n DEPOT_PROVIDER_UPDATE,\n DEPOT_PROVIDERS_DELETE,\n DEPOT_PROVIDERS_GET,\n DEPOT_PROVIDERS_REORDER,\n DEPOT_PROVIDERS_UNMOUNT,\n DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION,\n DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT,\n DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK,\n DEPOT_SQUARE_ASSOCIATED_LOCATION_EDIT,\n DEPOT_SQUARE_ASSOCIATED_REVOKE,\n} from '../reducers/userModel/userModel-actions';\n\nimport {\n dataURItoBlob,\n isSameObjects,\n isValidStringNoSpaces,\n mergeArrays,\n objectKeysToUpperLowerCase,\n someObject,\n} from '../../utils/objects-util';\nimport {\n getAllBusinessSuboption,\n getAllEnabledOverrideDataFromMenu,\n getAllExtra,\n getAllOption,\n getAllSuboption,\n getBusinessExtra,\n getBusinessProduct,\n getDeliveryZoneData,\n getDepot,\n getDepotModeId, getDepotNameById,\n getOveridesArray,\n getReportAverageDeliveryTimeStatistics,\n getReportDeliveryTimeStatistics,\n isDisableCitySave,\n isUniqueRegionNames,\n prepareOverrideObject,\n} from '../../services/restaurant';\n\nimport {\n addBusinessMenuDiscount,\n addBusinessOffer,\n addDepot,\n addDepotIntegration,\n addDepotUser,\n addFleet,\n addMarketplaceCampaign,\n addMenuTemplate,\n addNamedPlace,\n addRestaurantDeliveryZones,\n addSearchShortcut,\n addServiceCity,\n addSettingCloudPrinters,\n addSettingExternalProviders,\n addSettingProviders,\n businessCategoryAdd,\n businessCategoryEdit,\n businessCategoryExtraAdd,\n businessCategoryExtraEdit,\n businessCategoryExtraOptionActivate,\n businessCategoryExtraOptionAdd,\n businessCategoryExtraOptionDelete,\n businessCategoryExtraOptionReorder,\n businessCategoryExtraOptionUpdate,\n businessCategoryExtraRemove,\n businessCategoryExtraSubOptionActivate,\n businessCategoryExtraSubOptionAdd,\n businessCategoryExtraSubOptionDelete,\n businessCategoryExtraSubOptionEdit,\n businessCategoryExtraSubOptionReorder,\n businessCategoryExtraUpdate,\n businessCategoryRemove,\n businessCategoryReorder,\n businessGalleryAdd,\n businessGalleryDelete,\n businessGalleryEdit,\n businessGalleryReorder,\n businessMenuCategoryActivate,\n businessMenuCategoryAdd,\n businessMenuCategoryDelete,\n businessMenuCategoryEdit,\n businessMenuCategoryExtraDelete,\n businessMenuCategoryExtrasActive,\n businessMenuCategoryExtrasAdd,\n businessMenuCategoryExtrasOptionActivate,\n businessMenuCategoryExtrasOptionAdd,\n businessMenuCategoryExtrasOptionDelete,\n businessMenuCategoryExtrasOptionReorder,\n businessMenuCategoryExtrasOptionUpdate,\n businessMenuCategoryExtrasSuboptionActivate,\n businessMenuCategoryExtrasSuboptionAdd,\n businessMenuCategoryExtrasSuboptionDelete,\n businessMenuCategoryExtrasSuboptionReorder,\n businessMenuCategoryExtrasSuboptionUpdate,\n businessMenuCategoryExtrasUpdate,\n businessMenuCategoryProductActivate,\n businessMenuCategoryProductAdd,\n businessMenuCategoryProductDelete,\n businessMenuCategoryProductEdit,\n businessMenuCategoryProductIngredientAdd,\n businessMenuCategoryProductIngredientDelete,\n businessMenuCategoryProductIngredientReorder,\n businessMenuCategoryProductIngredientUpdate,\n businessMenuCategoryProductsReorder,\n businessMenuCategoryReorder,\n changeControlCenterShift,\n changeDepotPassword,\n checkDepotMenu,\n depotCopyTemplateMenu,\n checkSquareUpAuthorizedRequired,\n controlCenterEdit,\n createBusinessDeepLink,\n createBusinessProductDeepLink,\n createMarketplaceCampaignExecutions,\n createMarketplaceDeepLink,\n createMarketplaceMessage,\n createMarketplacePage,\n createOverrideMenu,\n deleteBusinessMenuDiscount,\n deleteBusinessOffer,\n deleteDeliveryZone,\n deleteFleet,\n deleteMarketplaceCampaign,\n deleteMarketplaceMessage,\n deleteMarketplacePage,\n deleteMenuTemplate,\n deleteNamedPlace,\n deleteRestaurantDeliveryZone,\n deleteSearchShortcut,\n deleteServiceCity,\n deleteSettingCloudPrinters,\n deleteSettingExternalProviders,\n deleteSettingProviders,\n depotDefaultRegionControlCenterAdd,\n depotDefaultRegionControlCenterDelete,\n depotDefaultRegionControlCenterGet,\n depotDefaultRegionControlCenterUpdate,\n depotMenuCopy,\n depotPaymentState,\n depotWallet,\n editDepot,\n editDepotUser,\n editFleet,\n editLoyaltySettingsCashback,\n editLoyaltySettingsRegisterVoucher,\n editMarketplaceCampaign,\n editNamedPlace,\n editServiceCity,\n editSettingCloudPrinters,\n endControlCenterShift,\n executeCompaings,\n exportDepotBusinessTranslation,\n fetchAddCancelReason,\n fetchBusinessCategory,\n fetchCancelReason,\n fetchDeleteCancelReason,\n fetchEditCancelReason,\n fetchOperations,\n fetchRestaurant,\n fetchSettingCloudPrinters,\n fetchSettingCloudPrintersDetails,\n fetchSettingExternalProvidersById,\n fetchSettingProviderDetails,\n fetchSettingProviders,\n generateDepotAuthorizationUrl,\n getAppShipmentPriceSettings,\n getBusinessAppSettings,\n getBusinessMenu,\n getBusinessOffer,\n getBusinessWithQuery,\n getControlCenterActive,\n getControlCenterStatus,\n getCourierControlSettings,\n getCourierDisplaySettings,\n getCourierInterfaceSettings,\n getDepotBusinessTranslation,\n getDepotDeliveryPrice,\n getDepotIntegrations,\n getDepotOperationMode,\n getDepotSquareLocations,\n getDepotUsers,\n getDriverTip,\n getFleet,\n getFleetById,\n getFleetTelemetry,\n getFleetTelemetryBlink,\n getGlobalMenuTemplate,\n getListPromotion,\n getLoyaltySettings,\n getMarketplaceCampaign,\n getMarketplaceCampaignAudienceFilterCount,\n getMarketplaceCampaignExecutions,\n getMenuTemplate,\n getNamedPlaces,\n getReferralSettings,\n getReportOrderStatisticsByDate,\n getRestaurantDeliveryZones,\n getServiceCity,\n getServiceFee,\n getShipmentPriceSettings,\n giftCardEnable,\n giftCardGet,\n importDepotBusinessTranslation,\n listPromotionAdd,\n listPromotionDelete,\n listPromotionReorder,\n listPromotionUpdate,\n marketplaceMenuClearOverride,\n marketplaceMessageReorder,\n marketplacePagesReorder,\n messageGalleryAdd,\n messageGalleryDelete,\n messageGalleryEdit,\n messageGalleryImageBase64,\n messageGalleryReorder,\n overrideParentBusinessMenu,\n removeDepot,\n removeDepotSquareLocation,\n removeDepotUser,\n removeRegion,\n restaurantDeliveryZoneActivate,\n restaurantPaymentState,\n restaurantWallet,\n setActivateModel,\n setAppShipmentPriceSettings,\n setBusinessCategoryAvatarBase64,\n setBusinessGalleryImageBase64,\n setDeliveryZone,\n setDepotAvatarBase64,\n setDepotBusinessTranslation,\n setDepotDeliveryPrice,\n setDepotSquareAssociatedLocation,\n setDepotSquareAssociatedRevoke,\n setMarketplaceBannerBase64,\n setMarketplacePageBannerBase64,\n setMarketplaceSettingsHeader,\n setMode,\n setNewRegionInfo,\n setNotificationSettings,\n setNumericalSettings,\n setServiceFee,\n setShipmentPriceSettings,\n startControlCenterShift,\n telegramSettings,\n toggleActivateMarketplaceCampaign,\n toggleServiceCity,\n updateBusinessAppSettings,\n updateBusinessMenuCategoryProductAvatar,\n updateBusinessMenuDiscount,\n updateBusinessMenuHeaderAvatar,\n updateBusinessMenuHeaderMini,\n updateBusinessMenuInfo,\n updateBusinessOffer,\n updateCourierControlSettings,\n updateCourierDisplaySettings,\n updateCourierInterfaceSettings,\n updateDeliveryZone,\n updateDepotCategoryStates,\n updateDepotIntegration,\n updateDepotMenu,\n updateDepotOperationMode,\n updateDriverTip,\n updateEnableDeliveryZone,\n updateMarketplaceCampaignExecutionById,\n updateMarketplaceMessage,\n updateMarketplacePage,\n updateMarketplaceSettings,\n updateMenuTemplate,\n updateOperations,\n updateOrderingMenuDeliveryZone,\n updateOverrideMenu,\n updateReferralSettings,\n updateRegionInfo,\n updateRestaurantDeliveryZones,\n updateSchedule,\n getCourierConfirmationSettings,\n updateCourierConfirmationSettings,\n updateRestaurantDeliveryZonesGlobalPrice,\n exportDepotBusinessSku,\n getDepotBusinessSKU,\n setDepotBusinessSKU,\n importDepotBusinessSKU,\n businessMenuCategoryExtrasSuboptionUpdateImage,\n businessExtraSubOptionUpdateImage,\n updateReferralLogoSettings,\n editDepotIntegration,\n getShipmentPriceSettingsTemplate,\n setShipmentPriceSettingsTemplate,\n editShipmentPriceSettingsTemplate, deleteShipmentPriceSettingsTemplate,\n} from '../../api/restaurant-requests';\nimport {\n getConfigurationRegions,\n getControlCenter,\n getMenuTemplates,\n getNotifications,\n getProvidersAll,\n getRestaurant,\n getRestaurantDepots,\n getSectionModel,\n getUserModel,\n} from '../selectors';\nimport {\n CREDIT_ACCEPT,\n EXTERNAL_COURIER_PROVIDER,\n ICONS_MARKER_TYPE,\n INTEGRATION_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_TYPE,\n NEW_BUSINESS_MENU_TYPE,\n OFFER_DISCOUNT_TARGET,\n ORDER_STATE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n SHIFT_TYPE,\n TYPE_EDIT_ACTION,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport {getInitModel} from '../../services/initModels';\nimport i18n from '../../i18n';\n\nimport Pusher from '../../services/pusher';\nimport MarkerIcons from '../../services/markericons';\nimport AudioService from '../../services/audio';\nimport {\n currentUserIsDepotRole,\n getDifferenceTimeInMinute,\n getFullName,\n getRolesFromUser,\n isValidPasswordData\n} from '../../services/userModel';\nimport {locationIsEmpty} from '../../services/order';\n\nimport {getISOTime, isDatesValid, minutesToTime, prepareEndDate, prepareStartDate} from '../../utils/convertTime';\nimport {checkRequestResultStatus, getErrorMessage, requestResultIsOk} from '../../utils/request-util';\nimport {fetchMarkerAvatarBase64, isBase64Image, isBase64Video} from '../../utils/image-util';\nimport {createAction, createSaga, ErrorData, ErrorDataTable} from '../../utils/sagaHelper';\nimport {getHistoryLocationParams} from '../../utils/routesHelper';\n\nimport {\n createVirtualDeliveryProvider,\n deleteVirtualDeliveryProvider,\n editDeliveryProvider,\n fetchDeliveryProviders,\n fetchExternalProviders,\n fetchShiftProviders,\n getReportDeliveryTimeByDate,\n getShift,\n getShifts,\n getShiftsProvider,\n reorderDeliveryProviders,\n updateVirtualDeliveryProvider,\n} from '../../api/user-requests';\nimport {actionSetSectionItemsLoading} from '../reducers/sectionsWrapperData/sectionsWrapperData-actions';\nimport {\n actionAlarmAdd,\n actionAlarmDelete,\n actionAlarmRestart,\n actionNotificationUpdate,\n NOTIFICATION_ADD,\n NOTIFICATION_DELETE,\n NOTIFICATIONS_RESTART,\n} from '../reducers/notification/notification-actions';\nimport {setMarketplace, setMarketplacePages} from '../reducers/marketplace/marketplace-actions';\nimport {actionGlobalPortalDataUpdate} from '../reducers/globalPortalData/globalPortalData-actions';\nimport {\n addMenuTemplateAC,\n deleteMenuTemplateAC,\n setGlobalMenuTemplates,\n setMenuTemplatesAC,\n updateMenuTemplateAC,\n} from '../reducers/menuTemplate/menuTemplate-actions';\nimport {getCallCenterMenu, getMergedBusinessMenuById} from '../../api/order-requests';\nimport {\n GET_ORDERS_PROVIDER,\n MARKETPLACE_MESSAGE_GALLERY_ADD,\n MARKETPLACE_MESSAGE_GALLERY_EDIT,\n MARKETPLACE_MESSAGE_GALLERY_REORDER,\n} from '../reducers/order/order-actions';\nimport moment from 'moment';\nimport {getUserByIdSaga, getUsersByIdsSaga} from './userModel-saga.js';\nimport {\n marketplaceCampaignClientModel,\n marketplaceCampaignExecutionsModel,\n marketplaceCampaignServerModel,\n} from '../../models/marketplaceCampaignModel.js';\nimport {settingsTranslationsServerModel} from '../../models/settingsTranslationsModel.js';\nimport {getIsSectionsWrapperLoading} from '../selectors.js';\nimport {providersApiMap, transformProvidersToApi} from '../../models/providerModel.js';\nimport {\n actionGlobalPopupMessage,\n actionGlobalPopupMessageInit\n} from \"../reducers/globalPopupMessage/globalPopupMessage-actions.js\";\nimport {fixedNumber} from \"../../utils/math-util.js\";\nimport {SALES_TYPE} from \"../../utils/constants.js\";\nimport {\n getBusinessStatistics,\n getBusinessStatisticsByIds, getBusinessStatisticsDaily, getBusinessStatisticsDailyByIds,\n getMarketplaceStatistics,\n getMarketplaceStatisticsDaily, getProductStatisticsDaily, getSuboptionStatisticsDaily\n} from \"../../api/statistics-request.js\";\nimport {\n actionUpdateReconciliationsConfigurationSettings,\n DEPOT_RECONCILIATIONS_CONFIGURATIONS_EDIT,\n DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET,\n RECONCILIATIONS_CONFIGURATIONS_CONFIG_EDIT,\n RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET\n} from \"../reducers/reconciliationModel/reconciliationModel-actions.js\";\nimport {\n depotReconciliationsSettingsEdit,\n depotReconciliationsSettingsGet, reconciliationsSettingsEdit,\n reconciliationsSettingsGet\n} from \"../../api/reconciliation-requests.js\";\n\nexport function* restaurantSaga(action) {\n try {\n if (action.restaurant && action.keys) {\n const currentRestaurant = yield select(getRestaurant);\n const restaurant = objectKeysToUpperLowerCase(action.restaurant);\n const namedPlaces = objectKeysToUpperLowerCase(action.namedPlaces);\n const consumerOrderMenu = objectKeysToUpperLowerCase(action.consumerOrderMenu);\n const operations = objectKeysToUpperLowerCase(action.operations);\n let appShipmentPriceSettings = {};\n\n if (action.appShipmentPriceSettings) {\n Object.keys(action.appShipmentPriceSettings).forEach(key => {\n appShipmentPriceSettings[`app${key}`] = action.appShipmentPriceSettings[key];\n });\n }\n yield put(\n actionLoadRestaurantSuccess({\n ...restaurant,\n namedPlaces: namedPlaces,\n appShipmentPriceConfiguration: appShipmentPriceSettings,\n consumerOrderMenu: consumerOrderMenu || currentRestaurant.consumerOrderMenu,\n operations,\n initialControlCenters: restaurant.controlCenters,\n })\n );\n return true;\n }\n\n return false;\n } catch (e) {\n yield put(actionLoadRestaurantFail('Error load restaurant'));\n }\n}\n\nexport function* controlCenterStatusSaga(action) {\n yield* createSaga(function*() {\n const api = action.data ? getControlCenterActive : getControlCenterStatus;\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(api, action.data);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data || []);\n const restaurant = yield select(getRestaurant);\n const users = (restaurant.controlCenters || []).map(center => {\n const newControlCenter = data.find(f => f.controlCenterId === center.controlCenterId) || {};\n return {\n userId: (newControlCenter.info && newControlCenter.info.userId) || center.userModel,\n controlCenterId: newControlCenter.controlCenterId || center.controlCenterId,\n };\n });\n\n const centers = mergeArrays(\n restaurant.controlCenters || [],\n data.map(availableControlCenter => ({\n ...availableControlCenter,\n userModel: availableControlCenter.info && availableControlCenter.info.userId,\n info: availableControlCenter.info || {\n activeOrders: 0,\n couriersOnShift: 0,\n startTime: '',\n modelType: MODEL_TYPE.controlCenterInfo,\n },\n })),\n 'controlCenterId',\n 'controlCenterId'\n );\n\n let userModel = yield select(getUserModel)\n\n const usersIds = users.flatMap(user => typeof user.userId === 'string' ? user.userId : [])\n let newCenters = []\n\n if(!usersIds.every(userId => userModel.some(user => user.userId === userId))) {\n yield getUsersByIdsSaga({ data: { ids: usersIds } })\n\n userModel = yield select(getUserModel)\n }\n\n newCenters = centers.map(center => ({\n ...center,\n user: userModel?.find(user => user?.userId === center?.userModel) || ''\n }))\n\n yield put(actionUpdateControlCenters(users.filter(f => f.userId)));\n yield put(actionUpdateRestaurantControlCenters(newCenters));\n\n yield put(actionSetSectionItemsLoading(false));\n }\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* controlCentersStateUpdateSaga(action) {\n yield* createSaga(function*() {\n const data = action.data || [];\n const restaurant = yield select(getRestaurant);\n\n if (restaurant.controlCenters && restaurant.controlCenters.length > 0) {\n const users = restaurant.controlCenters.reduce((acc, center) => {\n const newControlCenter = data.find(f => f.controlCenterId === center.controlCenterId) || {};\n const userId = (newControlCenter.info && newControlCenter.info.userId) || center.userModel;\n\n if (userId) {\n acc.push({ userId, controlCenterId: newControlCenter.controlCenterId || center.controlCenterId });\n }\n\n return acc;\n }, []);\n\n const centers = restaurant.controlCenters.map(center => {\n const newControlCenter = data.find(f => f.controlCenterId === center.controlCenterId);\n\n return newControlCenter\n ? {\n ...center,\n userModel: newControlCenter.info && newControlCenter.info.userId,\n info: newControlCenter.info && {\n startTime: '',\n couriersOnShift: 0,\n activeOrders: 0,\n ...newControlCenter.info,\n },\n }\n : { controlCenterId: center.controlCenterId, name: center.name };\n });\n\n if (!isSameObjects(restaurant.controlCenters, centers)) {\n yield all([put(actionUpdateControlCenters(users)), put(actionUpdateRestaurantControlCenters(centers))]);\n Pusher.instance.resubscribeUpdatedControlCenters();\n }\n }\n }, action.type);\n}\n\nexport function* fetchDepotAvatarsSaga() {\n const restaurant = yield select(getRestaurant) || {};\n let results = yield all([\n ...(restaurant.depots || []).map(depot => {\n return depot.logoUrl ? call(fetchMarkerAvatarBase64, depot.logoUrl, false, depot.id) : null;\n }),\n ]);\n\n results = results.filter(f => f);\n const resData = (restaurant.depots || []).map(depot => {\n const resDataItem = results.find(res => res.id === depot.id);\n return {\n id: depot.id,\n avatar: resDataItem && resDataItem.image,\n depot,\n };\n });\n\n yield all([put(actionSaveDepotsAvatars(resData)), put(actionUpdateDepotsMarkers(resData))]);\n}\n\nfunction* setModeSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(setMode, action.data.automode);\n if (requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantStateUpdate({ ...restaurant, state: action.data.automode }));\n }\n }, action.type);\n}\n\nfunction* depotOperationModeGetSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(getDepotOperationMode, parentId || id);\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newDepot = { ...depot, operationConfiguration: objectKeysToUpperLowerCase(requestResult.data) };\n\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotInitDataSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(getDepotOperationMode, parentId || id);\n yield put(setParentBusinessMenu(null));\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newDepot = { ...depot, operationConfiguration: objectKeysToUpperLowerCase(requestResult.data) };\n\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotReconciliationGetSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(depotReconciliationsSettingsGet, parentId || id);\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newDepot = { ...depot, reconciliationSettings: objectKeysToUpperLowerCase(requestResult.data) };\n\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotReconciliationEditSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(depotReconciliationsSettingsEdit, parentId || id, objectKeysToUpperLowerCase(action.data, true) );\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newDepot = {\n ...depot,\n reconciliationSettings: requestResult.data\n ? objectKeysToUpperLowerCase(requestResult.data)\n : action.data,\n };\n\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* reconciliationConfigGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(reconciliationsSettingsGet, objectKeysToUpperLowerCase(action.data, true) );\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateReconciliationsConfigurationSettings(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* reconciliationConfigEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(reconciliationsSettingsEdit, objectKeysToUpperLowerCase(action.data, true) );\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateReconciliationsConfigurationSettings(requestResult.data ? objectKeysToUpperLowerCase(requestResult.data) : action.data));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotOperationModeAddSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const mewOperation = getInitModel(MODEL_TYPE.operationTiming, action.data);\n const body = {...depot.operationConfiguration, profiles: depot.operationConfiguration.profiles.concat(mewOperation) };\n const requestResult = yield call(updateDepotOperationMode, parentId || id, objectKeysToUpperLowerCase(body, true));\n if (requestResult && requestResult.status === 200) {\n const newDepot = { ...depot, operationConfiguration: body };\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotOperationModeEditSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newOperation = getInitModel(MODEL_TYPE.operationTiming, action.data);\n const operations = depot.operationConfiguration.profiles.map(el => el.name === action.data.id ? newOperation : el );\n const body = { ...depot.operationConfiguration, profiles: operations };\n const requestResult = yield call(updateDepotOperationMode, parentId || id, objectKeysToUpperLowerCase(body, true));\n\n if (requestResult && requestResult.status === 200) {\n const newDepot = { ...depot, operationConfiguration: {...depot.operationConfiguration, profiles: operations } };\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error edit');\n }\n }, action.type);\n}\n\nfunction* depotOperationModeDeleteSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const operations = depot.operationConfiguration.profiles.filter(el => el.name !== action.data.id);\n const body = { ...depot.operationConfiguration, profiles: operations };\n const requestResult = yield call(updateDepotOperationMode, parentId || id, objectKeysToUpperLowerCase(body, true));\n\n if (requestResult && requestResult.status === 200) {\n const newDepot = {\n ...depot, operationConfiguration: {\n ...depot.operationConfiguration,\n profiles: operations\n }\n };\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error edit');\n }\n }, action.type);\n}\n\nfunction* changeDepotOperationModeActiveSaga(action){\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newConfigOperation = { ...depot.operationConfiguration, activeProfile: action.data.activeProfile };\n const requestResult = yield call(updateDepotOperationMode, parentId || id, objectKeysToUpperLowerCase(newConfigOperation, true));\n\n if (requestResult && requestResult.status === 200) {\n const newDepot = { ...depot, operationConfiguration: newConfigOperation };\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* changeDepotOperationModeActiveByDefaultSaga(action){\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === (parentId || id));\n const newConfigOperation = { ...depot.operationConfiguration, activeProfile: \"\" };\n const requestResult = yield call(updateDepotOperationMode, parentId || id, objectKeysToUpperLowerCase(newConfigOperation, true));\n\n if (requestResult && requestResult.status === 200) {\n const newDepot = { ...depot, operationConfiguration: newConfigOperation };\n yield put(actionDepotEdit(newDepot));\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotEditSaga(action) {\n yield* createSaga(function*() {\n const newDepot = action.data;\n const requestResult = yield call(editDepot, getInitModel(MODEL_TYPE.depotServerModel, newDepot));\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === newDepot.id);\n\n yield put(actionDepotEdit(newDepot));\n if (depot.logoUrl !== newDepot.logoUrl && isBase64Image(newDepot.logoUrl)) {\n yield put(actionSetDepotAvatar({ ...newDepot, avatar: newDepot.logoUrl }));\n }\n } else {\n return new ErrorData('Error save');\n }\n }, action.type);\n}\n\nfunction* depotAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const depots = restaurant.depots;\n let newDepot = action.data;\n\n if (!newDepot.name) {\n return new ErrorData(i18n.t('settings.map.DEPOT_NAME_REQUIRED_ERROR_MSG'));\n } else if (depots.some(innerDepot => innerDepot.id !== newDepot.id && innerDepot.name === newDepot.name)) {\n return new ErrorData(i18n.t('settings.map.DEPOT_NAME_UNIQUE_ERROR_MSG'));\n } else if (!newDepot.phone) {\n return new ErrorData(i18n.t('settings.map.DEPOT_PHONE_REQUIRED_ERROR_MSG'));\n } else if (locationIsEmpty(newDepot.address.location)) {\n return new ErrorData(i18n.t('settings.map.DEPOT_LOCATION_REQUIRED_ERROR_MSG'));\n }\n\n const requestResult = yield call(addDepot, getInitModel(MODEL_TYPE.depotServerModel, newDepot));\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n newDepot.id = requestResult.data;\n newDepot.depotId = requestResult.data;\n\n yield put(actionDepotNew({ ...newDepot, avatar: null }));\n yield put(actionUpdateDepotMarker(newDepot));\n\n if (isBase64Image(newDepot.logoUrl)) {\n yield put(actionSetDepotAvatar({ ...newDepot, avatar: newDepot.logoUrl }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotDeleteSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(removeDepot, id);\n\n if (requestResult && requestResult.status === 200) {\n yield all([put(actionDepotDelete({ id })), put(actionRemoveMarker([id]))]);\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* setDepotAvatarSaga(action) {\n yield* createSaga(function*() {\n let { id, avatar, depotId } = action.data;\n const requestResult = yield call(setDepotAvatarBase64, id || depotId, dataURItoBlob(avatar));\n if (requestResult && requestResult.status === 200) {\n yield all([put(actionSaveDepotAvatar({ avatar, depotId })), put(actionUpdateDepotMarker(action.data))]);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotUserEditSaga(action) {\n yield* createSaga(function*() {\n const { depotId, userId } = action.data;\n const data = getInitModel(MODEL_TYPE.userServerModel, action.data);\n const requestResult = yield call(editDepotUser, depotId || userId, userId, data);\n\n if(requestResultIsOk(requestResult)) {\n yield put(actionUpdateUser(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getDepotUsersSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id.replace('?id=', '');\n const requestResult = yield call(getDepotUsers, { depotId: id, ...action.data });\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data)\n\n const users = data?.page?.map(item => {\n const roles = getRolesFromUser(item);\n return {\n ...getInitModel(MODEL_TYPE.depotUserModel, item),\n id: item.userId,\n depotId: id,\n authorized: { courier: roles.courier || item.hasDevices, deliveryManager: item.hasPassowrd },\n roles: roles,\n firstName: item.firstName,\n lastName: item.lastName,\n phoneNumber: item.phoneNumber,\n userName: item.userName,\n hasPassword: item.hasPassword,\n };\n });\n const depots = yield select(getRestaurantDepots);\n const depotUsers = depots.find(depot => depot.id === id)?.depotUsers || []\n\n if(depotUsers?.length && action?.data?.num !== 0) {\n yield put(actionAddDepotUser({ depotId: id, data: users, }));\n return {\n users,\n totalCount: data?.totalCount || 0\n }\n } else {\n yield put(actionSaveDepotUsers({ id: id, data: users, }));\n return {\n users,\n totalCount: data?.totalCount || 0\n }\n }\n\n } else {\n yield put(\n actionSaveDepotUsers({\n id: id,\n data: [],\n })\n );\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* checkDepotMenuSaga(action) {\n yield* createSaga(function*() {\n const { businessId } = action.data;\n const requestResult = yield call(getBusinessMenu, businessId);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n if (requestResult.data.template_business_id) {\n Store.history.push(ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu + '?id=' + businessId);\n } else {\n Store.history.push(ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit + '?id=' + businessId);\n }\n\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getDepotMenuSaga(action) {\n yield* createSaga(function*() {\n const { businessId } = action.data;\n const requestResult = yield call(getBusinessMenu, businessId);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotMenuCopySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessId = action.data.business_id;\n const templateId = action.data.template_id || action.data.global_template_id;\n const toDepotId = action.data.id;\n const fromDepotId = (\n (restaurant && restaurant.depots && restaurant.depots.find(depot => depot.businessId === businessId)) ||\n {}\n ).id;\n\n let requestResult = null;\n\n if (action.data.type === NEW_BUSINESS_MENU_TYPE.business&&fromDepotId) {\n requestResult = yield depotMenuCopy(fromDepotId, toDepotId);\n }\n\n\n if (action.data.type === NEW_BUSINESS_MENU_TYPE.empty) {\n requestResult = yield call(checkDepotMenu, toDepotId);\n }\n\n if (action.data.type === NEW_BUSINESS_MENU_TYPE.template) {\n requestResult = yield call(checkDepotMenu, toDepotId, { TemplateBusinessId: templateId });\n }\n if (action.data.type === NEW_BUSINESS_MENU_TYPE.fromtemplate) {\n requestResult = yield call(depotCopyTemplateMenu, toDepotId, { TemplateBusinessId: templateId });\n }\n\n if (requestResultIsOk(requestResult, true)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionDepotEdit(data));\n Store.history.push(ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit + '?id=' + data.businessId);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getDepotPriceSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id.replace('?id=', '');\n const requestResult = yield call(getDepotDeliveryPrice, id);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n let restaurant = yield select(getRestaurant);\n let newDepot = restaurant.depots.find(f => f.id === id);\n\n let price = getInitModel(MODEL_TYPE.depotDeliveryPriceModel);\n price.deliveryPrice = data.deliveryPrice;\n price.basisPrice = data.basisPrice;\n price.basisDistanceInMeters = data.basisDistanceInMeters;\n price.pricePerKm = data.pricePerKm;\n price.calculationMode = data.calculationMode;\n\n if (data.regionConfigurations) {\n data.regionConfigurations.forEach(region => {\n price.regionConfigurations.push({\n ...getInitModel(MODEL_TYPE.regionDeliveryPriceModel, region),\n depotId: id,\n deliveryPrice: region.deliveryPrice,\n });\n });\n }\n\n yield put(actionDepotEdit({ ...newDepot, price }));\n\n restaurant = yield select(getRestaurant);\n return restaurant.depots;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* saveDepotUserPasswordSaga(action) {\n yield* createSaga(function*() {\n const item = action.data;\n\n if (!item.userName) {\n return new ErrorData(i18n.t(\"settings.map.DEPOT_NAME_REQUIRED_ERROR_MSG\"));\n } else if (\n !isValidStringNoSpaces(item.newPassword) ||\n !isValidStringNoSpaces(item.retypePassword) ||\n !isValidPasswordData(item)\n ) {\n return new ErrorData(i18n.t(\"settings.map.PASSWORD_MISMATCH_MSG\"));\n }\n\n const data = getInitModel(MODEL_TYPE.credentialsServerModel, {\n userName: item.userName,\n newPassword: item.newPassword\n });\n\n if(item.depotId && item.userId) {\n const requestResult = yield call(changeDepotPassword, item.depotId, item.userId, data);\n if (requestResultIsOk(requestResult)) {\n yield put(actionUpdateUserById(item.userId));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* editDepotPriceSaga(action) {\n yield* createSaga(function*() {\n const price = action.data;\n\n let configuration = {\n DeliveryPrice: price.deliveryPrice,\n BasisPrice: price.basisPrice,\n CalculationMode: price.calculationMode,\n BasisDistanceInMeters: price.basisDistanceInMeters,\n PricePerKm: price.pricePerKm,\n UseAbsValueForOrderCountPriceChange: price.useAbsValueForOrderCountPriceChange,\n OrderCountPriceChangeIncrement: price.orderCountPriceChangeIncrement,\n MinOrderCountToApplyPriceChange: price.minOrderCountToApplyPriceChange,\n RegionConfigurations: price.regionConfigurations.map(val => ({\n RegionId: val.id || val.regionId,\n DeliveryPrice: val.deliveryPrice || 0,\n })),\n };\n const requestResult = yield call(setDepotDeliveryPrice, price.id, configuration);\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const newDepot = restaurant.depots.find(f => f.id === price.id);\n yield put(actionDepotEdit({ ...newDepot, price }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editDepotMenuSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(updateDepotMenu, id);\n\n if (requestResult && requestResult.status === 200) {\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotUserAddSaga(action) {\n yield* createSaga(function*() {\n const { depotId } = action.data;\n const data = getInitModel(MODEL_TYPE.userServerModel, action.data);\n const requestResult = yield call(addDepotUser, depotId, data);\n\n if(requestResultIsOk(requestResult)) {\n yield put(actionNewUser(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotUserRemoveSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const depotId = sectionModels[currentModelType].id;\n const userId = action.data.id;\n\n if (depotId && userId) {\n const requestResult = yield call(removeDepotUser, depotId, userId);\n if (requestResultIsOk(requestResult)) {\n yield put(actionUpdateUser(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData(`Delete depot(${depotId}) user(${userId}) failed.`);\n }\n }, action.type);\n}\n\n\nfunction* manuTemplateBusinessCategoryEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessCategories = restaurant.businessMenu?.business_categories || []\n const businessCategoryId = action.data.id\n\n let categories;\n if(businessCategories.includes(businessCategoryId)){\n categories = businessCategories.filter(business => business !== businessCategoryId)\n } else {\n businessCategories.push(businessCategoryId)\n categories = businessCategories\n }\n\n const requestResult = yield call(updateDepotCategoryStates, restaurant.businessMenu.id, categories);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotPaymeWalletSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const data = objectKeysToUpperLowerCase(\n {\n ...action.data,\n sellerGender: action.data.sellerGender ? 1 : 0,\n },\n true\n );\n const depotId = sectionModels[currentModelType].id;\n const requestResult = yield call(depotWallet, depotId, data);\n\n if (requestResult && requestResult.status === 200) {\n const requestResultRestaurant = yield call(fetchRestaurant);\n\n if (requestResultRestaurant && requestResultRestaurant.status === 200) {\n const depot = objectKeysToUpperLowerCase(\n requestResultRestaurant.data.Depots.find(f => f.Id === depotId)\n );\n\n yield put(actionDepotEdit(depot));\n Store.history.push(TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit + '?id=' + depotId);\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotPaymeCreditSaga(action) {\n yield* createSaga(function*() {\n // const sectionModel = yield select(getSectionModel);\n // const { paymentsConfiguration } = yield select(getRestaurant);\n // const { currentModelType, sectionModels } = sectionModel;\n // const depotId = sectionModels[currentModelType].id;\n const { creditAcceptType, /* paymeWalletExist, paymeWalletSignupUrl, */ acceptCash, acceptCreditCard, acceptCashOnTakeAway } = action.data;\n\n const data = {\n OnlineState: creditAcceptType.value,\n AcceptCash: creditAcceptType.value === CREDIT_ACCEPT.selling\n ? acceptCash\n : creditAcceptType.selected.indexOf('acceptCash') > -1,\n AcceptCashOnTakeAway: creditAcceptType.value === CREDIT_ACCEPT.selling\n ? acceptCashOnTakeAway\n : creditAcceptType.selected.indexOf('acceptCashOnTakeAway') > -1,\n AcceptCreditCard: creditAcceptType.value === CREDIT_ACCEPT.selling\n ? acceptCreditCard\n : creditAcceptType.selected.indexOf('acceptCreditCard') > -1\n };\n\n yield put(actionSetDepotPaymentState({ depot: action.data, data }));\n Store.history.push(TYPE_SECTION_MODEL.depots);\n // if (data.OnlineState === CREDIT_ACCEPT.selling) {\n // if (paymentsConfiguration && paymentsConfiguration.overrideDepotSettings) {\n // yield put(actionSetDepotPaymentState({ depot: action.data, data }));\n // Store.history.push(TYPE_SECTION_MODEL.depots);\n // } else {\n // if (!data.AcceptCash && !data.AcceptCreditCard) {\n // return new ErrorData(i18n.t('settings.paymeWallet.CREDIT_ACCEPT_ORDERS_ERROR_SELECT'));\n // } else {\n // if (data.AcceptCreditCard) {\n // if (paymeWalletExist) {\n // yield put(actionSetDepotPaymentState({ depot: action.data, data }));\n // Store.history.push(TYPE_SECTION_MODEL.depots);\n // } else {\n // yield put(\n // actionDepotEdit({\n // ...action.data,\n // ...objectKeysToUpperLowerCase(data),\n // })\n // );\n //\n // yield put(\n // actionGlobalPopupMessage({\n // isShow: true,\n // isLink: !!paymeWalletSignupUrl,\n // message: i18n.t('settings.paymeWallet.CREDIT_ACCEPT_NOT_READY'),\n // onClose: () => {\n // Store.store.dispatch(actionGlobalPopupMessageInit());\n // Store.history.push(TYPE_SECTION_MODEL.depotpaymewalletNew + '?id=' + depotId);\n // },\n // })\n // );\n // }\n // } else {\n // yield put(actionSetDepotPaymentState({ depot: action.data, data }));\n // Store.history.push(TYPE_SECTION_MODEL.depots);\n // }\n // }\n // }\n // } else {\n // yield put(actionSetDepotPaymentState({ depot: action.data, data }));\n // Store.history.push(TYPE_SECTION_MODEL.depots);\n // }\n }, action.type);\n}\n\nfunction* depotPaymentStateSaga(action) {\n yield* createSaga(function*() {\n const { depot, data } = action.data;\n const requestResult = yield call(depotPaymentState, depot.id, data);\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionDepotEdit({\n ...depot,\n ...objectKeysToUpperLowerCase(data),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getDepotUserById(action) {\n yield* createSaga(function*() {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n\n yield put(createAction(COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET));\n\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(depot => depot.id === parentId);\n const isUserExist = depot?.depotUsers?.some(user => user?.userId === id)\n\n if(isUserExist) return\n\n yield getUserByIdSaga({ data: { id }})\n }, action.type)\n}\n\nfunction* restaurantPaymentStateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(restaurantPaymentState, action.data);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n paymentsConfiguration: {\n ...restaurant.paymentsConfiguration,\n ...objectKeysToUpperLowerCase(action.data),\n },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* restaurantPaymentsConfigurationEditSaga(action) {\n yield* createSaga(function*() {\n const { acceptCash, acceptCreditCard, acceptCashOnTakeAway, overrideDepotSettings, requireVerifiedPhoneOnCash, enabled } = action.data;\n const walletData = {\n enabled: enabled,\n RequireVerifiedPhoneOnCash: requireVerifiedPhoneOnCash,\n OverrideDepotSettings: overrideDepotSettings,\n AcceptCash: acceptCash,\n AcceptCreditCard: acceptCreditCard,\n AcceptCashOnTakeAway: acceptCashOnTakeAway,\n };\n\n yield put(actionSetRestaurantPaymentState(walletData));\n }, action.type);\n}\n\nfunction* restaurantPaymeCreditSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase(\n {\n ...action.data,\n sellerGender: action.data.sellerGender ? 1 : 0,\n },\n true\n );\n const requestResult = yield call(restaurantWallet, data);\n\n if (requestResult && requestResult.status === 200) {\n Store.history.push(MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* generalSettingEditSaga(action) {\n yield* createSaga(function*() {\n const {\n lostAlertTime,\n orderIsLateAlertTime,\n orderIsLateWarningTime,\n stopAlertTime,\n courierReadyTimeDelay,\n orderIsUnassignedTime,\n pickupLoadTime,\n maxOrdersPerCourier,\n orderUnloadTime,\n readinessHeadsUpTime,\n readinessHeadsUpTimeForScheduledOrders,maxTakeAwayRedinessTime,\n maxPickupsCollectionTime,\n maxPickupDistance,\n neighborhoodRadiusTime,\n takeAwaySupported,\n allowCityOnlyAddress,\n assistOutOfRegion,\n groupingStrategy,\n optimizationStrategy,\n courierAssociationMode,\n postRejectOrderCoolDownPeriod,\n newOrderNotificationPriorityPeriod,\n newOrderNotificationPriorityRadiusInMeters,\n hideCouriers,\n newOrderNotificationMode,\n maxBicycleServiceDistance,\n hideReadinessTimeOnOrderCard,\n showOrderPaymentStatus,\n cardPaymentDefaultIsNotPaid,\n isCanEditBusinessInfo,\n useCarVehicleForExtraSizeOrders,\n automaticExtendCycle,\n automaticApproveCycle,\n } = action.data;\n\n const apiCalls = [\n call(\n setNotificationSettings,\n lostAlertTime,\n orderIsLateAlertTime,\n orderIsLateWarningTime,\n stopAlertTime,\n courierReadyTimeDelay,\n orderIsUnassignedTime\n ),\n call(\n setNumericalSettings,\n {\n pickupLoadTime,\n maxOrdersPerCourier,\n orderUnloadTime,\n readinessHeadsUpTime,readinessHeadsUpTimeForScheduledOrders,\n maxTakeAwayRedinessTime,\n maxPickupsCollectionTime,\n maxPickupDistance,\n neighborhoodRadiusTime,\n takeAwaySupported,\n allowCityOnlyAddress,\n assistOutOfRegion,\n groupingStrategy,\n optimizationStrategy,\n courierAssociationMode,\n postRejectOrderCoolDownPeriod,\n newOrderNotificationPriorityPeriod,\n newOrderNotificationPriorityRadiusInMeters,\n hideCouriers,\n newOrderNotificationMode,\n maxBicycleServiceDistance,\n hideReadinessTimeOnOrderCard,\n showOrderPaymentStatus,\n cardPaymentDefaultIsNotPaid,\n isCanEditBusinessInfo,\n useCarVehicleForExtraSizeOrders,\n automaticExtendCycle,\n automaticApproveCycle,\n }\n ),\n ];\n\n\n const apiCallResults = yield all(apiCalls);\n\n if (someObject(apiCallResults, result => result.status && result.status !== 200)) {\n return new ErrorData('Error save settings');\n }\n\n const restaurant = yield select(getRestaurant);\n\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n pickupLoadTime,\n maxOrdersPerCourier,\n orderUnloadTime,\n readinessHeadsUpTime,\n readinessHeadsUpTimeForScheduledOrders,maxTakeAwayRedinessTime,\n maxPickupsCollectionTime,\n maxPickupDistance,\n neighborhoodRadiusTime,\n takeAwaySupported,\n allowCityOnlyAddress,\n assistOutOfRegion,\n groupingStrategy,\n optimizationStrategy,\n courierAssociationMode,\n postRejectOrderCoolDownPeriod,\n newOrderNotificationPriorityPeriod,\n newOrderNotificationPriorityRadiusInMeters,\n hideCouriers,\n newOrderNotificationMode,\n maxBicycleServiceDistance,\n hideReadinessTimeOnOrderCard,\n showOrderPaymentStatus,\n cardPaymentDefaultIsNotPaid,\n isCanEditBusinessInfo,\n useCarVehicleForExtraSizeOrders,\n automaticExtendCycle,\n automaticApproveCycle,\n },\n notificationConfiguration: {\n ...restaurant.notificationConfiguration,\n lostAlertTime,\n orderIsLateAlertTime,\n orderIsLateWarningTime,\n stopAlertTime,\n courierReadyTimeDelay,\n orderIsUnassignedTime\n }\n })\n );\n }, action.type);\n}\n\nfunction* shipmentPriceConfigurationEditSaga(action) {\n yield* createSaga(function*() {\n const {\n appbasisPrice,\n appbasisDistanceInMeters,\n apppricePerKm,\n appmaxDeliveryPrice,\n appmode,\n } = action.data;\n\n\n const requestResult = yield call(\n setAppShipmentPriceSettings,\n appbasisPrice,\n appbasisDistanceInMeters,\n apppricePerKm,\n appmaxDeliveryPrice,\n appmode\n );\n\n if(requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n appShipmentPriceConfiguration:\n {\n ...restaurant.appShipmentPriceConfiguration,\n appbasisPrice,\n appbasisDistanceInMeters,\n apppricePerKm,\n appmaxDeliveryPrice,\n appmode,\n }\n })\n );\n } else {\n return new ErrorData('Error save settings');\n }\n\n }, action.type);\n}\n\nfunction* shipmentPriceConfigurationGetSaga(action) {\n yield* createSaga(function*() {\n const appShipmentPriceConfiguration = yield call(getAppShipmentPriceSettings);\n\n let appShipmentPriceSettings = {};\n if (requestResultIsOk(appShipmentPriceConfiguration, true)) {\n const data = objectKeysToUpperLowerCase(appShipmentPriceConfiguration.data);\n Object.keys(data).forEach(key => {\n appShipmentPriceSettings[`app${key}`] = data[key];\n });\n }\n\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n appShipmentPriceConfiguration: appShipmentPriceSettings,\n })\n );\n }, action.type);\n}\n\nfunction* generalSettingGetSaga(action) {\n yield* createSaga(function*() {\n const restaurantShipmentPriceConfiguration = yield call(getShipmentPriceSettings)\n\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n restaurantShipmentPriceConfiguration:\n requestResultIsOk(restaurantShipmentPriceConfiguration, true) &&\n objectKeysToUpperLowerCase(restaurantShipmentPriceConfiguration.data),\n })\n );\n }, action.type);\n}\n\nfunction* getBusinessAppSettingsSaga(action) {\n yield* createSaga(function*() {\n const request = yield call(getBusinessAppSettings);\n\n const restaurant = yield select(getRestaurant);\n if(requestResultIsOk(request)) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant, businessAppSettings: objectKeysToUpperLowerCase(request.data),\n })\n );\n }\n }, action.type);\n}\n\nfunction* updateBusinessAppSettingsSaga(action) {\n yield* createSaga(function*() {\n const request = yield call(updateBusinessAppSettings, action.data);\n\n const restaurant = yield select(getRestaurant);\n if(requestResultIsOk(request)) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant, businessAppSettings: action.data,\n })\n );\n }\n\n if(!requestResultIsOk(request)) {\n return new ErrorData(getErrorMessage(request) || 'Error update BusinessAppSettings');\n }\n }, action.type);\n}\n\nfunction* getCourierSettingsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield all({\n courierControlSettings: call(getCourierControlSettings),\n courierDisplaySettings: call(getCourierDisplaySettings),\n courierInterfaceSettings: call(getCourierInterfaceSettings),\n courierConfirmationSettings: call(getCourierConfirmationSettings),\n });\n\n const { courierControlSettings, courierDisplaySettings, courierInterfaceSettings, courierConfirmationSettings } = requestResult;\n\n if(!requestResultIsOk(courierControlSettings) || !requestResultIsOk(courierDisplaySettings)) {\n return new ErrorData('Error get settings');\n }\n\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n courierControlSettings: objectKeysToUpperLowerCase(courierControlSettings.data),\n courierDisplaySettings: objectKeysToUpperLowerCase(courierDisplaySettings.data),\n courierInterfaceSettings: objectKeysToUpperLowerCase(courierInterfaceSettings.data),\n courierConfirmationSettings: getInitModel(MODEL_TYPE.courierConfirmationSettingsServerModel, objectKeysToUpperLowerCase(courierConfirmationSettings.data) || {}),\n })\n );\n }, action.type);\n}\n\nfunction *updateCourierSettingsSaga(action) {\n yield* createSaga(function*() {\n yield all({\n courierControlSettings: call(updateCourierControlSettings, getInitModel(MODEL_TYPE.courierAppSettings, action.data)),\n courierDisplaySettings: call(updateCourierDisplaySettings, getInitModel(MODEL_TYPE.courierDisplaySettings, action.data)),\n courierInterfaceSettings: call(updateCourierInterfaceSettings, getInitModel(MODEL_TYPE.courierInterfaceSettings, action.data)),\n courierConfirmationSettings: call(updateCourierConfirmationSettings, getInitModel(MODEL_TYPE.courierConfirmationSettings, action.data)),\n });\n const restaurant = yield select(getRestaurant);\n\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n courierControlSettings: objectKeysToUpperLowerCase(getInitModel(MODEL_TYPE.courierAppSettings, action.data)),\n courierDisplaySettings: objectKeysToUpperLowerCase(getInitModel(MODEL_TYPE.courierDisplaySettings, action.data)),\n courierInterfaceSettings: objectKeysToUpperLowerCase(getInitModel(MODEL_TYPE.courierInterfaceSettings, action.data)),\n courierConfirmationSettings: objectKeysToUpperLowerCase(getInitModel(MODEL_TYPE.courierConfirmationSettings, action.data)),\n })\n );\n }, action.type);\n}\n\nfunction* telegramSettingEditSaga(action) {\n yield* createSaga(function*() {\n const {\n requireWaitingTime,\n showMap,\n notifyDeliveredOrder,\n notifyCourierDispatched,\n waitingTimes,\n allowOrderDeletion,\n enablePhoneQuery,\n allowOrderSetVIP,\n allowOrderDelay,\n requirePhoneNumberOnOrderCreation,\n hideReadyButton\n } = action.data;\n const requestResult = yield call(telegramSettings, {\n requireWaitingTime,\n showMap,\n notifyDeliveredOrder,\n notifyCourierDispatched,\n waitingTimes,\n allowOrderDeletion,\n enablePhoneQuery,\n allowOrderSetVIP,\n allowOrderDelay,\n requirePhoneNumberOnOrderCreation,\n hideReadyButton\n });\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n telegramConfiguration: {\n requireWaitingTime,\n showMap,\n notifyDeliveredOrder,\n notifyCourierDispatched,\n waitingTimes,\n allowOrderDeletion,\n enablePhoneQuery,\n allowOrderSetVIP,\n allowOrderDelay,\n requirePhoneNumberOnOrderCreation,\n hideReadyButton\n },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceMassageAddSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(createMarketplaceMessage, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionAddNewMarketplaceMessage(requestResult.data));\n if (action.data.banner && (isBase64Image(action.data.banner) || isBase64Video(action.data.banner))) {\n const requestResultWithBanner = yield call(\n setMarketplaceBannerBase64,\n requestResult.data.id,\n dataURItoBlob(action.data.banner),\n isBase64Video(action.data.banner)\n );\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplaceMessage(requestResultWithBanner.data));\n }\n }\n return requestResult.data;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplacePagesAddSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(createMarketplacePage, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionAddNewMarketplacePage(requestResult.data));\n if (action.data.banner && (isBase64Image(action.data.banner) || isBase64Video(action.data.banner))) {\n const requestResultWithBanner = yield call(\n setMarketplacePageBannerBase64,\n requestResult.data.id,\n dataURItoBlob(action.data.banner),\n isBase64Video(action.data.banner),\n );\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplacePage(requestResultWithBanner.data));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceMassageEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateMarketplaceMessage, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplaceMessage(objectKeysToUpperLowerCase(requestResult.data)));\n if (action.data.banner && (isBase64Image(action.data.banner) || isBase64Video(action.data.banner))) {\n const requestResultWithBanner = yield call(\n setMarketplaceBannerBase64,\n requestResult.data.id,\n dataURItoBlob(action.data.banner),\n isBase64Video(action.data.banner)\n );\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplaceMessage(objectKeysToUpperLowerCase(requestResultWithBanner.data)));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplacePageEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateMarketplacePage, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplacePage(objectKeysToUpperLowerCase(requestResult.data)));\n if (action.data.banner && (isBase64Image(action.data.banner) || isBase64Video(action.data.banner))) {\n const requestResultWithBanner = yield call(\n setMarketplacePageBannerBase64,\n requestResult.data.id,\n dataURItoBlob(action.data.banner),\n isBase64Video(action.data.banner),\n );\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplacePage(objectKeysToUpperLowerCase(requestResultWithBanner.data)));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceToggleEnabledSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateMarketplaceMessage, { ...action.data, enabled: action.data.enabled });\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplaceMessage(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplacePagesToggleEnabledSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateMarketplacePage, { ...action.data, enabled: action.data.enabled });\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplacePage(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceMessageDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteMarketplaceMessage, action.data.id);\n if (requestResult && requestResult.status === 200) {\n yield put(actionDeleteMarketplaceMessage(objectKeysToUpperLowerCase(action.data.id)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplacePageDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteMarketplacePage, action.data.id);\n if (requestResult && requestResult.status === 200) {\n yield put(actionDeleteMarketplacePage(objectKeysToUpperLowerCase(action.data.id)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceMessageUpdateSaga(action) {\n yield* createSaga(function*() {\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(marketplaceMessageReorder, data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setMarketplace(action.data.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplacePageUpdateSaga(action) {\n yield* createSaga(function*() {\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(marketplacePagesReorder, data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setMarketplacePages(action.data.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceSettignsUpdateSaga(action) {\n yield* createSaga(function*() {\n const serverModel = getInitModel(MODEL_TYPE.marketplaceSettings, action.data);\n\n const resultRequest = yield call(updateMarketplaceSettings, serverModel);\n if (resultRequest.status === 200 && resultRequest.data) {\n yield put(\n actionRestaurantUpdate({ paymentsConfiguration: objectKeysToUpperLowerCase(resultRequest.data) })\n );\n\n if (action.data.headerUrl && isBase64Image(action.data.headerUrl)) {\n const requestResultWithBanner = yield call(\n setMarketplaceSettingsHeader,\n dataURItoBlob(action.data.headerUrl)\n );\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n const resultRequest = yield call(updateMarketplaceSettings, serverModel);\n yield put(\n actionRestaurantUpdate({\n paymentsConfiguration: objectKeysToUpperLowerCase(resultRequest.data),\n })\n );\n }\n }\n }\n }, action.type);\n}\n\nfunction* regionSettingAddSaga(action) {\n yield* createSaga(function*() {\n const region = {\n ...action.data,\n maxDeliveryTime: minutesToTime(action.data.maxDeliveryTime),\n pendingOrdersGroupingTimeDelta: minutesToTime(action.data.pendingOrdersGroupingTimeDelta),\n };\n const restaurant = yield select(getRestaurant);\n const regions = mergeArrays(restaurant.configuration.regions, [region]);\n\n if (!isUniqueRegionNames(regions)) {\n return new ErrorData(i18n.t('settings.UNIQUE_REGION_NAME_ERROR_MSG'));\n }\n\n const requestResult = yield call(\n setNewRegionInfo,\n getInitModel(MODEL_TYPE.restaurantRegionServerModel, region)\n );\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n regions: mergeArrays(restaurant.configuration.regions, [data]),\n },\n })\n );\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* regionSettingEditSaga(action) {\n yield* createSaga(function*() {\n const region = {\n ...action.data,\n maxDeliveryTime: minutesToTime(action.data.maxDeliveryTime),\n pendingOrdersGroupingTimeDelta: minutesToTime(action.data.pendingOrdersGroupingTimeDelta),\n };\n const restaurant = yield select(getRestaurant);\n const regions = mergeArrays(restaurant.configuration.regions, [region]);\n\n if (!isUniqueRegionNames(regions)) {\n return new ErrorData(i18n.t('settings.UNIQUE_REGION_NAME_ERROR_MSG'));\n }\n\n const requestResult = yield call(\n updateRegionInfo,\n getInitModel(MODEL_TYPE.restaurantRegionServerModel, region)\n );\n\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n regions: regions,\n },\n })\n );\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* regionSettingRemoveSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const requestResult = yield call(removeRegion, id);\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n regions: restaurant.configuration.regions.filter(f => f.id !== id),\n },\n })\n );\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* providersSettingGetSaga(action) {\n yield* createSaga(function*() {\n\n const requestResult = yield call(\n fetchSettingProviders,\n {}\n );\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n yield put(actionLoadProvidersSetting(data));\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* providersSettingDetailsGetSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n\n const providers = yield select(getProvidersAll);\n const currentProvider = providers.find((e) => e.id === id);\n let requestResult = null;\n\n if(currentProvider && currentProvider.provider === EXTERNAL_COURIER_PROVIDER.delivApp) {\n requestResult = yield call(\n fetchSettingExternalProvidersById,\n currentProvider.id\n );\n\n } else {\n requestResult = yield call(\n fetchSettingProviderDetails,\n id && typeof id ===\"string\" ? id.toLowerCase() + \"Settings\" : \"\"\n );\n }\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n yield put(actionLoadProvidersSettingDetails(data));\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* providersSettingAddSaga(action) {\n yield* createSaga(function*() {\n const providerForm = {\n ...action.data,\n };\n\n const providers = yield select(getProvidersAll);\n const currentProvider = providers.find((e) => e.name === providerForm.provider);\n let requestResult = null;\n\n if(currentProvider && currentProvider.provider === EXTERNAL_COURIER_PROVIDER.delivApp) {\n requestResult = yield call(addSettingExternalProviders, providerForm?.provider, {EntityId: currentProvider.id});\n\n } else {\n requestResult = yield call(addSettingProviders, providerForm?.provider && typeof providerForm?.provider ===\"string\" ? providerForm?.provider.toLowerCase() + \"Settings\" : \"\", providerForm);\n }\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(PROVIDERS_SETTING_GET);\n\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* providersSettingEditSaga(action) {\n yield* createSaga(function*() {\n const providerForm = { ...action.data };\n\n const requestResult = yield call(addSettingProviders, providerForm?.provider && typeof providerForm?.provider ===\"string\" ? providerForm?.provider.toLowerCase() + \"Settings\" : \"\", providerForm);\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(PROVIDERS_SETTING_GET);\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n\n }, action.type);\n}\n\nfunction* providersSettingRemoveSaga(action) {\n yield* createSaga(function*() {\n const { item } = action.data;\n\n const providers = yield select(getProvidersAll);\n const currentProvider = providers.find((e) => e.id === item.id);\n let requestResult = null;\n\n if(currentProvider && currentProvider.provider === EXTERNAL_COURIER_PROVIDER.delivApp) {\n requestResult = yield call(deleteSettingExternalProviders, currentProvider.id);\n\n } else {\n requestResult = yield call(deleteSettingProviders, item?.id && typeof item?.id ===\"string\" ? item?.id.toLowerCase() + \"Settings\" : \"\");\n }\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateProvidersSetting({...item, isActive: false}))\n\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* cloudPrintersSettingGetSaga(action) {\n yield* createSaga(function*() {\n\n const requestResult = yield call(\n fetchSettingCloudPrinters,\n {}\n );\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n yield put(actionLoadCloudPrintersSetting(data));\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* cloudPrintersSettingDetailsGetSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n\n const requestResult = yield call(\n fetchSettingCloudPrintersDetails,\n id\n );\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n yield put(actionLoadCloudPrintersSettingDetails(data));\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* cloudPrintersSettingAddSaga(action) {\n yield* createSaga(function*() {\n const providerForm = {\n ...action.data,\n };\n\n const requestResult = yield call(addSettingCloudPrinters, providerForm);\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n // something after add\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* cloudPrintersSettingEditSaga(action) {\n yield* createSaga(function* () {\n const {id, ...providerForm} = {\n ...action.data,\n };\n\n const requestResult = yield call(editSettingCloudPrinters, providerForm, id);\n\n\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(actionUpdateCloudPrintersSetting({...providerForm, id}))\n }\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n\n }, action.type);\n}\n\nfunction* cloudPrintersSettingRemoveSaga(action) {\n yield* createSaga(function*() {\n const { item } = action.data;\n const requestResult = yield call(deleteSettingCloudPrinters, item?.id);\n\n if (requestResult && requestResult.status === 200) {\n\n } else {\n return new ErrorData(i18n.t('settings.FORM_SEND_ERROR_MSG'));\n }\n }, action.type);\n}\n\nfunction* serviceCityAddSaga(action) {\n yield* createSaga(function*() {\n if (isDisableCitySave(action.data.name)) {\n return new ErrorData(i18n.t('settings.map.DUPLICATE_PLACES'));\n }\n\n const restaurant = yield select(getRestaurant);\n const requestResult = yield call(addServiceCity, getInitModel(MODEL_TYPE.serviceCities, action.data));\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n serviceCities: restaurant.configuration.serviceCities.concat(action.data.name)\n }\n }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceCityEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const serviceCities = restaurant.serviceCities;\n const city = (serviceCities || []).find(sc => sc.id === action.data.id);\n if (city.name !== action.data.name && isDisableCitySave(action.data.name)) {\n return new ErrorData(i18n.t('settings.map.DUPLICATE_PLACES'));\n }\n const requestResult = yield call(editServiceCity, action.data.id, getInitModel(MODEL_TYPE.serviceCities, action.data));\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ serviceCities: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceCityGetSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const requestResult = yield call(getServiceCity);\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({\n serviceCities: objectKeysToUpperLowerCase(requestResult.data),\n configuration: {\n ...restaurant.configuration,\n serviceCities: requestResult.data.map(sc => sc.Name)\n }\n }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* fleetGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getFleet);\n\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionLoadFleet(data));\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* fleetGetTelemetryBlinkSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n\n const requestResult = yield call(getFleetTelemetryBlink, id);\n\n if (requestResult && requestResult.status === 200) {\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* fleetGetTelemetrySaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n\n const requestResult = yield call(getFleetTelemetry, id);\n const requestVehicleResult = yield call(getFleetById, id);\n\n if (requestResult && requestResult.status === 200 && requestVehicleResult && requestVehicleResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n const dataVehicle = objectKeysToUpperLowerCase(requestVehicleResult.data);\n\n yield put(actionLoadFleetUpdate(dataVehicle)); // {latitude:, longitude: }\n yield put(actionLoadFleetTelemetry(data));\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* resetFleetTelemetrySaga(action) {\n yield* createSaga(function*() {\n yield put(actionLoadFleetUpdate(null));\n yield put(actionLoadFleetTelemetry(null));\n }, action.type);\n}\nfunction* fleetAddSaga(action) {\n yield* createSaga(function*() {\n const data = action.data;\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(addFleet, data);\n\n if (requestResult && requestResult.status === 200) {\n yield call(fleetGetSaga, {});\n } else {\n yield put(actionSetSectionItemsLoading(false));\n\n return new ErrorDataTable(getErrorMessage(requestResult), false);\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nfunction* fleetEditSaga(action) {\n yield* createSaga(function*() {\n const data = action.data;\n const { id } = getHistoryLocationParams(window.location.search);\n\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(editFleet, {data, id: id});\n\n if (requestResult && requestResult.status === 200) {\n yield call(fleetGetSaga, {});\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nfunction* fleetDeleteSaga(action) {\n yield* createSaga(function*() {\n const vehicleData = action.data;\n yield put(actionSetSectionItemsLoading(true));\n\n\n const requestResult = yield call(deleteFleet, vehicleData?.item?.vehicleId);\n\n if (requestResult && requestResult.status === 200) {\n yield call(fleetGetSaga, {});\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nfunction* serviceCityToggleSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const serviceCities = restaurant.configuration.serviceCities;\n\n // wait backend\n const requestResult = yield call(toggleServiceCity, action.data.name, action.data);\n\n if (requestResult.data.status === 200) {\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n serviceCities: serviceCities.filter(city => city !== action.data.name),\n },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n });\n}\n\nfunction* serviceCityRemoveSaga(action) {\n yield* createSaga(function*() {\n const { id, item: { name } } = action.data;\n const restaurant = yield select(getRestaurant);\n const serviceCities = restaurant.serviceCities || [];\n\n const requestResult = yield call(deleteServiceCity, id);\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({\n serviceCities: serviceCities.filter(sc => !(sc.id === id || sc.name === id)),\n configuration: {\n ...restaurant.configuration,\n serviceCities: restaurant.configuration.serviceCities.filter(sc => sc !== name)\n }\n }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* namedPlaceAddSaga(action) {\n yield* createSaga(function*() {\n const { name, address, region } = action.data;\n const restaurant = yield select(getRestaurant);\n\n if (!name) {\n return new ErrorData('Name is empty');\n } else if (\n restaurant.namedPlaces.some(place => {\n return place.name && place.name === name;\n })\n ) {\n return new ErrorData(i18n.t('placeEditor.NOT_UNIQUE_PLACE_NAME_ERROR'));\n }\n\n const requestResult = yield call(addNamedPlace, getInitModel(MODEL_TYPE.namedPlacesServerModel, action.data));\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionRestaurantUpdate({\n namedPlaces: restaurant.namedPlaces.concat([{ name, address, region }]),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* namedPlaceEditSaga(action) {\n yield* createSaga(function*() {\n const { id, name } = action.data;\n const restaurant = yield select(getRestaurant);\n\n if (!name) {\n return new ErrorData('Name is empty');\n } else if (restaurant.namedPlaces.some(place => place.name && place.name === name && place.id !== id)) {\n return new ErrorData(i18n.t('placeEditor.NOT_UNIQUE_PLACE_NAME_ERROR'));\n }\n\n const requestResult = yield call(\n editNamedPlace,\n getInitModel(MODEL_TYPE.namedPlacesServerModel, action.data),\n id\n );\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionRestaurantUpdate({\n namedPlaces: restaurant.namedPlaces.map((place) =>\n place.id === id ? { ...place, ...action.data } : place\n ),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* namedPlaceRemoveSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const requestResult = yield call(deleteNamedPlace, action.data.id);\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionRestaurantUpdate({\n namedPlaces: restaurant.namedPlaces.filter(place => place.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* namedPlaceGetSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n if (!restaurant.namedPlaces || !restaurant.namedPlaces.length) {\n const requestResult = yield call(getNamedPlaces);\n if (requestResultIsOk(requestResult, true)) {\n yield put(\n actionRestaurantUpdate({ namedPlaces: objectKeysToUpperLowerCase(requestResult.data) || [] })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* shiftsSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { dateStart, endDate, user, controlCenter,shiftType } =\n sectionModels[currentModelType].model.filterOptions.options || {};\n const startShiftDate = dateStart && dateStart.selected;\n const endShiftDate = endDate && endDate.selected;\n const controlCenterId = controlCenter.selected;\n const userId = user.selected;\n\n Pusher.instance.setShiftHistoryFilterStateChannel(sectionModels[currentModelType].model.filterOptions.options || {});\n yield put(actionSaveShiftsHistory());\n yield put(createAction(GET_ORDERS_PROVIDER));\n\n if (isDatesValid(startShiftDate, endShiftDate)) {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(\n getShifts,\n startShiftDate,\n endShiftDate,\n controlCenterId,\n userId,\n null,\n null,\n shiftType.selected\n );\n\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data || []);\n const couriersIds = data.map(courier => courier.courierName)\n\n //get users and set usersName to Shifts\n yield getUsersByIdsSaga({ data: { ids: couriersIds }})\n\n const users = yield select(getUserModel)\n\n const shiftsWithUserName = data.map(shift => ({\n ...shift,\n courierName: getFullName((users.find(user => user.userId === shift.courierName)))\n }))\n\n yield put(actionSaveShifts(shiftsWithUserName));\n yield put(actionSetSectionItemsLoading(false));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* currentShiftUsersSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { controlCenterIds } =\n sectionModels[currentModelType].model.filterOptions.options || {};\n const selectedControlCenterIds = controlCenterIds && controlCenterIds.selected;\n\n yield put(actionSaveShiftsHistory());\n yield put(createAction(CONTROL_CENTER_REFRESH, {\n selectedControlCenterMulti: selectedControlCenterIds,\n }));\n\n const resultRequest = yield call(fetchExternalProviders);\n\n if (resultRequest && resultRequest.data) {\n const data = objectKeysToUpperLowerCase(resultRequest.data);\n yield put(setOrdersProvider(data));\n } else {\n return new ErrorData('Error');\n }\n\n\n }, action.type);\n}\n\nfunction* shiftProvidersSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n yield put(actionAddShiftsTripHistory());\n yield put(setShiftProviders([]));\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { controlCenter, dateStart, endDate } =\n sectionModels[currentModelType].model.filterOptions.options || {};\n const selectedControlCenter = controlCenter && controlCenter.selected;\n const selectedDateStart = dateStart && dateStart.selected;\n const selectedDateEnd = endDate && endDate.selected;\n Pusher.instance.setShiftProviderHistoryFilterStateChannel(sectionModels[currentModelType].model.filterOptions.options || {});\n\n const resultRequest = yield call(fetchShiftProviders, {\n StartDate: prepareStartDate(selectedDateStart),\n EndDate: prepareEndDate(selectedDateEnd),\n ControlCenterId: selectedControlCenter,\n UserId: null\n });\n\n if (resultRequest && resultRequest.data) {\n const data = objectKeysToUpperLowerCase(resultRequest.data);\n yield put(setShiftProviders(data));\n yield put(actionSetSectionItemsLoading(false));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData('Error');\n }\n\n }, action.type);\n}\n\n\n\nfunction* getUserShiftHistorySaga(action) {\n yield* createSaga(function*() {\n yield put(actionSaveShiftsHistory());\n let restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id?.replace('?id=', '');\n const model = sectionModels[sectionModels[currentModelType].model.parentUrl]?.model || {};\n const selectedCC = model.filterOptions?.options?.controlCenter?.selected || null;\n if(!id){\n return yield put(actionSaveShiftsHistory());\n }\n\n if(restaurant?.shiftsHistory?.id !== id){\n yield put(actionSaveShiftsHistory());\n restaurant = yield select(getRestaurant);\n }\n\n const isProvider = (restaurant.ordersProvider || []).find(p => p.id === id);\n\n let requestResult = null;\n\n yield put(actionSetSectionItemsLoading(true));\n\n if (isProvider) {\n const dateStart = model?.getFilterOptionPropValue('dateStart', 'selected') || null;\n const dateEnd = model?.getFilterOptionPropValue('endDate', 'selected') || null;\n requestResult = yield call(\n getShiftsProvider,\n dateStart\n ? getISOTime(prepareStartDate(new Date(dateStart)))\n : getISOTime(prepareStartDate(new Date())),\n dateEnd\n ? getISOTime(prepareEndDate(new Date(dateEnd)))\n : getISOTime(prepareEndDate(dateStart ? new Date(dateStart) : new Date())),\n selectedCC,\n id\n );\n } else {\n requestResult = yield call(getShift, id);\n }\n\n if (requestResult && requestResult.status === 200) {\n yield saveUserOrProviderShiftHistory(objectKeysToUpperLowerCase(requestResult.data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getProviderShiftHistorySaga(action) {\n yield* createSaga(function*() {\n let restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id?.replace('?id=', '');\n const model = sectionModels[sectionModels[currentModelType].model.parentUrl]?.model || {};\n const selectedCC = model.filterOptions?.options?.controlCenter?.selected || null;\n if(!id){\n return;\n }\n\n if(!action.data.num) {\n yield put(actionAddShiftsTripHistory());\n }\n\n if(restaurant?.shiftsHistory?.id !== id){\n restaurant = yield select(getRestaurant);\n }\n\n const filters = {\n States: action.data.filters.states.selected\n .flatMap(filter => filter.items\n .filter(s => s.selected)\n .map(s => s.value)\n )\n };\n\n let requestResult = null;\n\n yield put(actionSetSectionItemsLoading(true));\n\n const dateStart = model?.getFilterOptionPropValue('dateStart', 'selected') || null;\n const dateEnd = model?.getFilterOptionPropValue('endDate', 'selected') || null;\n requestResult = yield call(\n getShiftsProvider,\n dateStart\n ? getISOTime(prepareStartDate(new Date(dateStart)))\n : getISOTime(prepareStartDate(new Date())),\n dateEnd\n ? getISOTime(prepareEndDate(new Date(dateEnd)))\n : getISOTime(prepareEndDate(dateStart ? new Date(dateStart) : new Date())),\n selectedCC,\n id,\n action.data.num,\n action.data.count,\n filters\n );\n\n if (requestResult && requestResult.status === 200) {\n const response = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionAddShiftsTripHistory({orders: response.page, id, totalCount: response?.summary?.count, summary: response?.summary}));\n return {\n orders: response?.page,\n totalCount: response?.summary?.count\n }\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* saveUserOrProviderShiftHistory(data) {\n let index = 0;\n let prevOrder = null;\n let isActiveRoute = false;\n data.orders.reverse();\n data.orders.forEach(order => {\n let iconType = 0;\n if (\n prevOrder &&\n (prevOrder.markerType === ICONS_MARKER_TYPE.checked ||\n (prevOrder.markerType === ICONS_MARKER_TYPE.canseled && !isActiveRoute))\n ) {\n iconType = MarkerIcons.instance.convertStateToIcon(order.state, 0);\n } else {\n iconType = MarkerIcons.instance.convertStateToIcon(order.state, index);\n }\n\n if (!isActiveRoute) {\n isActiveRoute = iconType === ICONS_MARKER_TYPE.point;\n }\n\n order.markerType = iconType;\n index++;\n prevOrder = order;\n });\n yield put(actionSaveShiftsHistory(data));\n yield put(actionSetSectionItemsLoading(false));\n}\n\nfunction* activateControlCenterSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n startControlCenterShift,\n getInitModel(MODEL_TYPE.controlCenterActivateServerModel, action.data)\n );\n\n if(requestResult && requestResult.status === 200) {\n yield getUserByIdSaga({ data: { id: action.data?.userId }})\n }\n\n if (!requestResult || requestResult.status !== 200) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* settingsControlCenterEdit(action) {\n yield* createSaga(function*() {\n const resultRequest = yield call(\n controlCenterEdit,\n action.data.controlCenterId,\n getInitModel(MODEL_TYPE.controlCenterEdit, action.data)\n );\n\n\n if (resultRequest || resultRequest.status === 200) {\n const controlCenters = yield select(getControlCenter);\n const controlCenterId = action.data.controlCenterId\n\n const newControlCenters = controlCenters.map(controlCenter => {\n if(controlCenter.controlCenterId === controlCenterId){\n return {\n ...controlCenter,\n ...action.data\n }\n } else {\n return controlCenter\n }\n })\n\n yield put(actionUpdateRestaurantControlCenters(newControlCenters));\n } else {\n return new ErrorData(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* settingsControlCenterGet(action) {\n yield* createSaga(function*() {\n const resultRequest = yield call(fetchRestaurant);\n\n if(resultRequest && resultRequest.status === 200) {\n const controlCenters = objectKeysToUpperLowerCase(resultRequest.data.ControlCenters)\n\n yield put(actionUpdateRestaurantControlCenters(controlCenters));\n }\n }, action.data);\n}\n\nfunction* deactivateControlCenterSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n endControlCenterShift,\n getInitModel(MODEL_TYPE.controlCenterDeactivateServerModel, action.data)\n );\n\n if(requestResult && requestResult.status === 200) {\n const controlCenterId = action.data?.controlCenterId\n const restaurant = yield select(getRestaurant);\n const controlCenters = restaurant?.controlCenters\n const newCenters = controlCenters.map(center => {\n if(center.controlCenterId === controlCenterId) {\n return {\n controlCenterId: center.controlCenterId,\n name: center.name,\n user: ''\n }\n } else {\n return center\n }\n })\n yield put(actionUpdateRestaurantControlCenters(newCenters));\n }\n\n if (!requestResult || requestResult.status !== 200) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* changeUserControlCenterSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n changeControlCenterShift,\n getInitModel(MODEL_TYPE.controlCenterActivateServerModel, action.data)\n );\n\n if(requestResult && requestResult.status === 200) {\n const userId = action.data?.userId\n yield getUserByIdSaga({ data: { id: userId }})\n const restaurant = yield select(getRestaurant);\n\n const controlCenters = restaurant?.controlCenters\n const controlCenterId = action.data?.controlCenterId\n const newCenters = controlCenters.map(center => {\n if(center.controlCenterId === controlCenterId) {\n return {\n ...center,\n user: userId\n }\n } else {\n return center\n }\n\n })\n yield put(actionUpdateRestaurantControlCenters(newCenters));\n }\n\n if (!requestResult || requestResult.status !== 200) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* copyTelegramCommandSaga(action) {\n yield* createSaga(function*() {\n const { id } = action.data;\n const restaurant = yield select(getRestaurant);\n\n let textField = document.createElement('textarea');\n textField.innerText = `/setdepot ${restaurant.name} ${id}`;\n document.body.appendChild(textField);\n textField.select();\n document.execCommand('copy');\n textField.remove();\n }, action.type);\n}\n\nfunction* getOrderStatSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const dateStart = action.data.dateStart || prepareStartDate(new Date());\n const dateEnd = action.data.dateEnd || prepareEndDate(new Date());\n const controlCenterIds = action.data.controlCenterIds;\n const territoryId = action.data.territoryId;\n\n yield put(actionControlCenterRefresh({selectedControlCenterMulti: controlCenterIds }));\n\n const requestResult = yield call(getReportOrderStatisticsByDate, dateStart, dateEnd, controlCenterIds, null, territoryId);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n if (data) {\n const deliveredOrders = (data.ordersCount || 0) - (data.canceledOrdersCount || 0);\n let shifts = [];\n\n const requestResultShifts = yield call(\n getShifts,\n getISOTime(dateStart),\n getISOTime(dateEnd),\n null,\n null,\n controlCenterIds,\n territoryId,\n );\n\n if (requestResultIsOk(requestResultShifts, true)) {\n shifts = objectKeysToUpperLowerCase(requestResultShifts.data);\n }\n\n let reportDeliveryTime = null;\n\n const requestResultReportDeliveryTime = yield call(\n getReportDeliveryTimeByDate,\n getISOTime(dateStart),\n getISOTime(dateEnd),\n null,\n null,\n controlCenterIds,\n territoryId,\n );\n if (requestResultIsOk(requestResultReportDeliveryTime, true)) {\n reportDeliveryTime = objectKeysToUpperLowerCase(requestResultReportDeliveryTime.data);\n }\n\n let stat = {\n marketplaceOrdersCount: data.marketplaceOrdersCount || 0,\n ordersCount: data.ordersCount || 0,\n canceledOrdersCount: data.canceledOrdersCount || 0,\n notDeliveredOnTimeOrdersCount: data.notDeliveredOnTimeOrdersCount || 0,\n inProccessOrdersCount: data.inProccessOrdersCount || 0,\n onRouteOrdersCount: data.onRouteOrdersCount || 0,\n deliveredOrdersCount: data.deliveredOrdersCount || 0,\n outOfRegionOrdersCount: data.outOfRegionOrdersCount || 0,\n deliveredOrders: deliveredOrders,\n controlCenterStatistics: data.controlCenterStatistics.map((controlCenter, index) => {\n return getControlCenterStatisticFormattedData({\n object: controlCenter,\n dataToFindName: restaurant.controlCenters,\n index: index,\n idKey: 'controlCenterId',\n shifts: shifts,\n reportDeliveryTime: reportDeliveryTime\n })\n }),\n depotStatistics: (data.depotStatistics || []).map((depot, index) => {\n return getControlCenterStatisticFormattedData({\n object: depot,\n dataToFindName: restaurant.depots,\n index: index,\n findKey: 'id',\n idKey: 'depotId',\n shifts: shifts,\n reportDeliveryTime: reportDeliveryTime\n })\n }),\n score: !!data.hours ? (deliveredOrders / data.hours).toFixed(2) : null,\n };\n\n stat.reportDeliveryTimeStatistics = getReportDeliveryTimeStatistics(\n reportDeliveryTime,\n stat.controlCenterStatistics\n );\n stat.reportAverageDeliveryTimeStatistics = getReportAverageDeliveryTimeStatistics(reportDeliveryTime);\n if ((stat.controlCenterStatistics || []).length) {\n stat.reportDeliveryTimeStatistics = stat.reportDeliveryTimeStatistics.map(statistic => ({\n ...statistic,\n values: statistic.values.concat([\n {\n controlCenter: i18n.t('reports.TOTAL'),\n controlCenterId: i18n.t('reports.TOTAL'),\n countOrders: statistic.values.reduce((a, b) => a + b.countOrders, 0),\n averageDeliveryTime: statistic.values.reduce(\n (a, b) => (a === 0 ? b.averageDeliveryTime : (a + b.averageDeliveryTime) / 2),\n 0\n ),\n },\n ]),\n }));\n }\n\n const totalAbsShift = stat.controlCenterStatistics.reduce((a, b) => a + b.shiftHours, 0);\n const totalAbsShiftDepot = (stat.depotStatistics || []).reduce((a, b) => a + b.shiftHours, 0);\n\n const totalDeliveredOrdersCount = stat.controlCenterStatistics.reduce(\n (a, b) => a + b.deliveredOrders,\n 0\n );\n const totalDeliveredOrdersCountDepot = (stat.depotStatistics || []).reduce(\n (a, b) => a + b.deliveredOrders,\n 0\n );\n\n if(reportDeliveryTime){\n stat.controlCentersAverageDeliveryTime = reportDeliveryTime.controlCenters.map(val => ({\n averageDeliveryTime: parseInt(val.averageDeliveryTime / 60),\n controlCenterId: val.controlCenterId,\n controlCenterName: ((restaurant.controlCenters || []).find(cc => cc.controlCenterId === val.controlCenterId) || {}).name,\n }));\n }\n\n return {\n ...stat,\n countCouriers: stat.controlCenterStatistics.reduce((a, b) => a + b.countCouriers, 0),\n countCouriersDepot: (stat.depotStatistics || []).reduce((a, b) => a + b.countCouriers, 0),\n unassignedOrders: stat.controlCenterStatistics.reduce((a, b) => a + b.unassignedOrders, 0),\n unassignedOrdersDepot: (stat.depotStatistics || []).reduce((a, b) => a + b.unassignedOrders, 0),\n waitingCouriers: stat.controlCenterStatistics.reduce((a, b) => a + b.waitingCouriers, 0),\n waitingCouriersDepot: (stat.depotStatistics || []).reduce((a, b) => a + b.waitingCouriers, 0),\n ordersScore:\n totalDeliveredOrdersCount && totalAbsShift ? totalDeliveredOrdersCount / totalAbsShift : 0,\n ordersScoreDepot:\n totalDeliveredOrdersCountDepot && totalAbsShiftDepot ? totalDeliveredOrdersCountDepot / totalAbsShiftDepot : 0,\n dayAverageDeliveryTime:\n stat.controlCenterStatistics.reduce((a, b) => a + b.dayAverageDeliveryTime, 0) /\n stat.controlCenterStatistics.length,\n dayAverageDeliveryTimeDepot:\n (stat.depotStatistics || []).reduce((a, b) => a + b.dayAverageDeliveryTime, 0) /\n (stat.depotStatistics || []).length,\n shiftHours: totalAbsShift,\n shiftHoursDepot: totalAbsShiftDepot,\n };\n } else {\n return [];\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport const getControlCenterStatisticFormattedData = ({object, index, idKey, findKey, shifts, reportDeliveryTime, dataToFindName}) => {\n const defaultName = `Control center-${index}-${idKey}`;\n const restaurantControlCenter = (dataToFindName || []).find(\n f => f[findKey || idKey] === object[idKey]\n );\n const couriers =\n shifts.filter(\n f =>\n f.controlCenterId === (object[idKey] || defaultName) &&\n f.shiftType === SHIFT_TYPE.Normal\n ) || [];\n const absShift = couriers.reduce((a, b) => {\n const startDate = moment(b.startDate);\n let endDate = b.endDate ? moment(b.endDate) : moment();\n const diff = endDate.diff(startDate, 'hours', true);\n\n return a + (diff > 0 ? diff : 0);\n }, 0);\n const controlCenterDeliveredOrders =\n (object.ordersCount || 0) - (object.canceledOrdersCount || 0);\n\n return {\n ...object,\n [idKey]: object[idKey] || defaultName,\n deliveredOrders: controlCenterDeliveredOrders,\n name: restaurantControlCenter ? restaurantControlCenter.name : defaultName,\n countCouriers: couriers.length,\n unassignedOrders: object.unhandledOrdersCount || 0,\n waitingCouriers: object.outOfRegionOrdersCount || 0,\n ordersScore:\n absShift && controlCenterDeliveredOrders ? controlCenterDeliveredOrders / absShift : 0,\n shiftHours: absShift || 0,\n dayAverageDeliveryTime:\n reportDeliveryTime &&\n reportDeliveryTime.items.reduce((a, b) => {\n if (\n b.controlCenterId === object[idKey] &&\n b.state === ORDER_STATE.delivered\n ) {\n a =\n a === 0\n ? new Date(b.deliveryTime) - new Date(b.date)\n : (a + (new Date(b.deliveryTime) - new Date(b.date))) / 2;\n }\n\n return a;\n }, 0),\n };\n}\n\nfunction* notificationAddSaga(action) {\n yield* createSaga(function*() {\n const notifications = yield select(getNotifications);\n const notification = objectKeysToUpperLowerCase(action.data);\n yield put(actionNotificationUpdate(notifications.concat(notification.notification)));\n yield put(actionAlarmAdd(notification.notification));\n\n AudioService.instance.playSound(notification.notification.type);\n }, action.type);\n}\n\nfunction* notificationDeleteSaga(action) {\n yield* createSaga(function*() {\n const notifications = yield select(getNotifications);\n if (action.data && action.data.Id) {\n yield put(actionNotificationUpdate(notifications.filter(f => f.id !== action.data.Id)));\n yield put(actionAlarmDelete({ id: action.data.Id }));\n }\n }, action.type);\n}\n\nfunction* notificationRestartSaga(action) {\n yield* createSaga(function*() {\n yield put(actionNotificationUpdate([]));\n yield put(actionAlarmRestart());\n }, action.type);\n}\n\nfunction* businessCategoryGetSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n if (!restaurant.businessCategory || !restaurant.businessCategory.length) {\n const requestResult = yield call(fetchBusinessCategory);\n if (requestResultIsOk(requestResult, true)) {\n yield put(actionRestaurantUpdate({ businessCategory: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* cancelReasonGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchCancelReason);\n if (requestResultIsOk(requestResult, true)) {\n yield put(actionRestaurantUpdate({ cancelReason: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* cancelReasonAddSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchAddCancelReason, action.data);\n if (requestResultIsOk(requestResult, true)) {\n const {cancelReasons} = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ cancelReason: (cancelReasons || []).concat(objectKeysToUpperLowerCase(requestResult.data)) }));\n return;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* cancelReasonEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchEditCancelReason, action.data.id, action.data);\n if (requestResultIsOk(requestResult, true)) {\n const {cancelReason} = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ cancelReason: (cancelReason || []).concat(objectKeysToUpperLowerCase(requestResult.data)) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* cancelReasonDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(fetchDeleteCancelReason, action.data.id);\n if (requestResultIsOk(requestResult)) {\n const {cancelReason} = yield select(getRestaurant);\n const filteredReasons = (cancelReason || []).filter(reason => reason.id !== action.data.id);\n yield put(actionRestaurantUpdate({ cancelReason: filteredReasons }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessDeepLinkCreateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(createBusinessDeepLink, action.data);\n if (requestResultIsOk(requestResult)) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(requestResult.data) ));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessProductDeepLinkCreateSaga(action) {\n yield* createSaga(function*() {\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const { id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(createBusinessProductDeepLink, businessMenu.id, id, action.data);\n if (requestResultIsOk(requestResult)) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketplaceDeepLinkCreateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(createMarketplaceDeepLink);\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ paymentsConfiguration: {\n ...restaurant.paymentsConfiguration,\n ...objectKeysToUpperLowerCase(requestResult.data),\n }}));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotBusinessSKUGetSaga(action) {\n yield* createSaga(function*() {\n const isLoading = yield select(getIsSectionsWrapperLoading);\n if(isLoading) return\n yield put(actionSetSectionItemsLoading(true));\n\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(getDepotBusinessSKU, businessId || id);\n if (requestResultIsOk(requestResult)) {\n yield put(actionRestaurantUpdate({\n skuOverrides: objectKeysToUpperLowerCase(requestResult.data),\n }));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nfunction* depotBusinessTranslationGetSaga(action) {\n yield* createSaga(function*() {\n const isLoading = yield select(getIsSectionsWrapperLoading);\n if(isLoading) return\n yield put(actionSetSectionItemsLoading(true));\n const restaurant = yield select(getRestaurant);\n\n yield put(actionRestaurantUpdate({\n translations: {\n values: [],\n language: restaurant?.translations?.language\n },\n }));\n\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const language = action?.data?.language || restaurant?.translations?.language || 'en'\n const requestResult = yield call(getDepotBusinessTranslation, { businessId: businessId || id, language });\n if (requestResultIsOk(requestResult)) {\n yield put(actionRestaurantUpdate({\n translations: {\n values: objectKeysToUpperLowerCase(requestResult.data),\n language: language\n },\n }));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nfunction* depotBusinessTranslationUpdateSaga(action) {\n yield* createSaga(function*() {\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const language = restaurant?.translations?.language || 'en'\n let data = action.data?.values?.filter(value => value?.translated_value !== null)\n data = data.map(item => settingsTranslationsServerModel(item))\n const requestResult = yield call(setDepotBusinessTranslation, {data: data, businessId: businessId || id, language });\n if (!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotBusinessSKUUpdateSaga(action) {\n yield* createSaga(function*() {\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n let data = action.data?.values;\n data = data.map(item => objectKeysToUpperLowerCase(item, true));\n const requestResult = yield call(setDepotBusinessSKU, {data: data, businessId: businessId || id });\n if (requestResultIsOk(requestResult)) {\n yield put(createAction(DEPOTMENU_GET, { businessId: businessId || id }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotBusinessTranslationExportSaga(action) {\n yield* createSaga(function*() {\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const language = restaurant?.translations?.language || 'en'\n const requestResult = yield call(exportDepotBusinessTranslation, { businessId: businessId || id, language });\n if (requestResultIsOk(requestResult)) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = '';\n try {\n fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\")) || decodeURIComponent(escape(atob(c.split('?')[3])));\n } catch (e) {\n fileName = `Translation ${getDepotNameById(id)}.xlsx`;\n }\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotBusinessSKUExportSaga(action) {\n yield* createSaga(function*() {\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(exportDepotBusinessSku, businessId || id);\n if (requestResultIsOk(requestResult)) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = '';\n try {\n fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\")) || decodeURIComponent(escape(atob(c.split('?')[3])));\n } catch (e) {\n fileName = `SKU ${getDepotNameById(id)}.xlsx`;\n }\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotBusinessSKUImportSaga(action) {\n yield* createSaga(function*() {\n const file = action.data?.file;\n if(!file) return\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(importDepotBusinessSKU, { businessId: businessId || id, file });\n if (requestResultIsOk(requestResult)) {\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(getDepotBusinessSKU, businessId || id);\n if (requestResultIsOk(requestResult)) {\n yield put(createAction(DEPOTMENU_GET, { businessId: businessId || id }));\n yield put(actionRestaurantUpdate({\n skuOverrides: objectKeysToUpperLowerCase(requestResult.data),\n }));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action?.type);\n}\n\nfunction* depotBusinessTranslationImportSaga(action) {\n yield* createSaga(function*() {\n const file = action.data?.file\n if(!file) return\n const { businessId, id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(importDepotBusinessTranslation, { businessId: businessId || id, file });\n if (requestResultIsOk(requestResult)) {\n\n yield put(actionSetSectionItemsLoading(true));\n const restaurant = yield select(getRestaurant);\n const language = restaurant?.translations?.language || 'en'\n const requestResult = yield call(getDepotBusinessTranslation, { businessId: businessId || id, language });\n if (requestResultIsOk(requestResult)) {\n yield put(actionRestaurantUpdate({\n translations: {\n values: objectKeysToUpperLowerCase(requestResult.data),\n language: language\n },\n }));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action?.type);\n}\n\nfunction* businessCategoryEditSaga(action) {\n yield* createSaga(function*() {\n const id = action.data.id;\n const logo = action.data.logo;\n\n if (id && isBase64Image(logo)) {\n yield call(setBusinessCategoryAvatarBase64, id, dataURItoBlob(logo));\n }\n\n const data = id\n ? {\n Id: action.data.id,\n isStore: action.data.isStore,\n LogoSettings: action.data.logoSettings,\n NameTranslations: action.data.nameTranslations,\n }\n : {\n Logo: '',\n isStore: action.data.isStore,\n LogoSettings: action.data.logoSettings,\n NameTranslations: action.data.nameTranslations,\n };\n let requestResult = yield call(!id ? businessCategoryAdd : businessCategoryEdit, data, id);\n\n if (requestResult && requestResult.status === 200) {\n const newId = requestResult.data.Id;\n let restaurant = yield select(getRestaurant);\n const newData = {\n id: newId,\n logo: requestResult.data.Logo,\n logoSettings: requestResult.data.LogoSettings,\n nameTranslations: requestResult.data.NameTranslations,\n isStore: action.data.isStore,\n };\n const businessCategory = id\n ? restaurant.businessCategory.map(category => (category.id === id ? newData : category))\n : restaurant.businessCategory.concat([newData]);\n yield put(actionRestaurantUpdate({ ...restaurant, businessCategory }));\n\n if (!id && newId && isBase64Image(logo)) {\n yield call(setBusinessCategoryAvatarBase64, newId, dataURItoBlob(logo));\n\n requestResult = yield call(businessCategoryEdit, data, newId);\n if (requestResult && requestResult.status === 200) {\n restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n businessCategory: restaurant.businessCategory.map(category =>\n category.id === newId\n ? {\n id: newId,\n isStore: requestResult.data.IsStore,\n logoSettings: requestResult.data.LogoSettings,\n logo: requestResult.data.Logo,\n nameTranslations: requestResult.data.NameTranslations,\n }\n : category\n ),\n })\n );\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessCategoryDeleteSaga(action) {\n yield* createSaga(function*() {\n if (action.data.id) {\n const requestResult = yield call(businessCategoryRemove, action.data.id);\n\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const businessCategory = restaurant.businessCategory.filter(f => f.id !== action.data.id);\n yield put(actionRestaurantUpdate({ ...restaurant, businessCategory }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* businessCategoryUpdateSaga(action) {\n yield* createSaga(function*() {\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(businessCategoryReorder, data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ businessCategory: action.data.data }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* operationTimingAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const operations = {...restaurant.operations};\n const newItem = getInitModel(MODEL_TYPE.operationTiming, action.data);\n operations.profiles = [...operations.profiles, newItem];\n operations.activeProfile = operations.activeProfile ? operations.activeProfile : newItem.name\n\n const data = objectKeysToUpperLowerCase(operations, true);\n const requestResult = yield call(updateOperations, data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ ...restaurant, operations }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* operationTimingEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const operations = {...restaurant.operations};\n const editedOperation = getInitModel(MODEL_TYPE.operationTiming, action.data);\n operations.profiles = [...operations.profiles]\n .map(p =>\n p.name === action.data.id\n ? editedOperation\n : p\n )\n\n const data = objectKeysToUpperLowerCase(operations, true);\n const requestResult = yield call(updateOperations, data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ ...restaurant, operations }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* operationTimingDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant)\n const operations = restaurant.operations;\n operations.profiles = operations.profiles.filter(o => o.name !== action.data.item.name);\n\n const data = objectKeysToUpperLowerCase(operations, true);\n const requestResult = yield call(updateOperations, data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ ...restaurant, operations }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* operationTimingToggleDefaultPropertySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant)\n const operations = restaurant.operations;\n operations[action.data.paramToToggle] = action.data.name;\n\n const data = objectKeysToUpperLowerCase(operations, true);\n const requestResult = yield call(updateOperations, data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({ ...restaurant, operations }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getOrderingMenuSaga(action) {\n yield* createSaga(function*() {\n yield put(actionGetSettingsDeliveryZones());\n yield put(actionGetBusinessCategories());\n yield put(actionGetOperationTiming());\n let restaurant = yield select(getRestaurant);\n\n const params = getHistoryLocationParams(window.location.search);\n const id = (params.parentId || params.id).replace('?id=', '');\n\n const depot = restaurant && restaurant.depots.find(d => d.id === id || (d.businessId && d.businessId === id));\n const businessMenuId = (depot && depot.businessId) || id;\n\n const businessId = restaurant.businessMenu && restaurant.businessMenu.id;\n const extras = restaurant?.businessMenu?.extras || []\n const categories = restaurant?.businessMenu?.categories || []\n\n\n if(businessMenuId !== businessId) {\n yield put(setBusinessMenu(null))\n }\n\n if ((businessMenuId && businessId !== businessMenuId) || !extras.length || !categories.length) {\n const requestResult = yield call(getBusinessMenu, businessMenuId);\n\n if (requestResult.status !== 200) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n if (requestResult && requestResult.data) {\n const businessMenu = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setBusinessMenu(businessMenu));\n\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n if((businessMenu.template_business_id && parentMenu && parentMenu.id !== businessMenu.template_business_id) || (businessMenu.template_business_id && !parentMenu)) {\n const requestParentMenu = yield call(getBusinessMenu, businessMenu.template_business_id, true);\n yield put(setParentBusinessMenu(requestParentMenu.data));\n }\n\n if(businessMenu?.logo) {\n const requestResultAvatar = yield call(fetchMarkerAvatarBase64, businessMenu.logo, true);\n yield put(\n setBusinessMenu({\n ...businessMenu,\n avatar: requestResultAvatar,\n })\n );\n }\n }\n }\n }, action.type);\n}\n\nfunction* orderingMenuDeliveryZoneEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const data = getDeliveryZoneData(action.data);\n\n const requestResult = yield call(updateDeliveryZone, restaurant.businessMenu.id, data);\n if (requestResultIsOk(requestResult, true)) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuDeliveryZoneAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n let data = getDeliveryZoneData(action.data);\n\n const requestResult = yield call(setDeliveryZone, restaurant.businessMenu.id, data);\n if (requestResultIsOk(requestResult, true)) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuDeliveryZoneDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const requestResult = yield call(deleteDeliveryZone, restaurant.businessMenu.id, action.data.id);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuScheduleEditSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(\n updateSchedule,\n action.data.id,\n action.data.schedule.map(m => ({ enabled: m.enabled, lapses: m.lapses }))\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuBusinessDiscountEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const { start, end, limit, minimum, enable_schedule, schedule } = action.data;\n const d1 = start && new Date(start);\n const d2 = end && new Date(end);\n\n if (isSameObjects(d1, d2)) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_DATE_ERROR'));\n }\n\n if (limit && minimum && limit <= minimum) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_LIMIT_ERROR'));\n }\n\n const hasItemLapses = schedule?.filter(item => item?.lapses?.length)?.length\n if(enable_schedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }\n\n const requestResult = yield call(updateBusinessMenuDiscount, restaurant.businessMenu.id, action.data);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuBusinessDiscountAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n if(action.data.discount_target === OFFER_DISCOUNT_TARGET.product && action.data.product_id) {\n action.data.business_id = restaurant.businessMenu.id;\n }\n\n const { start, end, limit, minimum, enable_schedule, schedule } = action.data;\n const d1 = start && new Date(start);\n const d2 = end && new Date(end);\n\n if (isSameObjects(d1, d2)) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_DATE_ERROR'));\n }\n\n if (limit && minimum && limit <= minimum) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_LIMIT_ERROR'));\n }\n\n const hasItemLapses = schedule?.filter(item => item?.lapses?.length)?.length\n if(enable_schedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }\n\n const requestResult = yield call(addBusinessMenuDiscount, restaurant.businessMenu.id, {\n ...action.data,\n start: getISOTime(action.data.start),\n end: getISOTime(action.data.end),\n });\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuBusinessDiscountDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(deleteBusinessMenuDiscount, restaurant.businessMenu.id, action.data.id);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuBusinessInfoEditSaga(action) {\n yield* createSaga(function*() {\n const { id, businessId } = getHistoryLocationParams(window.location.search);\n if(action.data.temporary_disable_business && moment(action.data.temporary_disable_business).isAfter(new Date())) {\n action.data.temporary_disable_business = getDifferenceTimeInMinute(action.data.temporary_disable_business);\n }\n if(action.data.temporary_disable_delivery && moment(action.data.temporary_disable_delivery).isAfter(new Date())) {\n action.data.temporary_disable_delivery = getDifferenceTimeInMinute(action.data.temporary_disable_delivery);\n }\n if(action.data.temporary_disable_takeaway && moment(action.data.temporary_disable_takeaway).isAfter(new Date())) {\n action.data.temporary_disable_takeaway = getDifferenceTimeInMinute(action.data.temporary_disable_takeaway);\n }\n const data = getInitModel(MODEL_TYPE.businessInfoServerModel, action.data);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const templatesId = sectionModels[currentModelType].id || id;\n const requestResult = yield call(updateBusinessMenuInfo, businessId || id, data);\n\n if (requestResultIsOk(requestResult)) {\n const newData = objectKeysToUpperLowerCase(requestResult.data) || data;\n const restaurant = yield select(getRestaurant);\n const menuTemplates = yield select(getMenuTemplates);\n const menuTemplate = menuTemplates.find(f => f.business_id === templatesId);\n\n if (!menuTemplate) {\n yield put(actionRestaurantUpdate({ consumerOrderMenu: newData }));\n }\n\n yield put(setBusinessMenu(newData));\n\n if (\n (restaurant.businessMenu && restaurant.businessMenu.header) !== action.data.header &&\n (isBase64Image(action.data.header) || isBase64Video(action.data.header))\n ) {\n yield put(actionSetBusinessMenuAvatar({\n businessId: businessId || id,\n avatar: action.data.header,\n isVideo: isBase64Video(action.data.header)\n }));\n }\n\n if (\n (restaurant.businessMenu && restaurant.businessMenu.header_mini) !== action.data.header_mini &&\n (isBase64Image(action.data.header_mini) || isBase64Video(action.data.header_mini))\n ) {\n yield put(actionSetBusinessMenuHeaderMini({\n businessId: businessId || id,\n header_mini: action.data.header_mini,\n isVideo: isBase64Video(action.data.header_mini)\n }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* setBusinessMenuHeaderSaga(action) {\n yield* createSaga(function*() {\n let { businessId, avatar, isVideo } = action.data;\n const requestResult = yield call(updateBusinessMenuHeaderAvatar, businessId, dataURItoBlob(avatar), isVideo);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu({ ...requestResult.data, avatar }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* setBusinessMenuHeaderMiniSaga(action) {\n yield* createSaga(function*() {\n let { businessId, header_mini, isVideo } = action.data;\n const requestResult = yield call(updateBusinessMenuHeaderMini, businessId, dataURItoBlob(header_mini), isVideo);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu({ ...requestResult.data, header_mini }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(businessMenuCategoryDelete, restaurant.businessMenu.id, action.data.id);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n\n const requestResult = yield call(businessMenuCategoryReorder, restaurant.businessMenu.id, data);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(\n businessMenuCategoryEdit,\n restaurant.businessMenu.id,\n action.data.id,\n getInitModel(MODEL_TYPE.categoryServerModel, action.data)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryListUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const category = restaurant.businessMenu.categories.find(f => f.id === action.data.id);\n let requestResult = null;\n\n if (category.enabled !== action.data.enabled) {\n requestResult = yield call(businessMenuCategoryActivate, restaurant.businessMenu.id, action.data.id, {\n enabled: action.data.enabled,\n });\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: action.data.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(\n businessMenuCategoryAdd,\n restaurant.businessMenu.id,\n getInitModel(MODEL_TYPE.categoryServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const productId = action.data.id;\n const params = getHistoryLocationParams(window.location.search);\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id;\n const menu = restaurant.businessMenu;\n\n const { enable_schedule, preorder_schedule, schedule } = action.data;\n\n const hasItemLapses = schedule?.filter(item => item?.lapses?.length)?.length\n if((enable_schedule || preorder_schedule) && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }\n\n const requestResult = yield call(\n businessMenuCategoryProductEdit,\n menu.id,\n categoryId,\n productId,\n getInitModel(MODEL_TYPE.categoryProductServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n if (isBase64Image(action.data.images) || isBase64Video(action.data.images)) {\n yield put(\n actionSetCategoryProductAvatar({\n businessId: menu.id,\n categoryId,\n productId,\n image: action.data.images,\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n if (isBase64Image(action.data.images) || isBase64Video(action.data.images)) {\n const requestResultAvatar = yield call(\n updateBusinessMenuCategoryProductAvatar,\n menu.id,\n categoryId,\n productId,\n dataURItoBlob(action?.data?.images),\n isBase64Video(action?.data?.images)\n );\n\n if (requestResultAvatar && requestResultAvatar.status === 200 && requestResultAvatar.data) {\n yield put(setBusinessMenu(requestResultAvatar.data));\n } else {\n return new ErrorData(getErrorMessage(requestResultAvatar));\n }\n }\n\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessMenu = restaurant.businessMenu;\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id;\n\n const requestResult = yield call(\n businessMenuCategoryProductAdd,\n businessMenu.id,\n categoryId,\n getInitModel(MODEL_TYPE.categoryProductServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const newDepot = requestResult.data;\n yield put(setBusinessMenu(newDepot));\n\n const oldListProducts = businessMenu.categories.find(f => f.id === categoryId)['products'].map(m => m.id);\n const newIds = requestResult.data.categories\n .find(f => f.id === categoryId)\n ['products'].filter(f => !oldListProducts.includes(f.id))\n .map(m => m.id);\n\n if (newIds.length === 1 && (isBase64Image(action.data.images) || isBase64Video(action.data.images))) {\n yield put(\n actionSetCategoryProductAvatar({\n depot: newDepot,\n businessId: newDepot.id,\n categoryId,\n productId: newIds[0],\n image: action.data.images,\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessMenu = restaurant.businessMenu;\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const productId = action.data.id;\n const categoryId = sectionModels[currentModelType].id;\n\n const requestResult = yield call(businessMenuCategoryProductDelete, businessMenu.id, categoryId, productId);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductsDragUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const categoryId = sectionModels[currentModelType].id;\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n\n const requestResult = yield call(\n businessMenuCategoryProductsReorder,\n restaurant.businessMenu.id,\n categoryId,\n data\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductsUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const categoryId = sectionModels[currentModelType].id;\n const category = restaurant.businessMenu.categories.find(f => f.id === categoryId);\n const product = category.products.find(f => f.id === action.data.id);\n let requestResult = null;\n\n if (product.enabled !== action.data.enabled) {\n requestResult = yield call(\n businessMenuCategoryProductActivate,\n restaurant.businessMenu.id,\n categoryId,\n action.data.id,\n { enabled: action.data.enabled }\n );\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: action.data.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductsUpdateAvatarSaga(action) {\n yield* createSaga(function*() {\n const { businessId, categoryId, productId, image } = action.data;\n\n const requestResult = yield call(\n updateBusinessMenuCategoryProductAvatar,\n businessId,\n categoryId,\n productId,\n dataURItoBlob(image),\n isBase64Video(image)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionUpdateImageSaga(action) {\n yield* createSaga(function*() {\n const { businessId, categoryId, extraId, optionId, suboptionId, image } = action.data;\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionUpdateImage,\n businessId,\n categoryId,\n extraId,\n optionId,\n suboptionId,\n dataURItoBlob(image),\n isBase64Video(image)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasSubOptionUpdateImageSaga(action) {\n yield* createSaga(function*() {\n const { businessId, extraId, optionId, suboptionId, image } = action.data;\n const requestResult = yield call(\n businessExtraSubOptionUpdateImage,\n businessId,\n extraId,\n optionId,\n suboptionId,\n dataURItoBlob(image),\n isBase64Video(image)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { item, value, type, accessor } = action.data;\n const productId = item.id;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n const depotId = sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit].id;\n const depot = restaurant.depots.find(f => f.id === depotId);\n const category = depot.businessMenu.categories.find(f => f.id === categoryId);\n const product = category.products.find(f => f.id === productId);\n let requestResult = null;\n\n if (accessor === 'categoryIngredients') {\n switch (type) {\n case TYPE_EDIT_ACTION.add:\n requestResult = yield call(\n businessMenuCategoryProductIngredientAdd,\n depot.businessId,\n categoryId,\n productId,\n { Name: value, Order: product.ingredients.length }\n );\n break;\n case TYPE_EDIT_ACTION.edit:\n let ingredient = product.ingredients[item.categoryIngredients.indexOf(value)];\n requestResult = yield call(\n businessMenuCategoryProductIngredientUpdate,\n depot.businessId,\n categoryId,\n productId,\n ingredient.id,\n { Name: value, Order: ingredient.order || 0 }\n );\n break;\n case TYPE_EDIT_ACTION.delete:\n ingredient = product.ingredients[value];\n requestResult = yield call(\n businessMenuCategoryProductIngredientDelete,\n depot.businessId,\n categoryId,\n productId,\n ingredient.id\n );\n break;\n default:\n break;\n }\n } else {\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(actionDepotEdit({ ...depot, businessMenu: requestResult.data }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasAdd,\n restaurant.businessMenu.id,\n categoryId,\n getInitModel(MODEL_TYPE.extraServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const extraId = action.data.id;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasUpdate,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n getInitModel(MODEL_TYPE.extraServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const categoryId = sectionModels[currentModelType].id;\n const category = restaurant.businessMenu.categories.find(f => f.id === categoryId);\n const extra = category.extras.find(f => f.id === action.data.id);\n let requestResult = null;\n\n if (extra.enabled !== action.data.enabled) {\n requestResult = yield call(\n businessMenuCategoryExtrasActive,\n restaurant.businessMenu.id,\n categoryId,\n action.data.id,\n { enabled: action.data.enabled }\n );\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: action.data.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const extraId = action.data.id;\n const categoryId = sectionModels[currentModelType].id;\n\n const requestResult = yield call(\n businessMenuCategoryExtraDelete,\n restaurant.businessMenu.id,\n categoryId,\n extraId\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasOptionUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const value = getInitModel(MODEL_TYPE.productOptionModel, action.data.value);\n const extraId = sectionModels[currentModelType].id;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n const option = action.data.item.options.find(f => f.id === action.data.value.id);\n let requestResult = null;\n\n if (option.enabled !== value.enabled) {\n requestResult = yield call(\n businessMenuCategoryExtrasOptionActivate,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n value.id,\n { enabled: value.enabled }\n );\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: value.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasOptionEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const params = getHistoryLocationParams(window.location.search);\n const extraId = params.subId;\n const categoryId = params.id;\n\n const requestResult =\n action.data.id || params.subToId\n ? yield call(\n businessMenuCategoryExtrasOptionUpdate,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n action.data.id || params.subToId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n : yield call(\n businessMenuCategoryExtrasOptionAdd,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasOptionDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const params = getHistoryLocationParams(window.location.search);\n const extraId = params.subId;\n const categoryId = params.id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasOptionDelete,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n action.data.id\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasOptionReorderSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const extraId = sectionModels[currentModelType].id;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasOptionReorder,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n action.data.items.map(item => ({ id: item.id, order: item.order }))\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { item, value } = action.data;\n const params = getHistoryLocationParams(window.location.search);\n const extraId = params.subId;\n const categoryId = sectionModels[currentModelType].model.parentUrl\n ? sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id\n : params.id;\n const suboption = item.suboptions.find(f => f.id === value.id);\n let requestResult = null;\n\n if (suboption.enabled !== value.enabled) {\n requestResult = yield call(\n businessMenuCategoryExtrasSuboptionActivate,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n item.id,\n value.id,\n { enabled: value.enabled }\n );\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: value.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuProductOverrideExtraSaga(action) {\n yield* createSaga(function*() {\n const { id, subToId} = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const businessId = restaurant.businessMenu && restaurant.businessMenu.id;\n\n const data = {\n name: action.data.name,\n description: action.data.description,\n };\n\n const isCategoryExtras = restaurant.businessMenu.categories.some(cat => cat?.extras.some(extra => extra.id === action.data.id))\n\n let requestResult = isCategoryExtras ? yield call(\n businessMenuCategoryExtrasUpdate,\n restaurant.businessMenu.id,\n id,\n subToId,\n getInitModel(MODEL_TYPE.extraServerModel, action.data)\n )\n :\n yield call(\n businessCategoryExtraEdit,\n data,\n businessId,\n subToId\n );\n\n yield put(setBusinessMenu(requestResult.data));\n }, action.type);\n}\n\nfunction* businessMenuProductOverrideOptionSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { subToId, id } = getHistoryLocationParams(window.location.search);\n\n const isCategoryExtras = restaurant.businessMenu.categories.some(cat => cat?.extras.some(extra => extra.id === subToId))\n\n const requestResult = isCategoryExtras ? yield call(\n businessMenuCategoryExtrasOptionUpdate,\n restaurant.businessMenu.id,\n id,\n subToId,\n action.data.id,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n ) :\n yield call(\n businessCategoryExtraOptionUpdate,\n restaurant.businessMenu.id,\n subToId,\n action.data.id || id,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuProductOverrideSuboptionSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { businessMenu } = yield select(getRestaurant);\n const { subToId, id, subId } = getHistoryLocationParams(window.location.search);\n\n const category = businessMenu && businessMenu.categories.find(c => c.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extras = mergeArrays(\n businessMenu.extras,\n mergeArrays(category && category.extras, product && product.extras)\n );\n const extra = extras && extras.find(el => el.id === subToId);\n const optionId = extra.options.find(el => el.suboptions.find(option => option.id === action.data.id)).id || ''\n\n const isCategoryExtras = restaurant.businessMenu.categories.some(cat => cat?.extras.some(extra => extra.id === subToId))\n\n const requestResult = isCategoryExtras ?\n yield call(\n businessMenuCategoryExtrasSuboptionUpdate,\n restaurant.businessMenu.id,\n id,\n subToId,\n optionId,\n action.data.id,\n getInitModel(MODEL_TYPE.extraSuboptionServerModel, action.data)\n ) :\n yield call(\n businessCategoryExtraSubOptionEdit,\n restaurant.businessMenu.id,\n subToId,\n optionId,\n action.data.id,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* menuTemplateOverrideExtraSaga(action) {\n yield* createSaga(function*(){\n const {id, subId, subToId} = getHistoryLocationParams(window.location.search);\n\n const find = getBusinessExtra(id, subId, subToId);\n\n if(find) {\n const overrides = prepareOverrideObject(action.data, find, find.overrides);\n find.overrides = overrides || [];\n }\n\n return yield;\n }, action.type);\n}\n\nfunction* menuTemplateOverrideOptionSaga(action) {\n yield* createSaga(function*(){\n const {id, subId, subToId} = getHistoryLocationParams(window.location.search);\n\n const objects = getBusinessExtra(id, subId, subToId);\n const find = (objects && objects.options).find(u => u.id === action.data.id);\n if(find) {\n const overrides = prepareOverrideObject(action.data, find, objects.overrides);\n objects.overrides = overrides || [];\n }\n return yield;\n }, action.type);\n}\n\nfunction* menuTemplateOverrideSuboptionSaga(action) {\n yield* createSaga(function*(){\n const {id, subId, subToId} = getHistoryLocationParams(window.location.search);\n\n const objects = getAllBusinessSuboption(id, subId, subToId);\n const objectWithOverride = getBusinessExtra(id, subId, subToId);\n const find = (objects || []).find(s => s.id === action.data.id);\n\n if(find) {\n const overrides = prepareOverrideObject(action.data, find, objectWithOverride.overrides);\n objectWithOverride.overrides = overrides || [];\n }\n return yield;\n }, action.type);\n}\n\nfunction* menuTemplateOverrideSuboptionDeleteSaga(action) {\n yield* createSaga(function*(){\n const {item, column, onPropChange} = action.data;\n const {id, subId, subToId} = getHistoryLocationParams(window.location.search);\n\n const objects = getAllBusinessSuboption(id, subId, subToId);\n const find = (objects || []).find(s => s.id === item.id);\n\n if(find) {\n onPropChange && onPropChange({\n [column.accessor]: find[column.accessor],\n overridesProperty: item.overridesProperty.filter(prop => prop !== column.accessor)\n });\n }\n return yield;\n }, action.type);\n}\n\nfunction* menuTemplateOverrideOptionDeleteSaga(action) {\n yield* createSaga(function*(){\n const {item, column, onPropChange} = action.data;\n const {id, subId, subToId} = getHistoryLocationParams(window.location.search);\n\n const objects = getBusinessExtra(id, subId, subToId);\n const find = (objects && objects.options).find(u => u.id === item.id);\n\n if(find) {\n onPropChange && onPropChange({\n [column.accessor]: find[column.accessor],\n overridesProperty: item.overridesProperty.filter(prop => prop !== column.accessor)\n });\n }\n return yield;\n }, action.type);\n}\n\nfunction* menuTemplateOverrideExtraDeleteSaga(action) {\n yield* createSaga(function*(){\n const {item, column, onPropChange} = action.data;\n const {id, subId} = getHistoryLocationParams(window.location.search);\n\n const objects = getBusinessProduct(id, subId);\n const find = (objects && objects.extras).find(u => u.id === item.id);\n\n if(find) {\n onPropChange && onPropChange({\n [column.accessor]: find[column.accessor],\n overridesProperty: item.overridesProperty.filter(prop => prop !== column.accessor)\n });\n }\n return yield;\n }, action.type);\n}\n\nfunction* parentMenuOverrideDeleteSaga(action) {\n yield* createSaga(function*(){\n const {item, column, onPropChange} = action.data;\n\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const objects = getAllEnabledOverrideDataFromMenu(parentMenu);\n const find = objects.find(u => u.id === item.id);\n\n if(find) {\n onPropChange && onPropChange({\n [column.accessor]: find[column.accessor],\n overridesProperty: item.overridesProperty.filter(prop => prop !== column.accessor)\n });\n\n }\n }, action.type);\n}\n\nfunction* businessMenuProductDeleteOverrideSaga(action) {\n yield* createSaga(function*() {\n const { item, column } = action.data;\n const { businessMenu } = yield select(getRestaurant);\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const category = businessMenu && businessMenu.categories.find(c => c.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extra = product && product.extras.find(c => c.id === subToId);\n\n extra.overrides = extra.overrides.filter(o => !(o.id === item.id && o.name === column.accessor));\n\n yield put(setBusinessMenu(businessMenu));\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionReorderSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const params = getHistoryLocationParams(window.location.search);\n const { currentModelType, sectionModels } = sectionModel;\n const optionId = action.data.item.id;\n const extraId = params.subId;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionReorder,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n action.data.items.map(item => ({ id: item.id, order: item.order }))\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const optionId = sectionModels[currentModelType].id || params.subToId;\n const extraId = params.subId;\n const categoryId = sectionModels[currentModelType].model.parentUrl\n ? sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id\n : params.id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionDelete,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n action.data.id\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const optionId = sectionModels[currentModelType].id || params.subToId;\n const extraId = params.subId;\n const categoryId = sectionModels[currentModelType].model.parentUrl\n ? sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id\n : params.id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionUpdate,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n action.data.id,\n getInitModel(MODEL_TYPE.extraSuboptionServerModel, action.data)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n if (isBase64Image(action.data.image) || isBase64Video(action.data.image)) {\n yield put(\n actionBusinessMenuCategoryExtrasSuboptionUpdateImage({\n businessId: restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n suboptionId: action.data.id,\n image: action.data.image,\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryDepotEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessId = restaurant.businessMenu.template_business_id\n\n const requestResult = yield call(\n businessMenuCategoryEdit,\n businessId,\n action.data.id,\n getInitModel(MODEL_TYPE.categoryServerModel, action.data)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasDepotEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const extraId = action.data.id;\n const parentId = restaurant?.parentMenu.categories.find(cat => cat.extras.find(ex => ex.id === extraId)).id\n const businessId = restaurant.businessMenu.template_business_id\n\n const requestResult = yield call(\n businessMenuCategoryExtrasUpdate,\n businessId,\n parentId,\n extraId,\n getInitModel(MODEL_TYPE.extraServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductDepotEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const productId = action.data.id;\n const parentId = restaurant?.parentMenu.categories.find(cat => cat.products.find(ex => ex.id === productId)).id\n\n\n const businessId = restaurant.businessMenu.template_business_id\n\n const requestResult = yield call(\n businessMenuCategoryProductEdit,\n businessId,\n parentId,\n productId,\n getInitModel(MODEL_TYPE.categoryProductServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasOptionDepotEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const optionId = action.data.id\n const category = restaurant?.parentMenu.categories.find(cat => cat.extras.find(ex => ex.options.find(op => op.id === optionId)))\n const extraId = category.extras.find(ex => ex.options.find(op => op.id === optionId)).id\n const businessId = restaurant.businessMenu.template_business_id\n const categoryId = category.id\n\n const requestResult = yield call(\n businessMenuCategoryExtrasOptionUpdate,\n businessId,\n categoryId,\n extraId,\n optionId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionEditDepotSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const suboptionId = action.data.id\n const category = restaurant?.parentMenu.categories.find(cat => cat.extras.find(ex => ex.options.find(op => op.suboptions.find(subop => subop.id === suboptionId))))\n const extra = category.extras.find(ex => ex.options.find(op => op.suboptions.find(subop => subop.id === suboptionId)))\n const option = extra.options.find(op => op.suboptions.find(subop => subop.id === suboptionId))\n const businessId = restaurant.businessMenu.template_business_id\n const categoryId = category.id\n const extraId = extra.id\n const optionId = option.id\n\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionUpdate,\n businessId,\n categoryId,\n extraId,\n optionId,\n suboptionId,\n getInitModel(MODEL_TYPE.extraSuboptionServerModel, action.data)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryExtrasSuboptionAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const optionId = sectionModels[currentModelType].id || params.subToId;\n const extraId = params.subId;\n const categoryId = sectionModels[currentModelType].model.parentUrl\n ? sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id\n : params.id;\n\n const requestResult = yield call(\n businessMenuCategoryExtrasSuboptionAdd,\n restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n getInitModel(MODEL_TYPE.extraSuboptionServerModel, action.data)\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const getAllSuboptions = (businessMenu) => {\n return businessMenu.categories\n ?.find(c => c.id === categoryId)?.extras\n ?.find(e => e.id === extraId)?.options\n ?.find(o => o.id === optionId)?.suboptions || [];\n }\n yield put(setBusinessMenu(requestResult.data));\n const newSuboptions = getAllSuboptions(requestResult.data);\n const oldSuboptions = getAllSuboptions(restaurant.businessMenu).map(o => o.id);\n const uniqueItems = newSuboptions.filter(n => !oldSuboptions.includes(n.id));\n\n if ((isBase64Image(action.data.image) || isBase64Video(action.data.image)) && uniqueItems.length === 1) {\n yield put(\n actionBusinessMenuCategoryExtrasSuboptionUpdateImage({\n businessId: restaurant.businessMenu.id,\n categoryId,\n extraId,\n optionId,\n suboptionId: uniqueItems[0].id,\n image: action.data.image,\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductIngredientEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const productId = action.data.id;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id;\n\n const requestResult = yield call(\n businessMenuCategoryProductEdit,\n restaurant.businessMenu.id,\n categoryId,\n productId,\n getInitModel(MODEL_TYPE.categoryProductServerModel, {\n ...action.data,\n ingredients: action.data.ingredients.map(ingredient => ({\n ...ingredient,\n id: ingredient.id.includes('NewValue') ? '' : ingredient.id,\n })),\n })\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductIngredientReorderSaga(action) {\n yield* createSaga(function*() {\n const params = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const categoryId = sectionModels[sectionModels[currentModelType].model.parentUrl].id || params.id;\n\n const requestResult = yield call(\n businessMenuCategoryProductIngredientReorder,\n restaurant.businessMenu.id,\n categoryId,\n action.data.item.id,\n action.data.items.map(item => ({ Id: item.id, Order: item.order }))\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductIngredientUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { item, value } = action.data;\n const { id } = getHistoryLocationParams(window.location.search);\n const productId = item.id;\n const category = restaurant.businessMenu.categories.find(f => f.id === id);\n const product = category.products.find(f => f.id === productId);\n let requestResult = null;\n\n if (value.id.includes('NewValue')) {\n requestResult = yield call(\n businessMenuCategoryProductIngredientAdd,\n restaurant.businessMenu.id,\n id,\n productId,\n { Name: value.name, Order: product.ingredients.length }\n );\n } else {\n requestResult = yield call(\n businessMenuCategoryProductIngredientUpdate,\n restaurant.businessMenu.id,\n id,\n productId,\n value.id,\n { Name: value.name, Order: value.order || 0 }\n );\n }\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuCategoryProductIngredientDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { id, subId } = getHistoryLocationParams(window.location.search);\n\n const requestResult = yield call(\n businessMenuCategoryProductIngredientDelete,\n restaurant.businessMenu.id,\n id,\n subId,\n action.data.id\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotDefaultRegionControlCenterEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const depot = restaurant.depots.find(f => f.id === parentId);\n\n const requestResult = yield call(\n id ? depotDefaultRegionControlCenterUpdate : depotDefaultRegionControlCenterAdd,\n parentId,\n objectKeysToUpperLowerCase(action.data, true)\n );\n if (requestResult && requestResult.status === 200) {\n if (requestResult.data) {\n yield put(\n actionDepotEdit({\n id: parentId,\n depotControlCenter: mergeArrays(depot.depotControlCenter, [\n objectKeysToUpperLowerCase(requestResult.data),\n ]),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotDefaultRegionControlCenterDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { id } = getHistoryLocationParams(window.location.search);\n const depot = restaurant.depots.find(f => f.id === id);\n\n const requestResult = yield call(depotDefaultRegionControlCenterDelete, id, action.data.id);\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionDepotEdit({\n id,\n depotControlCenter: (depot.depotControlCenter || []).filter(f => f.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* businessMenuEditGallerySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const requestResult = yield call(businessGalleryEdit, restaurant.businessMenu.id, action.data.id, action.data);\n\n if (requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n\n if (action.data.file && (isBase64Image(action.data.file) || isBase64Video(action.data.file))) {\n const requestResultWithBanner = yield call(\n setBusinessGalleryImageBase64,\n restaurant.businessMenu.id,\n action.data.id,\n dataURItoBlob(action.data.file),\n isBase64Video(action.data.file)\n );\n\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(setBusinessMenu(requestResultWithBanner.data));\n }\n }\n }\n }, action.type);\n}\n\nfunction* businessMenuAddGallerySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(businessGalleryAdd, restaurant.businessMenu.id, action.data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n\n const oldIds = restaurant.businessMenu.gallery && restaurant.businessMenu.gallery.map(el => el.id);\n const newId = requestResult.data.gallery.filter(el => !oldIds.includes(el.id));\n\n if (action.data.file && isBase64Image(action.data.file)) {\n const requestResultWithBanner = yield call(\n setBusinessGalleryImageBase64,\n restaurant.businessMenu.id,\n newId && newId[0].id,\n dataURItoBlob(action.data.file)\n );\n\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(setBusinessMenu(requestResultWithBanner.data));\n }\n }\n\n if (action.data.file && isBase64Video(action.data.file)) {\n const requestResultWithBanner = yield call(\n setBusinessGalleryImageBase64,\n restaurant.businessMenu.id,\n newId && newId[0].id,\n dataURItoBlob(action.data.file),\n true\n );\n\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(setBusinessMenu(requestResultWithBanner.data));\n }\n }\n }\n }, action.type);\n}\n\nfunction* businessMenuDeleteGallerySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const requestResult = yield call(businessGalleryDelete, restaurant.businessMenu.id, action.data.id);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* businessMenuReorderGallerySaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(businessGalleryReorder, restaurant.businessMenu.id, data);\n\n if (requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* depotDefaultRegionControlCenterGetSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id.replace('?id=', '');\n const requestResult = yield call(depotDefaultRegionControlCenterGet, id);\n\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionDepotEdit({ id, depotControlCenter: objectKeysToUpperLowerCase(requestResult.data || []) })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getSettingsOffersSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getBusinessOffer);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(actionRestaurantUpdate({ offers: objectKeysToUpperLowerCase(requestResult.data) || [] }));\n yield put(createAction(MENU_TEMPLATE_GET));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getSettingsOffersEditSaga(action) {\n yield* createSaga(function*() {\n const { start, end, limit, minimum, enable_schedule, schedule } = action.data;\n const d1 = start && new Date(start);\n const d2 = end && new Date(end);\n\n if (isSameObjects(d1, d2)) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_DATE_ERROR'));\n }\n\n if (limit && minimum && limit <= minimum) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_LIMIT_ERROR'));\n }\n\n const hasItemLapses = schedule?.filter(item => item?.lapses?.length)?.length\n if(enable_schedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }\n\n const requestResult = yield call(updateBusinessOffer, action.data);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n offers: restaurant.offers.map(offer =>\n offer.id === action.data.id\n ? objectKeysToUpperLowerCase(requestResult.data) || action.data\n : offer\n ),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getSettingsOffersAddSaga(action) {\n yield* createSaga(function*() {\n const { start, end, limit, minimum, schedule, enable_schedule } = action.data;\n const d1 = start && new Date(start);\n const d2 = end && new Date(end);\n\n if (isSameObjects(d1, d2)) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_DATE_ERROR'));\n }\n\n if (limit && minimum && limit <= minimum) {\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_LIMIT_ERROR'));\n }\n\n const hasItemLapses = schedule?.filter(item => item?.lapses?.length)?.length\n if(enable_schedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }\n\n const requestResult = yield call(addBusinessOffer, action.data);\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n offers: restaurant.offers.concat(objectKeysToUpperLowerCase(requestResult.data)),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getSettingsOffersDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteBusinessOffer, action.data.id);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n offers: restaurant.offers.filter(offer => offer.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* setActivateModelSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(setActivateModel, action.data.businessId, action.data.flags);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.businessId === action.data.businessId);\n yield put(actionDepotEdit({ ...depot, businessMenu: { ...depot.businessMenu, ...requestResult.data } }));\n yield put(actionRestaurantUpdate({ consumerOrderMenu: requestResult.data }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* searchShortcutAddSettingsSaga(action) {\n yield* createSaga(function*() {\n if (action.data.name) {\n const requestResult = yield call(addSearchShortcut, action.data.name);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n searchShortcuts: (restaurant.configuration.searchShortcuts || []).concat([\n action.data.name,\n ]),\n },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData('Empty');\n }\n }, action.type);\n}\n\nfunction* searchShortcutDeleteSettingsSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const shortcut = (restaurant.configuration.searchShortcuts || [])[action.data.id];\n const requestResult = yield call(deleteSearchShortcut, shortcut);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n configuration: {\n ...restaurant.configuration,\n searchShortcuts: (restaurant.configuration.searchShortcuts || []).filter(\n searchShortcut => searchShortcut !== shortcut\n ),\n },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotServicesRefreshSaga(action) {\n yield* createSaga(function*() {\n const data = objectKeysToUpperLowerCase(action.data);\n\n if (data && Array.isArray(data)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n depots: data,\n })\n );\n }\n }, action.type);\n}\n\nfunction* giftCardGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(giftCardGet);\n\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n if (data) {\n let giftCard = { ...data };\n\n if (giftCard.businessId) {\n const requestResultBusinessMenu = yield call(getBusinessMenu, giftCard.businessId);\n if (requestResultBusinessMenu && requestResultBusinessMenu.status === 200) {\n const businessMenu = objectKeysToUpperLowerCase(requestResultBusinessMenu.data) || {};\n giftCard.businessMenu = businessMenu;\n }\n }\n\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, giftCard }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* giftCardProductAddSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const category = ((giftCard.businessMenu || {}).categories || [])[0];\n\n if (giftCard.businessId && category) {\n const requestResult = yield call(\n businessMenuCategoryProductAdd,\n giftCard.businessId,\n category.id,\n getInitModel(MODEL_TYPE.categoryProductServerModel, action.data)\n );\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n const oldGiftCardProducts = giftCard.businessMenu.categories[0].products\n const newGiftCardProducts = data.categories[0].products\n const newProduct = newGiftCardProducts.find(product => !oldGiftCardProducts.some(el => el.id === product.id))\n if (data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...giftCard, businessMenu: data },\n })\n );\n if (isBase64Image(action.data.images) || isBase64Video(action.data.images)) {\n yield put(\n actionSetGiftCardProductAvatar({ productId: newProduct.id, image: action.data.images })\n );\n }\n } else {\n return new ErrorData('No data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* giftCardProductEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const category = ((giftCard.businessMenu || {}).categories || [])[0];\n\n if (giftCard.businessId && category && action.data.id) {\n const requestResult = yield call(\n businessMenuCategoryProductEdit,\n giftCard.businessId,\n category.id,\n action.data.id,\n getInitModel(MODEL_TYPE.categoryProductServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n if (data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...giftCard, businessMenu: data },\n })\n );\n\n if (isBase64Image(action.data.images) || isBase64Video(action.data.image)) {\n yield put(\n actionSetGiftCardProductAvatar({ productId: action.data.id, image: action.data.images })\n );\n }\n } else {\n return new ErrorData('No data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* giftCardEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const data = getInitModel(MODEL_TYPE.businessInfoServerModel, action.data);\n\n if (giftCard.enabled !== action.data.enabled) {\n const requestResultCiftCardEnable = yield call(giftCardEnable, action.data.enabled);\n if (requestResultCiftCardEnable && requestResultCiftCardEnable.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResultCiftCardEnable.data);\n if (data) {\n yield put(actionRestaurantUpdate({ ...restaurant, giftCard: { ...giftCard, ...data } }));\n }\n }\n }\n\n const requestResult = yield call(updateBusinessMenuInfo, giftCard.businessId, data);\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...giftCard, businessMenu: data },\n })\n );\n\n if (giftCard.businessMenu.header !== action.data.header && (isBase64Image(action.data.header) || isBase64Video(action.data.header))) {\n yield put(actionSetGiftCardBusinessMenuAvatar({ image: action.data.header }));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* giftCardProductDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const category = ((giftCard.businessMenu || {}).categories || [])[0];\n const productId = action.data.id;\n\n const requestResult = yield call(\n businessMenuCategoryProductDelete,\n giftCard.businessId,\n category.id,\n productId\n );\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...giftCard, businessMenu: data },\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* giftCardProductUpdateSaga(action) {\n yield* createSaga(function*() {\n const { item, value } = action.data;\n const restaurant = yield select(getRestaurant);\n const businessId = item.id;\n const categoryId = restaurant.giftCard.businessMenu.categories[0].id;\n const productId = value.id;\n const requestResult = yield call(businessMenuCategoryProductActivate, businessId, categoryId, productId, {\n enabled: value.enabled,\n });\n\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...restaurant.giftCard, businessMenu: data },\n })\n );\n } else {\n return new ErrorData('No data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* giftCardProductDragUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const category = ((giftCard.businessMenu || {}).categories || [])[0];\n const data = action.data.items.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(businessMenuCategoryProductsReorder, giftCard.businessId, category.id, data);\n\n if (requestResult && requestResult.status === 200) {\n const businessMenu = objectKeysToUpperLowerCase(requestResult.data);\n if (businessMenu) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...restaurant.giftCard, businessMenu },\n })\n );\n } else {\n return new ErrorData('No data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* giftCardProductUpdateAvatarSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const category = ((giftCard.businessMenu || {}).categories || [])[0];\n const { productId, image } = action.data;\n\n if (giftCard.businessMenu && giftCard.businessMenu.id) {\n const requestResult = yield call(\n updateBusinessMenuCategoryProductAvatar,\n giftCard.businessMenu.id,\n category.id,\n productId,\n dataURItoBlob(image),\n isBase64Video(image)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n giftCard: { ...giftCard, businessMenu: objectKeysToUpperLowerCase(requestResult.data) },\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* setGiftCardBusinessMenuHeaderSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const giftCard = restaurant.giftCard || {};\n const { image } = action.data;\n\n const requestResult = yield call(\n updateBusinessMenuHeaderAvatar,\n giftCard.businessId,\n dataURItoBlob(image),\n isBase64Video(image)\n );\n if (requestResult && requestResult.status === 200) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionRestaurantUpdate({ ...restaurant, giftCard: { ...giftCard, businessMenu: data } }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getReferralSettingsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getReferralSettings);\n\n if (requestResult.status === 200) {\n const referral = objectKeysToUpperLowerCase(requestResult.data);\n\n if (referral) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, referral }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getLoyaltySettingsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getLoyaltySettings);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data);\n\n if (loyaltySettings) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editLoyaltySettingsRegisterVoucherSaga(action) {\n yield* createSaga(function*() {\n const {restaurant, loyaltySettings} = yield select(getRestaurant);\n const voucher = action.data.bonus_info\n ? getInitModel(MODEL_TYPE.loyaltyRegisterVoucherServerModel, action.data.bonus_info)\n : getInitModel(MODEL_TYPE.loyaltyRegisterVoucherServerModel, {...getInitModel(MODEL_TYPE.loyaltyRegisterVoucher, loyaltySettings), bonus: 0});\n const requestResult = yield call(editLoyaltySettingsRegisterVoucher, voucher);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data);\n\n if (loyaltySettings) {\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editLoyaltySettingsCashbackSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(editLoyaltySettingsCashback, {...action.data, spendBonusPercent: action.data.spendBonusPercent / 100});\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data);\n\n if (loyaltySettings) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateReferralSettingsSaga(action) {\n yield* createSaga(function*() {\n const logo = action.data.logo;\n delete action.data.logo;\n\n const requestResult = yield call(updateReferralSettings, objectKeysToUpperLowerCase(action.data, true));\n if (requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, referral: action.data }));\n\n if(logo && (isBase64Image(logo) || isBase64Video(logo))) {\n yield call(updateReferralLogoSettings, dataURItoBlob(logo), isBase64Video(logo));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getDriverTipSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getDriverTip);\n\n if (requestResult.status === 200) {\n const driverTip = objectKeysToUpperLowerCase(requestResult.data);\n\n if (driverTip) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, driverTip }));\n } else {\n return new ErrorData('Empty data');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateDriverTipSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateDriverTip, action.data);\n if (requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, driverTip: action.data }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotPriceSettingApplyToSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id.replace('?id=', '');\n let restaurant = yield select(getRestaurant);\n let currentDepot = restaurant.depots.find(f => f.id === id);\n\n if (currentDepot && currentDepot.price) {\n const depotsToApplyConfiguration = action.data.depots\n .filter(depot => depot.selected)\n .map(depot => ({\n id: depot.id,\n configuration: getInitModel(MODEL_TYPE.depotDeliveryPriceServerModel, currentDepot.price),\n }));\n\n if (depotsToApplyConfiguration.length) {\n const apiCalls = {};\n depotsToApplyConfiguration.forEach(depot => {\n apiCalls[depot.id] = call(setDepotDeliveryPrice, depot.id, depot.configuration);\n });\n\n const apiCallResults = yield all(apiCalls);\n if (someObject(apiCallResults, result => result.status && result.status !== 200)) {\n return new ErrorData('Error save depot price configuration');\n }\n }\n } else {\n return new ErrorData('Error');\n }\n }, action.type);\n}\n\nfunction* getCourierShipmentSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getShipmentPriceSettings);\n if (requestResult && requestResult.status === 200) {\n const shipmentPriceSettings = objectKeysToUpperLowerCase(requestResult.data);\n if (shipmentPriceSettings) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, shipmentPriceSettings }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getCourierShipmentTemplateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getShipmentPriceSettingsTemplate);\n if (requestResult && requestResult.status === 200) {\n const templateSettings = objectKeysToUpperLowerCase(requestResult.data);\n if (templateSettings) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, shipmentTemplateSettings: templateSettings }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteCourierShipmentTemplateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteShipmentPriceSettingsTemplate, action.data.id);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const shipmentTemplateSettings = restaurant.shipmentTemplateSettings || [];\n yield put(actionRestaurantUpdate({ ...restaurant, shipmentTemplateSettings: shipmentTemplateSettings.filter(template => template.id !== action.data.id) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getListPromotionSettingsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getListPromotion);\n if (requestResultIsOk(requestResult)) {\n const listPromotion = objectKeysToUpperLowerCase(requestResult.data);\n if (listPromotion) {\n const restaurant = yield select(getRestaurant);\n yield put(actionGetMessagesData());\n yield put(actionGetBusinessCategories());\n yield put(actionRestaurantUpdate({ ...restaurant, listPromotion }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* courierShipmentEditSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.courierDeliveryFeesServer, action.data);\n const requestResult = yield call(setShipmentPriceSettings, data);\n if (requestResult && requestResult.status === 200) {\n const requestResult = yield call(getShipmentPriceSettings);\n const shipmentPriceSettings = objectKeysToUpperLowerCase(requestResult.data);\n if (shipmentPriceSettings) {\n const restaurant = yield select(getRestaurant);\n yield put(actionRestaurantUpdate({ ...restaurant, shipmentPriceSettings }));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* courierShipmentTemplateEditSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.courierDeliveryFeesServer, action.data);\n const requestResult = yield call(editShipmentPriceSettingsTemplate, action.data.id, data);\n if (requestResult && requestResult.status === 200) {\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* courierShipmentTemplateAddSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.courierDeliveryFeesServer, action.data);\n const requestResult = yield call(setShipmentPriceSettingsTemplate, data);\n if (requestResult && requestResult.status === 200) {\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesGetSaga(action) {\n yield* createSaga(function*() {\n yield put(actionGetOperationTiming());\n\n const requestResult = yield call(getRestaurantDeliveryZones);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n const deliveryZones = objectKeysToUpperLowerCase(requestResult.data) || [];\n yield put(actionRestaurantUpdate({ ...restaurant, deliveryZones }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* addListPromotionSettingsSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.listPromotionServerModel, action.data);\n const requestResult = yield call(listPromotionAdd, data);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({ ...restaurant, listPromotion: restaurant.listPromotion.concat(data) })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesAddSaga(action) {\n yield* createSaga(function*() {\n const data = getDeliveryZoneData(action.data);\n const requestResult = yield call(addRestaurantDeliveryZones, data);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data) || action.data;\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n deliveryZones: restaurant.deliveryZones.map(deliveryZone =>\n deliveryZone.id === data.id ? data : deliveryZone\n ),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editListPromotionSettingsSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.listPromotionServerModel, action.data);\n const requestResult = yield call(listPromotionUpdate, action.data.id, data);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n if (data) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n listPromotion: restaurant.listPromotion.map(m => (m.id === data.id ? data : m)),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesEditSaga(action) {\n yield* createSaga(function*() {\n const data = getDeliveryZoneData(action.data);\n const requestResult = yield call(updateRestaurantDeliveryZones, data);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data) || action.data;\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n deliveryZones: restaurant.deliveryZones.map(deliveryZone =>\n deliveryZone.id === data.id ? data : deliveryZone\n ),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesGlobalEditResetSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const body = {\n price: action?.data?.price || 0,\n override_delivery_zone_reference_price: false,\n }\n const requestResult = yield call(updateRestaurantDeliveryZonesGlobalPrice, restaurant.businessMenu.id, action.data.id, body);\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n businessMenu: requestResult.data\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesGlobalEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const {id} = getHistoryLocationParams(window.location.search);\n const body = {\n price: action.data.price,\n override_delivery_zone_reference_price: true,\n }\n\n const requestResult = yield call(updateRestaurantDeliveryZonesGlobalPrice, restaurant.businessMenu.id, id, body);\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n businessMenu: requestResult.data\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteListPromotionSettingsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(listPromotionDelete, action.data.id);\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n listPromotion: restaurant.listPromotion.filter(f => f.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZoneDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteRestaurantDeliveryZone, action.data.id);\n if (requestResult && requestResult.status === 200) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n deliveryZones: restaurant.deliveryZones.filter(deliveryZone => deliveryZone.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* dragListPromotionSettingsSaga(action) {\n yield* createSaga(function*() {\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(listPromotionReorder, data);\n\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n listPromotion: action.data.data,\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getMarketplaceCampaign);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n const newCampaigns = requestResult.data.map(item => marketplaceCampaignClientModel(item))\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: mergeArrays(restaurant?.campaigns, newCampaigns || [])\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsAudienceFilterCountGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getMarketplaceCampaignAudienceFilterCount, action.data);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n return requestResult.data\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsToggleEnabledSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(toggleActivateMarketplaceCampaign, { campaignId: action?.data?.id, data: action?.data});\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: restaurant.campaigns.map(item => {\n if(item.id === action.data?.id) {\n return {\n ...item,\n enabled: requestResult.data?.enabled\n }\n } else {\n return item\n }\n }),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* executeCompaingSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(executeCompaings, action?.data?.id);\n if (requestResultIsOk(requestResult)) {\n\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsAddSaga(action) {\n yield* createSaga(function*() {\n const newCampaign = marketplaceCampaignServerModel(action.data)\n const requestResult = yield call(addMarketplaceCampaign, newCampaign)\n\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n const newCampaign = marketplaceCampaignClientModel(requestResult.data)\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: mergeArrays(restaurant?.campaigns || [], [newCampaign]),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteMarketplaceCampaign, action.data.id);\n\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: restaurant.campaigns.filter(c => c.id !== action.data.id),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* serviceLoyaltyCampaignsEditSaga(action) {\n yield* createSaga(function*() {\n const campaign = marketplaceCampaignServerModel(action.data)\n const requestResult = yield call(editMarketplaceCampaign, { campaignId: campaign?.id, campaign })\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n const newCampaign = marketplaceCampaignClientModel(requestResult.data)\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: restaurant.campaigns.map(item => {\n if(item.id === campaign.id) {\n return {\n ...campaign,\n ...newCampaign\n }\n } else {\n return item\n }\n }),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsExecutionsGetSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(getMarketplaceCampaignExecutions, id);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n let newCampaigns = []\n\n if(!restaurant?.campaigns) {\n const requestResult = yield call(getMarketplaceCampaign);\n if (requestResultIsOk(requestResult)) {\n newCampaigns = requestResult.data.map(item => marketplaceCampaignClientModel(item))\n }\n }\n\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: mergeArrays(restaurant?.campaigns, newCampaigns)?.map(item => {\n if (item?.id === id) {\n return {\n ...item,\n executions: requestResult.data || []\n }\n } else {\n return item\n }\n })\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsExecutionsUpdateByIdSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n const executionId = action?.data?.id\n const requestResult = yield call(updateMarketplaceCampaignExecutionById, {campaignId: id, executionId });\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n // find campaign\n let newCampaign = restaurant.campaigns?.find(campaign => campaign?.id === id)\n\n // save new execution\n newCampaign = {\n ...newCampaign,\n executions: newCampaign?.executions?.map(execution => execution?.id === executionId ? requestResult?.data : execution)\n }\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: mergeArrays(restaurant.campaigns, [newCampaign])\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceLoyaltyCampaignsExecutionsCreateSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n const { selectedItems, item } = action?.data || {}\n const executionsModel = marketplaceCampaignExecutionsModel({ ...item, audience: selectedItems })\n\n const requestResult = yield call(createMarketplaceCampaignExecutions, { campaignId: id, data: executionsModel });\n\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n // find campaign\n let newCampaign = restaurant.campaigns?.find(campaign => campaign?.id === id)\n\n // save new execution\n newCampaign = {\n ...newCampaign,\n executions: mergeArrays(newCampaign?.executions || [], [requestResult?.data])\n }\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n campaigns: mergeArrays(restaurant.campaigns, [newCampaign])\n })\n );\n return requestResult?.data || []\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceFeeGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getServiceFee);\n if (requestResultIsOk(requestResult)) {\n if (requestResult.data) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n serviceFee: objectKeysToUpperLowerCase(requestResult.data),\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* serviceFeeEditSaga(action) {\n yield* createSaga(function*() {\n const data = getInitModel(MODEL_TYPE.serviceFeeServerModel, action.data)\n const requestResult = yield call(setServiceFee, data);\n if (requestResultIsOk(requestResult)) {\n const restaurant = yield select(getRestaurant);\n yield put(\n actionRestaurantUpdate({\n ...restaurant,\n serviceFee: objectKeysToUpperLowerCase(data),\n })\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessId = restaurant.businessMenu.id;\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id;\n const { isMarkerplace, enabled, isGlobalZone, zoneIdReference, ...body } = action.data;\n\n let requestResult;\n\n if (id && isGlobalZone) {\n if (action.data.enabledZone) {\n requestResult = yield call(setDeliveryZone, businessId, body);\n } else {\n requestResult = yield call(deleteDeliveryZone, businessId, action.data.id);\n }\n } else if (id && isMarkerplace && !isGlobalZone) {\n requestResult = yield call(updateOrderingMenuDeliveryZone, id, action.data.id, { enabled });\n }\n\n if (requestResult && requestResult.status === 200) {\n const businessMenu = objectKeysToUpperLowerCase(requestResult.data);\n if (businessMenu) {\n yield put(setBusinessMenu(businessMenu));\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deliveryZonesUpdateEnableSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const businessId = restaurant.businessMenu.id;\n const { enabled, id } = action.data;\n const requestResult = yield call(updateEnableDeliveryZone, businessId, id, enabled);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* marketDeliveryZonesUpdateSaga(action) {\n yield* createSaga(function*() {\n const { id, enabled } = action.data;\n const requestResult = yield call(restaurantDeliveryZoneActivate, id, { enabled });\n if (requestResultIsOk(requestResult)) {\n yield put(\n actionUpdateRestaurantDeliveryZone(objectKeysToUpperLowerCase(requestResult.data) || action.data)\n );\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotIntegrationsGetSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { parentId } = getHistoryLocationParams(window.location.search);\n const id = (sectionModels[currentModelType].id || parentId).replace('?id=', '');\n\n if (id) {\n const requestResult = yield call(getDepotIntegrations, id);\n if (requestResultIsOk(requestResult)) {\n yield put(actionDepotEdit({ id, integrations: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* depotIntegrationUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const { parentId } = getHistoryLocationParams(window.location.search);\n const id = (sectionModels[currentModelType].id || parentId).replace('?id=', '');\n\n if (id) {\n const body = {\n SourceId: action.data.sourceId,\n Enabled: action.data.enabled,\n }\n\n const requestResult = yield call(updateDepotIntegration, id, body);\n if (requestResultIsOk(requestResult)) {\n const integrations = (restaurant.depots.find(d => d.id === id) || {}).integrations || [];\n const integration = integrations.find(inegr => inegr.sourceId === action.data.sourceId);\n integration.enabled = action.data.enabled;\n yield put(actionDepotEdit({ id, integrations: integrations }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* depotIntegrationsAddSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id.replace('?id=', '');\n const { integrationType } = action.data;\n\n if (integrationType) {\n if (integrationType === INTEGRATION_TYPE.squareUp) {\n yield depotSquareAssociatedLocationCheckSaga({ data: { id } });\n } else {\n const requestResult = yield call(addDepotIntegration, id, action.data);\n\n if (requestResult.status === 200 && requestResult.data) {\n yield put(actionDepotEdit({ id, integrations: objectKeysToUpperLowerCase(requestResult.data) }));\n }\n }\n }\n }, action.type);\n}\n\nfunction* depotIntegrationsEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const {parentId} = getHistoryLocationParams(window.location.search);\n\n const requestResult = yield call(\n editDepotIntegration,\n parentId,\n objectKeysToUpperLowerCase(\n getInitModel(MODEL_TYPE.depotIntegrationServerModel, action.data),\n true\n )\n );\n\n if (requestResult.status === 200 && requestResult.data) {\n const response = objectKeysToUpperLowerCase(requestResult.data);\n const depot = restaurant.depots.find(d => d.id === parentId);\n yield put(actionDepotEdit({\n id: parentId,\n integrations: depot.integrations.map(integration =>\n integration.sourceId === action.data.sourceId ? response : integration\n )\n }));\n }\n }, action.type);\n}\n\nfunction* depotIntegrationsDeleteSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n const locationId = action.data.id;\n const restaurant = yield select(getRestaurant);\n const depot = restaurant.depots.find(f => f.id === id);\n const integrationLocation = ((depot && depot.integrations) || []).find(f => f.sourceId === locationId) || {};\n\n if (id && locationId && integrationLocation.integrationType) {\n if (integrationLocation.integrationType === INTEGRATION_TYPE.squareUp) {\n const requestResult = yield call(removeDepotSquareLocation, id, locationId);\n if (requestResultIsOk(requestResult)) {\n yield put(\n actionDepotEdit({\n ...depot,\n integrations: depot.integrations.filter(f => f.sourceId !== locationId),\n })\n );\n }\n }\n }\n }, action.type);\n}\n\nfunction* getMenuTemplateSaga(action) {\n yield* createSaga(function*() {\n const apiCalls = {\n templates: call(getMenuTemplate),\n globalTemplates: call(getGlobalMenuTemplate),\n };\n const apiCallResults = yield all(apiCalls);\n\n if(requestResultIsOk(apiCallResults.templates)) {\n yield put(setMenuTemplatesAC(objectKeysToUpperLowerCase(apiCallResults.templates.data)));\n }\n if(requestResultIsOk(apiCallResults.globalTemplates)) {\n yield put(setGlobalMenuTemplates(objectKeysToUpperLowerCase(apiCallResults.globalTemplates.data)));\n }\n }, action.type);\n}\n\nfunction* deleteMenuTemplateSaga(action) {\n yield* createSaga(function*() {\n const { item } = action.data || {};\n const id = (item || {}).id;\n\n if(id) {\n const requestResult = yield call(deleteMenuTemplate, id);\n if (requestResultIsOk(requestResult)) {\n yield put(deleteMenuTemplateAC(id));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n return new ErrorData(\"Error\");\n }\n }, action.type);\n}\nfunction* addMenuTemplateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(addMenuTemplate, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(addMenuTemplateAC(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nfunction* updateMenuTemplateSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateMenuTemplate, action.data.id, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(updateMenuTemplateAC(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getBusinessParentMenuSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n let requestResult = null;\n let requestBusinessMenu = null;\n const { id } = getHistoryLocationParams(window.location.search);\n\n // fix when opened tabs is parentMenu and without businessMenu\n if (restaurant && !restaurant.businessMenu) {\n requestBusinessMenu = yield call(getBusinessMenu, id, true);\n }\n if (requestBusinessMenu && requestBusinessMenu.status === 200) {\n yield put(setBusinessMenu(requestBusinessMenu.data));\n }\n\n const businessTemplateId =\n (restaurant && restaurant.businessMenu && restaurant.businessMenu.template_business_id) ||\n (requestBusinessMenu && requestBusinessMenu.data && requestBusinessMenu.data.template_business_id);\n\n if (businessTemplateId) {\n requestResult = yield call(getBusinessMenu, businessTemplateId, true);\n }\n\n if (requestResult && requestResult.status === 200) {\n yield put(setParentBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* overrideMenuSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const overrides = (restaurant.businessMenu && restaurant.businessMenu.overrides) || [];\n const hasOverride = overrides.find(f => f.object_id === action.data.id);\n let requestResult = null;\n\n const data = {\n enabled: action.data.enabled,\n };\n\n if (!hasOverride) {\n requestResult = yield call(createOverrideMenu, restaurant.businessMenu.id, action.data.id, data);\n }\n\n if (hasOverride) {\n requestResult = yield call(updateOverrideMenu, restaurant.businessMenu.id, action.data.id, data);\n }\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getOrderingMenuExtraSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n\n if (restaurant.businessMenu && restaurant.businessMenu.id) {\n const requestResult = yield call(getBusinessMenu, restaurant.businessMenu.id);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const businessMenu = objectKeysToUpperLowerCase(requestResult.data);\n if(businessMenu?.logo) {\n const requestResultAvatar = yield call(fetchMarkerAvatarBase64, businessMenu.logo, true);\n\n if(requestResultIsOk(requestResultAvatar)) {\n yield put(setBusinessMenu({ ...businessMenu, avatar: requestResultAvatar.data }));\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* depotSquareAssociatedLocationCheckSaga(action) {\n yield* createSaga(function*() {\n const { id, isSecondTime } = action.data || {};\n const depotId = id || getDepotModeId();\n const requestResult = yield call(getDepotSquareLocations, depotId);\n\n if (requestResultIsOk(requestResult)) {\n yield put(actionGlobalPortalDataUpdate({ globalIFrameUrl: null }));\n yield put(\n actionDepotEdit({\n id: depotId,\n squareAssociatedLocations: objectKeysToUpperLowerCase(requestResult.data),\n })\n );\n Store.history.push(TYPE_SECTION_MODEL.depotSquareAssociatedLocation + '?id=' + depotId);\n } else {\n if (checkRequestResultStatus(requestResult, 401) && !isSecondTime) {\n const res = yield call(generateDepotAuthorizationUrl, depotId);\n if (requestResultIsOk(res, true)) {\n if (res.data.Url) {\n yield put(\n actionGlobalPortalDataUpdate({\n globalIFrameUrl: {\n url: res.data.Url,\n title: 'settings.square.AUTHORIZE_LABEL',\n action: DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK,\n actionData: { id },\n },\n })\n );\n } else {\n return new ErrorData('No url');\n }\n } else {\n return new ErrorData(getErrorMessage(res));\n }\n }\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtraEditSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { currentModelType, sectionModels } = sectionModel;\n const id = sectionModels[currentModelType].id;\n const restaurant = yield select(getRestaurant);\n const businessIdText = sectionModels[currentModelType].model.businessId;\n const businessId = restaurant.businessMenu && restaurant.businessMenu.id;\n const data = {\n name: action.data.name,\n description: action.data.description,\n enabled: action.data.enabled,\n };\n let requestResult = yield call(\n id === businessIdText ? businessCategoryExtraAdd : businessCategoryExtraEdit,\n data,\n businessId,\n id\n );\n\n yield put(setBusinessMenu(requestResult.data));\n }, action.type);\n}\n\nfunction* orderingMenuExtraDeleteSaga(action) {\n yield* createSaga(function*() {\n if (action.data.id) {\n const restaurant = yield select(getRestaurant);\n const businessId = restaurant.businessMenu && restaurant.businessMenu.id;\n const requestResult = yield call(businessCategoryExtraRemove, action.data.id, businessId);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtraUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const id = action.data.id;\n const businessId = restaurant.businessMenu && restaurant.businessMenu.id;\n const requestResult = yield call(businessCategoryExtraUpdate, businessId, id, { Enabled: action.data.enabled });\n\n if (requestResult && requestResult.status === 200) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: id, businessId }));\n yield put(setBusinessMenu(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasOptionEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const extraId =\n sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit].id || params.subId;\n\n const requestResult =\n action.data.id || params.subToId\n ? yield call(\n businessCategoryExtraOptionUpdate,\n restaurant.businessMenu.id,\n extraId,\n action.data.id || params.subToId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n : yield call(\n businessCategoryExtraOptionAdd,\n restaurant.businessMenu.id,\n extraId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasOptionUpdateSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const { item, value } = action.data;\n const extraId = item.id;\n const optionId = value.id;\n\n const requestResult = yield call(\n businessCategoryExtraOptionActivate,\n restaurant.businessMenu.id,\n extraId,\n optionId,\n { enabled: value.enabled }\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: optionId, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasOptionDeleteSaga(action) {\n yield* createSaga(function*() {\n const params = getHistoryLocationParams(window.location.search);\n const restaurant = yield select(getRestaurant);\n const extraId = params.subId;\n const optionId = action.data.id;\n const requestResult = yield call(\n businessCategoryExtraOptionDelete,\n restaurant.businessMenu.id,\n extraId,\n optionId\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasSubOptionEditSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const extraId =\n sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit].id || params.subId;\n\n const requestResult = action.data.id\n ? yield call(\n businessCategoryExtraSubOptionEdit,\n restaurant.businessMenu.id,\n extraId,\n params.subToId,\n action.data.id,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n )\n : yield call(\n businessCategoryExtraSubOptionAdd,\n restaurant.businessMenu.id,\n extraId,\n params.subToId,\n getInitModel(MODEL_TYPE.productOptionServerModel, action.data)\n );\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n\n if(isBase64Image(action.data.image) || isBase64Video(action.data.image)) {\n if(action.data.id) {\n yield put(\n actionBusinessMenuExtrasSuboptionUpdateImage({\n businessId: restaurant.businessMenu.id,\n extraId,\n optionId: params.subToId,\n suboptionId: action.data.id,\n image: action.data.image,\n })\n );\n } else {\n const getAllSuboptions = (businessMenu) => {\n return businessMenu.extras\n ?.find(e => e.id === extraId)?.options\n ?.find(o => o.id === params.subToId)?.suboptions || [];\n }\n const newSuboptions = getAllSuboptions(requestResult.data);\n const oldSuboptions = getAllSuboptions(restaurant.businessMenu).map(o => o.id);\n const uniqueItems = newSuboptions.filter(n => !oldSuboptions.includes(n.id));\n if(uniqueItems.length === 1) {\n yield put(\n actionBusinessMenuExtrasSuboptionUpdateImage({\n businessId: restaurant.businessMenu.id,\n extraId,\n optionId: params.subToId,\n suboptionId: uniqueItems[0].id,\n image: action.data.image,\n })\n );\n }\n }\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasSubOptionDeleteSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const extraId =\n sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit].id || params.subId;\n const requestResult = yield call(\n businessCategoryExtraSubOptionDelete,\n restaurant.businessMenu.id,\n extraId,\n params.subToId,\n action.data.id\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasSubOptionUpdateSaga(action) {\n yield* createSaga(function*() {\n const { value } = action.data;\n const restaurant = yield select(getRestaurant);\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const params = getHistoryLocationParams(window.location.search);\n const extraId =\n sectionModels[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit].id || params.subId;\n const requestResult = yield call(\n businessCategoryExtraSubOptionActivate,\n restaurant.businessMenu.id,\n extraId,\n params.subToId,\n value.id,\n { enabled: value.enabled }\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(createAction(MARKETPLACE_MENU_CLEAR_OVERRIDE, {objectId: value.id, businessId: restaurant.businessMenu.id}));\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasOptionReorderSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const params = getHistoryLocationParams(window.location.search);\n const extraId = params?.subId;\n\n const options = action.data?.item?.options || []\n const items = action.data?.items || []\n\n const isNewItems = options.some(option => items.find(item => item.id === option.id).order !== option.order)\n\n if(!extraId || !isNewItems) return\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(\n businessCategoryExtraOptionReorder,\n restaurant.businessMenu.id,\n extraId,\n action.data.items.map(item => ({ id: item.id, order: item.order }))\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n yield put(actionSetSectionItemsLoading(false));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderingMenuExtrasSubOptionReorderSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const params = getHistoryLocationParams(window.location.search);\n const optionId = action.data.item.id;\n const extraId = params.subId;\n\n const requestResult = yield call(\n businessCategoryExtraSubOptionReorder,\n restaurant.businessMenu.id,\n extraId,\n optionId,\n action.data.items.map(item => ({ id: item.id, order: item.order }))\n );\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* setMenuCreateOrder(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const depot = getDepot(restaurant && restaurant.depots, action.data.depotId);\n const requestResult = yield call(getCallCenterMenu, depot.businessId);\n\n if (requestResultIsOk(requestResult)) {\n yield put(setBusinessMenu(requestResult.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getMergegMenuByBusinessId(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getMergedBusinessMenuById, action.data);\n\n if (requestResult && requestResult.status === 200) {\n yield put(setBusinessMenu(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* operationTimingGetSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n if (!restaurant.operations) {\n const requestResult = yield call(fetchOperations);\n if (requestResultIsOk(requestResult, true)) {\n yield put(actionRestaurantUpdate({ operations: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* operationTimingGetForDepotSaga(action) {\n yield* createSaga(function*() {\n yield all([\n put(createAction(OPERATION_TIMING_SETTINGS_GET)),\n put(createAction(DEPOT_OPERATION_MODE_SETTING_GET))\n ])\n }, action.type);\n}\n\nfunction* depotSquareAssociatedLocationEditSaga(action) {\n yield* createSaga(function*() {\n const { id, squareAssociatedLocations } = action.data;\n const selectedLocation = (squareAssociatedLocations || []).find(location => location.active);\n if (selectedLocation) {\n const requestResult = yield call(setDepotSquareAssociatedLocation, id, { LocationId: selectedLocation.id });\n if (requestResultIsOk(requestResult)) {\n yield put(actionDepotEdit(action.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* getDepotProvidersSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const depotId = parentId || id;\n const depots = yield select(getRestaurantDepots);\n const depot = depots.find(f => f.id === depotId) || {};\n\n const requestResult = yield call(fetchDeliveryProviders, depotId);\n if (requestResultIsOk(requestResult)) {\n const providers = objectKeysToUpperLowerCase(requestResult.data);\n\n if(id) {\n const regions = yield select(getConfigurationRegions);\n providersApiMap(providers, regions, id);\n }\n\n\n yield put(actionDepotEdit({ ...depot, providers: providers }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editDepotProvidersSaga(action) {\n yield* createSaga(function*() {\n const params = getHistoryLocationParams(window.location.search);\n const depotId = params.parentId || params.id;\n const serverData = objectKeysToUpperLowerCase(action.data, true);\n const regions = yield select(getConfigurationRegions);\n const selectedRegionsIds = [];\n\n if(regions && serverData && serverData.AutoAssignmentRegionIds) {\n regions.forEach((e) => {\n if(serverData.AutoAssignmentRegionIds.find((region) => region === e.name )) {\n selectedRegionsIds.push(e.id);\n }\n\n });\n serverData.AutoAssignmentRegionIds = [...selectedRegionsIds];\n }\n const { IsDirty, RefreshedValue, ...newServerData } = serverData;\n\n if(!newServerData.EnableSchedule) {\n newServerData.AutoAssignmentSchedule = null;\n }\n\n /*const hasItemLapses = newServerData.AutoAssignmentSchedule?.filter(item => item?.Lapses?.length)?.length;\n\n if(newServerData.EnableSchedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }*/\n\n const requestResult = action.data.virtual\n ? yield call(updateVirtualDeliveryProvider, depotId, newServerData)\n : yield call(editDeliveryProvider, depotId, newServerData);\n\n if (requestResultIsOk(requestResult)) {\n const depots = yield select(getRestaurantDepots);\n const depot = depots.find(f => f.id === depotId) || {};\n const providers = mergeArrays(depot.providers || [], [\n objectKeysToUpperLowerCase(requestResult.data) || action.data,\n ]);\n\n if(depotId) {\n const regions = yield select(getConfigurationRegions);\n providersApiMap(providers, regions, depotId);\n }\n\n yield put(actionDepotEdit({ ...depot, providers }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* addDepotProviderSaga(action) {\n yield* createSaga(function*() {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const depotId = parentId || id;\n\n const data = objectKeysToUpperLowerCase(action.data, true) ;\n if(depotId && data && data.AutoAssignmentRegionIds) {\n const regions = yield select(getConfigurationRegions);\n data.AutoAssignmentRegionIds = transformProvidersToApi(data, regions);\n\n }\n const { IsDirty, RefreshedValue, ...newData } = data;\n\n if(!newData.EnableSchedule) {\n newData.AutoAssignmentSchedule = null;\n }\n/*\n const hasItemLapses = newData.AutoAssignmentSchedule?.filter(item => item?.Lapses?.length)?.length\n if(newData.EnableSchedule && !hasItemLapses){\n return new ErrorData(i18n.t('settings.orderingmenu.MENU_DISCOUNT_SCHEDULE_ERROR'));\n }*/\n\n const requestResult = yield call(\n createVirtualDeliveryProvider,\n depotId,\n newData\n );\n if (requestResultIsOk(requestResult)) {\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteDepotProviderSaga(action) {\n yield* createSaga(function*() {\n if (action.data.item.virtual) {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const depotId = parentId || id;\n const requestResult = yield call(deleteVirtualDeliveryProvider, depotId, action.data.id);\n\n if (requestResultIsOk(requestResult)) {\n const depots = yield select(getRestaurantDepots);\n const depot = depots.find(f => f.id === depotId) || {};\n const providers = (depot.providers || []).filter(f => f.id !== action.data.id);\n yield put(actionDepotEdit({ ...depot, providers }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nfunction* depotSquareAssociatedRevokeSaga(action) {\n yield* createSaga(function*() {\n const { typeModel } = action.data;\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const depotId = sectionModels[typeModel].id;\n\n const requestResult = yield call(setDepotSquareAssociatedRevoke, depotId);\n\n if (requestResultIsOk(requestResult)) {\n const checkRequiredAuth = yield call(\n checkSquareUpAuthorizedRequired,\n currentUserIsDepotRole() ? null : depotId\n );\n\n if (requestResultIsOk(checkRequiredAuth)) {\n yield put(\n actionDepotEdit({\n id: depotId,\n squareUpAuthorizationRequired: checkRequiredAuth.data.AuthorizationRequired,\n })\n );\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* reorderDepotProvidersSaga(action) {\n yield* createSaga(function*() {\n const params = getHistoryLocationParams(window.location.search);\n const depotId = params.parentId || params.id;\n const depots = yield select(getRestaurantDepots);\n const depot = depots.find(f => f.id === depotId) || {};\n yield put(actionDepotEdit({ ...depot, providers: [] }));\n\n const data = action.data.data.map(m => ({ Id: m.id, Priority: m.priority, Provider: m.provider }));\n\n const requestResult = yield call(reorderDeliveryProviders, depotId, data);\n if (requestResultIsOk(requestResult)) {\n yield put(actionDepotEdit({ ...depot, providers: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotSquareAssociatedAuthorizationSaga(action) {\n yield* createSaga(function*() {\n const { typeModel } = action.data;\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const depotId = sectionModels[typeModel].id || getDepotModeId();\n\n const requestResult = yield call(generateDepotAuthorizationUrl, depotId);\n if (requestResultIsOk(requestResult, true)) {\n if (requestResult.data.Url) {\n yield put(\n actionGlobalPortalDataUpdate({\n globalIFrameUrl: {\n url: requestResult.data.Url,\n title: 'settings.square.AUTHORIZE_LABEL',\n action: DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK,\n actionData: { id: depotId },\n },\n })\n );\n } else {\n return new ErrorData('No url');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* depotSquareAssociatedAuthorizationShortSaga(action) {\n yield* createSaga(function*() {\n const { typeModel } = action.data;\n const sectionModel = yield select(getSectionModel);\n const { sectionModels } = sectionModel;\n const depotId = sectionModels[typeModel].id || getDepotModeId();\n\n const requestResult = yield call(generateDepotAuthorizationUrl, depotId);\n if (requestResultIsOk(requestResult, true)) {\n if (requestResult.data.Url) {\n yield put(\n actionGlobalPortalDataUpdate({\n globalIFrameUrl: {\n url: requestResult.data.Url,\n title: 'settings.square.AUTHORIZE_LABEL',\n action: CHECK_SQUAREUP_AUTHORIZED_REQUIRED,\n actionData: { id: depotId },\n },\n })\n );\n } else {\n return new ErrorData('No url');\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* resetDepotProvidersSaga(action) {\n yield* createSaga(function*() {\n yield put(setDepotProviders(null));\n }, action.type);\n}\n\nfunction* checkSquareUpAuthorizedRequiredSaga(action) {\n yield* createSaga(function*() {\n const sectionModel = yield select(getSectionModel);\n const { sectionModels, currentModelType } = sectionModel;\n const depotId = sectionModels[currentModelType].id;\n\n const requestResult = yield call(checkSquareUpAuthorizedRequired, currentUserIsDepotRole() ? null : depotId);\n\n if (requestResult && requestResult.status === 200) {\n yield put(\n actionDepotEdit({\n id: depotId,\n squareUpAuthorizationRequired: requestResult.data.AuthorizationRequired,\n })\n );\n }\n }, action.type);\n}\n\nfunction* getBusinessByQuerySaga(action) {\n yield* createSaga(function* () {\n const data = {\n minimal_data: action.data.minimalData,\n query: action.data.query,\n search_type: action.data.searchType,\n location: action.data.location || undefined,\n };\n const requestResult = yield call(getBusinessWithQuery, data);\n\n if(requestResult && requestResult.status === 200) {\n yield put(actionRestaurantUpdate({depotsByQuery: requestResult.data}));\n }\n\n }, action.type);\n}\n\nfunction* parentMenuOverrideOptionSaga(action) {\n yield* createSaga(function*(){\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const options = getAllOption(parentMenu);\n const find = options.find(u => u.id === action.data.id);\n const option = getInitModel(MODEL_TYPE.optionModelOverride, action.data);\n const oldOption = getInitModel(MODEL_TYPE.optionModelOverride, find);\n const updatedData = getOveridesArray(option, oldOption);\n\n if(!!updatedData.length) {\n const request = yield call(overrideParentBusinessMenu, businessMenu.id, find.id, updatedData);\n if(request && request.status === 200) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(request.data)))\n }\n }\n }, action.type);\n}\n\nfunction* parentMenuOverrideExtraSaga(action) {\n yield* createSaga(function*(){\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const extras = getAllExtra(parentMenu);\n const find = extras.find(u => u.id === action.data.id);\n const extra = getInitModel(MODEL_TYPE.extraModelOverride, action.data);\n const oldExtra = getInitModel(MODEL_TYPE.extraModelOverride, find);\n const updatedData = getOveridesArray(extra, oldExtra);\n\n if(!!updatedData.length) {\n const request = yield call(overrideParentBusinessMenu, businessMenu.id, find.id, updatedData);\n if(request && request.status === 200) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(request.data)))\n }\n }\n }, action.type);\n}\n\nfunction* parentMenuOverrideProductSaga(action) {\n yield* createSaga(function*(){\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const products = ((parentMenu || {}).categories || []).flatMap(c => c.products);\n const find = products.find(u => u.id === action.data.id);\n action.data.weight_range = fixedNumber(action.data.weight_range / 100, 2);\n const product = getInitModel(MODEL_TYPE.categoryProductModelForOverride, action.data);\n const oldProduct = getInitModel(MODEL_TYPE.categoryProductModelForOverride, find);\n product.weight_range = fixedNumber(product.weight_range / 100, 2);\n oldProduct.weight_range = fixedNumber(oldProduct.weight_range / 100, 2);\n const updatedData = getOveridesArray(product, oldProduct);\n\n if(!!updatedData.length) {\n const request = yield call(overrideParentBusinessMenu, businessMenu.id, find.id, updatedData);\n if(request && request.status === 200) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(request.data)))\n }\n }\n }, action.type);\n}\n\nfunction* parentMenuOverrideCategorySaga(action) {\n yield* createSaga(function*(){\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const find = (parentMenu.categories || []).find(u => u.id === action.data.id);\n const category = getInitModel(MODEL_TYPE.categoryModelForOverride, action.data);\n const oldCategory = getInitModel(MODEL_TYPE.categoryModelForOverride, find);\n const updatedData = getOveridesArray(category, oldCategory);\n\n if(!!updatedData.length) {\n const request = yield call(overrideParentBusinessMenu, businessMenu.id, find.id, updatedData);\n if(request && request.status === 200) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(request.data)))\n }\n }\n }, action.type);\n}\n\nfunction* parentMenuOverrideSuboptionSaga(action) {\n yield* createSaga(function*(){\n const parentMenu = yield select(state => state.restaurant.data.parentMenu);\n const businessMenu = yield select(state => state.restaurant.data.businessMenu);\n const suboptions = getAllSuboption(parentMenu);\n const find = suboptions.find(u => u.id === action.data.id);\n const suboption = getInitModel(MODEL_TYPE.suboptionsOverride, action.data);\n const oldSuboption = getInitModel(MODEL_TYPE.suboptionsOverride, find);\n const updatedData = getOveridesArray(suboption, oldSuboption);\n\n if(!!updatedData.length) {\n const request = yield call(overrideParentBusinessMenu, businessMenu.id, find.id, updatedData);\n if(request && request.status === 200) {\n yield put(setBusinessMenu(objectKeysToUpperLowerCase(request.data)))\n }\n }\n }, action.type);\n}\n\nfunction* addMarketplaceMessageGallerySaga(action) {\n yield* createSaga(function*() {\n const {parentId} = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(messageGalleryAdd, parentId, getInitModel(MODEL_TYPE.messageGalleryServerModel, action.data));\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplaceMessageGalleyAdd({data: requestResult.data, messageId: parentId}));\n\n if (action.data.file && (isBase64Image(action.data.file) || isBase64Video(action.data.file))) {\n const requestResultWithBanner = yield call(\n messageGalleryImageBase64,\n parentId,\n requestResult.data.id,\n dataURItoBlob(action.data.file),\n isBase64Video(action.data.file)\n );\n\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplaceMessageGalley({data: requestResultWithBanner.data, messageId: parentId}));\n }\n }\n }\n }, action.type);\n}\n\nfunction* editMarketplaceMessageGallerySaga(action) {\n yield* createSaga(function*() {\n const {parentId, id} = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(messageGalleryEdit, parentId, id, getInitModel(MODEL_TYPE.messageGalleryServerModel, action.data));\n if (requestResult && requestResult.status === 200) {\n yield put(actionUpdateMarketplaceMessageGalley({messageId: parentId, data: requestResult.data}));\n\n if (action.data.file && (isBase64Image(action.data.file) || isBase64Video(action.data.file))) {\n const requestResultWithBanner = yield call(\n messageGalleryImageBase64,\n parentId,\n id,\n dataURItoBlob(action.data.file),\n isBase64Video(action.data.file)\n );\n\n if (requestResultWithBanner && requestResultWithBanner.status === 200) {\n yield put(actionUpdateMarketplaceMessageGalley({messageId: parentId, data: requestResultWithBanner.data}));\n }\n }\n }\n }, action.type);\n}\n\nfunction* reorderMarketplaceMessageGallerySaga(action) {\n yield* createSaga(function*() {\n const {id} = getHistoryLocationParams(window.location.search);\n const data = action.data.data.map(m => ({ id: m.id, order: m.order }));\n const requestResult = yield call(messageGalleryReorder, id, data);\n\n if (requestResultIsOk(requestResult)) {\n yield put(actionUpdateMarketplaceMessage(requestResult.data));\n }\n }, action.type);\n}\n\nfunction* deleteMarketplaceMessageGallerySaga(action) {\n yield* createSaga(function*() {\n const {id} = getHistoryLocationParams(window.location.search);\n const requestResult = yield call(messageGalleryDelete, id, action.data.id);\n\n if (requestResultIsOk(requestResult)) {\n const messages = yield select(state => state.marketplace.data.message || []);\n const message = messages.find(m => m.id === id);\n message.gallery = message.gallery.filter(g => g.id !== requestResult.data.id);\n yield put(actionUpdateMarketplaceMessage(message));\n }\n }, action.type);\n}\n\nfunction* marketplaceMenuClearOverrideSaga(action) {\n yield* createSaga(function*() {\n if(!window.location.href.includes('marketplace-settings')) {\n return;\n }\n yield put(\n actionGlobalPopupMessage({\n isShow: true,\n message: i18n.t('settings.orderingmenu.MARKETPLACE_MENU_CLEAR_OVERRIDE_TEXT'),\n onConfirm: () => {\n marketplaceMenuClearOverride(action.data.businessId, action.data.objectId);\n Store.store.dispatch(actionGlobalPopupMessageInit());\n },\n })\n )\n }, action.type);\n}\n\nfunction* getSalesStatisticsDataSaga(action) {\n // const item, filter\n yield* createSaga(function*() {\n const {items, filter} = action.data;\n const item = items[0];\n const arg = [];\n switch (item.type) {\n case SALES_TYPE.marketplace:\n arg.push({\n fn: getMarketplaceStatistics,\n args: [filter.start, filter.end],\n }, {\n fn: getMarketplaceStatisticsDaily,\n args: [filter.start, filter.end],\n });\n break;\n case SALES_TYPE.business:\n arg.push({\n args: [items.map(b => b.id), filter.start, filter.end],\n fn: getBusinessStatisticsByIds\n }, {\n args: [items.map(b => b.id), filter.start, filter.end],\n fn: getBusinessStatisticsDailyByIds\n });\n break;\n case SALES_TYPE.template:\n arg.push({\n args: [item.businessId, filter.start, filter.end],\n fn: getBusinessStatistics\n }, {\n args: [item.businessId, filter.start, filter.end],\n fn: getBusinessStatisticsDaily\n });\n break;\n case SALES_TYPE.product:\n arg.push({\n args: [item.businessId, filter.start, filter.end],\n fn: getBusinessStatistics\n }, {\n args: [item.id, filter.start, filter.end],\n fn: getProductStatisticsDaily\n });\n break;\n case SALES_TYPE.suboption:\n arg.push({\n args: [item.businessId, filter.start, filter.end],\n fn: getBusinessStatistics\n }, {\n args: [item.id, filter.start, filter.end],\n fn: getSuboptionStatisticsDaily\n });\n break\n default:\n break;\n }\n\n const request = yield all(arg.map((item) => {\n return call(item.fn, ...item.args);\n }));\n\n const [statisticsRequest, statisticsDailyRequest] = request;\n return {\n statistics: statisticsRequest.data,\n statisticsDaily: statisticsDailyRequest.data\n }\n }, action.type);\n}\n\n\nexport default function*() {\n yield takeLatest(GET_SALES_STATISTICS, getSalesStatisticsDataSaga);\n yield takeEvery(LOAD_RESTAURANT, restaurantSaga);\n yield takeEvery(LOAD_DEPOT_AVATARS, fetchDepotAvatarsSaga);\n yield takeEvery(RESTAURANT_CONTROL_CENTER_STATUS_GET, controlCenterStatusSaga);\n yield takeEvery(RESTAURANT_SET_MODE, setModeSaga);\n yield takeEvery(DEPOT_INIT_DATA_GET, depotInitDataSaga);\n yield takeEvery(DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET, depotReconciliationGetSaga);\n yield takeEvery(DEPOT_RECONCILIATIONS_CONFIGURATIONS_EDIT, depotReconciliationEditSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET, reconciliationConfigGetSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_CONFIG_EDIT, reconciliationConfigEditSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_GET, depotOperationModeGetSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_ADD, depotOperationModeAddSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_EDIT, depotOperationModeEditSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_DELETE, depotOperationModeDeleteSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_EDIT, changeDepotOperationModeActiveSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET, changeDepotOperationModeActiveByDefaultSaga);\n yield takeEvery(DEPOT_SETTING_EDIT, depotEditSaga);\n yield takeEvery(DEPOT_SETTING_ADD, depotAddSaga);\n yield takeEvery(DEPOT_SETTING_DELETE, depotDeleteSaga);\n yield takeEvery(SET_DEPOT_AVATAR, setDepotAvatarSaga);\n yield takeEvery(DEPOTUSERS_SETTING_EDIT, depotUserEditSaga);\n yield takeEvery(DEPOTUSERS_SETTING_ADD, depotUserAddSaga);\n yield takeEvery(DEPOTUSERS_SETTING_DELETE, depotUserRemoveSaga);\n yield takeEvery(GET_DEPOT_USERS, getDepotUsersSaga);\n yield takeEvery(GET_DEPOT_PRICE, getDepotPriceSaga);\n yield takeEvery(SHIFTS_GET, shiftsSaga);\n yield takeEvery(DEPOTUSERS_SETTING_PASSWORD_EDIT, saveDepotUserPasswordSaga);\n yield takeEvery(DEPOTPRICE_SETTING_EDIT, editDepotPriceSaga);\n yield takeEvery(DEPOTMENU_SETTING_EDIT, editDepotMenuSaga);\n yield takeEvery(GENERAL_SETTING_EDIT, generalSettingEditSaga);\n yield takeEvery(GENERAL_SETTING_GET, generalSettingGetSaga);\n yield takeEvery(SHIPMENT_PRICE_CONFIGURATION_EDIT, shipmentPriceConfigurationEditSaga);\n yield takeEvery(SHIPMENT_PRICE_CONFIGURATION_GET, shipmentPriceConfigurationGetSaga);\n yield takeEvery(COURIER_SETTINGS_GET, getCourierSettingsSaga);\n yield takeEvery(COURIER_SETTINGS_EDIT, updateCourierSettingsSaga);\n yield takeEvery(BUSINESS_APP_CONFIGURATION_GET, getBusinessAppSettingsSaga);\n yield takeEvery(BUSINESS_APP_CONFIGURATION_EDIT, updateBusinessAppSettingsSaga);\n yield takeEvery(TELEGRAM_SETTING_EDIT, telegramSettingEditSaga);\n yield takeEvery(MARKETPLACE_PAGES_ADD, marketplacePagesAddSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_ADD, marketplaceMassageAddSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_EDIT, marketplaceMassageEditSaga);\n yield takeEvery(MARKETPLACE_PAGES_EDIT, marketplacePageEditSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_TOGGLE_ENABLED, marketplaceToggleEnabledSaga);\n yield takeEvery(MARKETPLACE_PAGES_TOGGLE_ENABLED, marketplacePagesToggleEnabledSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_DELETE, marketplaceMessageDeleteSaga);\n yield takeEvery(MARKETPLACE_PAGES_DELETE, marketplacePageDeleteSaga);\n yield takeEvery(REGION_SETTING_EDIT, regionSettingEditSaga);\n yield takeEvery(REGION_SETTING_ADD, regionSettingAddSaga);\n yield takeEvery(FLEET_SETTINGS_GET, fleetGetSaga);\n yield takeEvery(FLEET_SETTINGS_UNMOUNT, resetFleetTelemetrySaga);\n yield takeEvery(FLEET_SETTINGS_ADD, fleetAddSaga);\n yield takeEvery(FLEET_SETTINGS_EDIT, fleetEditSaga);\n yield takeEvery(FLEET_SETTINGS_DELETE, fleetDeleteSaga);\n yield takeEvery(FLEET_SETTINGS_TELEMETRY_BLINK, fleetGetTelemetryBlinkSaga);\n yield takeEvery(FLEET_SETTINGS_TELEMETRY_GET, fleetGetTelemetrySaga);\n yield takeEvery(REGION_SETTING_DELETE, regionSettingRemoveSaga);\n yield takeEvery(PROVIDERS_SETTING_GET, providersSettingGetSaga);\n yield takeEvery(PROVIDERS_SETTING_DETAILS_GET, providersSettingDetailsGetSaga);\n yield takeEvery(PROVIDERS_SETTING_EDIT, providersSettingEditSaga);\n yield takeEvery(PROVIDERS_SETTING_ADD, providersSettingAddSaga);\n yield takeEvery(PROVIDERS_SETTING_DELETE, providersSettingRemoveSaga);\n yield takeEvery(CLOUD_PRINTERS_SETTING_GET, cloudPrintersSettingGetSaga);\n yield takeEvery(CLOUD_PRINTERS_SETTING_DETAILS_GET, cloudPrintersSettingDetailsGetSaga);\n yield takeEvery(CLOUD_PRINTERS_SETTING_EDIT, cloudPrintersSettingEditSaga);\n yield takeEvery(CLOUD_PRINTERS_SETTING_ADD, cloudPrintersSettingAddSaga);\n yield takeEvery(CLOUD_PRINTERS_SETTING_DELETE, cloudPrintersSettingRemoveSaga);\n yield takeEvery(SERVICE_CITIES_SETTING_ADD, serviceCityAddSaga);\n yield takeEvery(SERVICE_CITIES_SETTING_EDIT, serviceCityEditSaga);\n yield takeEvery(SERVICE_CITIES_SETTING_GET, serviceCityGetSaga);\n yield takeEvery(SERVICE_CITIES_SETTING_DELETE, serviceCityRemoveSaga);\n yield takeEvery(SERVICE_CITIES_SETTING_TOGGLE, serviceCityToggleSaga);\n yield takeEvery(NAMED_PLACES_ADD, namedPlaceAddSaga);\n yield takeEvery(NAMED_PLACES_EDIT, namedPlaceEditSaga);\n yield takeEvery(NAMED_PLACES_DELETE, namedPlaceRemoveSaga);\n yield takeEvery(NAMED_PLACES_GET, namedPlaceGetSaga);\n yield takeEvery(GET_USER_SHIFT_HISTORY, getUserShiftHistorySaga);\n yield takeEvery(GET_PROVIDER_SHIFT_HISTORY, getProviderShiftHistorySaga);\n yield takeEvery(CURRENT_SHIFT_USERS, currentShiftUsersSaga);\n yield takeEvery(SHIFT_PROVIDERS_GET, shiftProvidersSaga);\n yield takeEvery(SETTINGS_CONTROL_CENTER_EDIT, settingsControlCenterEdit);\n yield takeEvery(SETTINGS_CONTROL_CENTER_GET, settingsControlCenterGet);\n yield takeEvery(SETTINGS_CONTROL_CENTER_ACTIVATE_EDIT, activateControlCenterSaga);\n yield takeEvery(SETTINGS_CONTROL_CENTER_DEACTIVATE_EDIT, deactivateControlCenterSaga);\n yield takeEvery(SETTINGS_CONTROL_CENTER_CHANGEUSER_EDIT, changeUserControlCenterSaga);\n yield takeEvery(COPY_TELEGRAM_COMMAND, copyTelegramCommandSaga);\n yield takeEvery(GET_ORDER_STAT, getOrderStatSaga);\n yield takeEvery(NOTIFICATION_ADD, notificationAddSaga);\n yield takeEvery(NOTIFICATION_DELETE, notificationDeleteSaga);\n yield takeEvery(NOTIFICATIONS_RESTART, notificationRestartSaga);\n yield takeEvery(DEPOTMENU_SETTING_CHECK, checkDepotMenuSaga);\n yield takeEvery(DEPOTMENU_GET, getDepotMenuSaga);\n yield takeEvery(DEPOT_MENU_COPY_EDIT, depotMenuCopySaga);\n yield takeEvery(DEPOTPAYMEWALLET_SETTING_ADD, depotPaymeWalletSaga);\n yield takeEvery(DEPOTPAYMECREDIT_SETTING_EDIT, depotPaymeCreditSaga);\n yield takeEvery(DEPOTPAYMENT_STATE, depotPaymentStateSaga);\n yield takeEvery(LOAD_DEPOT_USER_BY_ID, getDepotUserById);\n yield takeEvery(GET_ORDERING_MENU_BUSINESS_EXTRA, getOrderingMenuExtraSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_EDIT, orderingMenuExtraEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_ADD, orderingMenuExtraEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_DELETE, orderingMenuExtraDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_UPDATE, orderingMenuExtraUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_ADD, orderingMenuExtrasOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_EDIT, orderingMenuExtrasOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_UPDATE, orderingMenuExtrasOptionUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_DELETE, orderingMenuExtrasOptionDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_OPTIONS_REORDER, orderingMenuExtrasOptionReorderSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_ADD, orderingMenuExtrasSubOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXSTRAS_SUBOPTION_UPDATE_IMAGE, orderingMenuExtrasSubOptionUpdateImageSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_EDIT, orderingMenuExtrasSubOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_UPDATE, orderingMenuExtrasSubOptionUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_DELETE, orderingMenuExtrasSubOptionDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION_REORDER, orderingMenuExtrasSubOptionReorderSaga);\n yield takeEvery(CANCEL_REASON_GET, cancelReasonGetSaga);\n yield takeEvery(CANCEL_REASON_ADD, cancelReasonAddSaga);\n yield takeEvery(CANCEL_REASON_EDIT, cancelReasonEditSaga);\n yield takeEvery(CANCEL_REASON_DELETE, cancelReasonDeleteSaga);\n yield takeEvery(BUSINESS_CATEGORY_GET, businessCategoryGetSaga);\n yield takeEvery(BUSINESS_CATEGORY_EDIT, businessCategoryEditSaga);\n yield takeEvery(BUSINESS_CATEGORY_ADD, businessCategoryEditSaga);\n yield takeEvery(BUSINESS_CATEGORY_DELETE, businessCategoryDeleteSaga);\n yield takeEvery(BUSINESS_CATEGORY_UPDATE, businessCategoryUpdateSaga);\n yield takeEvery(DEPOT_BUSINESS_DEEP_LINK_CREATE, businessDeepLinkCreateSaga);\n yield takeEvery(DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE, businessProductDeepLinkCreateSaga);\n yield takeEvery(MARKETPLACE_DEEP_LINK_CREATE, marketplaceDeepLinkCreateSaga);\n yield takeEvery(DEPOT_BUSINESS_SKU_GET, depotBusinessSKUGetSaga);\n yield takeEvery(DEPOT_BUSINESS_SKU_EXPORT, depotBusinessSKUExportSaga);\n yield takeEvery(DEPOT_BUSINESS_SKU_IMPORT, depotBusinessSKUImportSaga);\n yield takeEvery(DEPOT_BUSINESS_SKU_EDIT, depotBusinessSKUUpdateSaga);\n yield takeEvery(DEPOT_BUSINESS_TRANSLATION_GET, depotBusinessTranslationGetSaga);\n yield takeEvery(DEPOT_BUSINESS_TRANSLATION_EDIT, depotBusinessTranslationUpdateSaga);\n yield takeEvery(DEPOT_BUSINESS_TRANSLATION_EXPORT, depotBusinessTranslationExportSaga);\n yield takeEvery(DEPOT_BUSINESS_TRANSLATION_IMPORT, depotBusinessTranslationImportSaga);\n yield takeEvery(MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT, manuTemplateBusinessCategoryEditSaga);\n yield takeEvery(PAYMENTS_CONFIGURATION_SETTING_EDIT, restaurantPaymentsConfigurationEditSaga);\n yield takeEvery(RESTAURANT_PAYME_WALLET_SETTING_ADD, restaurantPaymeCreditSaga);\n yield takeEvery(RESTAURANT_PAYMENT_STATE, restaurantPaymentStateSaga);\n yield takeEvery(OPERATION_TIMING_SETTING_EDIT, operationTimingEditSaga);\n yield takeEvery(OPERATION_TIMING_SETTING_ADD, operationTimingAddSaga);\n yield takeEvery(OPERATION_TIMING_SETTING_DELETE, operationTimingDeleteSaga);\n yield takeEvery(OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY, operationTimingToggleDefaultPropertySaga);\n yield takeEvery(ORDERING_MENU_GET, getOrderingMenuSaga);\n yield takeEvery(BUSINESS_MENU_GET, getMergegMenuByBusinessId);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_DEPOT_EDIT, businessMenuCategoryDepotEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DEPOT_EDIT, businessMenuCategoryExtrasDepotEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_DEPOT_EDIT, businessMenuCategoryProductDepotEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DEPOT_EDIT, businessMenuCategoryExtrasOptionDepotEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DEPOT_EDIT, businessMenuCategoryExtrasSuboptionEditDepotSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_EDIT, orderingMenuDeliveryZoneEditSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_ADD, orderingMenuDeliveryZoneAddSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_DELETE, orderingMenuDeliveryZoneDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_SCHEDULE_EDIT, orderingMenuScheduleEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_DISCOUNTS_EDIT, orderingMenuBusinessDiscountEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_DISCOUNTS_ADD, orderingMenuBusinessDiscountAddSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_DISCOUNTS_DELETE, orderingMenuBusinessDiscountDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_INFO_EDIT, orderingMenuBusinessInfoEditSaga);\n yield takeEvery(SET_ORDERING_MENU_BUSINESS_INFO_AVATAR, setBusinessMenuHeaderSaga);\n yield takeEvery(SET_ORDERING_MENU_BUSINESS_INFO_HEADER_MINI, setBusinessMenuHeaderMiniSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORIES_DELETE, businessMenuCategoryDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE, businessMenuCategoryUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORIES_EDIT, businessMenuCategoryEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE, businessMenuCategoryListUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORIES_ADD, businessMenuCategoryAddSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_EDIT, businessMenuCategoryProductEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_ADD, businessMenuCategoryProductAddSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DELETE, businessMenuCategoryProductDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE, businessMenuCategoryProductsDragUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE, businessMenuCategoryProductsUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_AVATAR, businessMenuCategoryProductsUpdateAvatarSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE, businessMenuCategoryProductUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_EDIT, businessMenuCategoryExtrasEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE, businessMenuCategoryExtrasUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE, businessMenuCategoryExtrasDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_ADD, businessMenuCategoryExtrasAddSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_UPDATE, businessMenuCategoryExtrasOptionUpdateSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_EDIT, businessMenuCategoryExtrasOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ADD, businessMenuCategoryExtrasOptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DELETE, businessMenuCategoryExtrasOptionDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_REORDER, businessMenuCategoryExtrasOptionReorderSaga);\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_UPDATE,\n businessMenuCategoryExtrasSuboptionUpdateSaga\n );\n yield takeEvery(ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT, businessMenuProductOverrideExtraSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT, businessMenuProductOverrideOptionSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT, businessMenuProductOverrideSuboptionSaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_DELETE, parentMenuOverrideDeleteSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_EDIT, menuTemplateOverrideExtraSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_EDIT, menuTemplateOverrideOptionSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_EDIT, menuTemplateOverrideSuboptionSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE, menuTemplateOverrideSuboptionDeleteSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE, menuTemplateOverrideOptionDeleteSaga);\n yield takeEvery(TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE, menuTemplateOverrideExtraDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_PRODUCT_DELETE_OVERRIDE, businessMenuProductDeleteOverrideSaga);\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_REORDER,\n businessMenuCategoryExtrasSuboptionReorderSaga\n );\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DELETE,\n businessMenuCategoryExtrasSuboptionDeleteSaga\n );\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_EDIT, businessMenuCategoryExtrasSuboptionEditSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXSTRAS_SUBOPTION_UPDATE_IMAGE, businessMenuCategoryExtrasSuboptionUpdateImageSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ADD, businessMenuCategoryExtrasSuboptionAddSaga);\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_EDIT,\n businessMenuCategoryProductIngredientEditSaga\n );\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_REORDER,\n businessMenuCategoryProductIngredientReorderSaga\n );\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_UPDATE,\n businessMenuCategoryProductIngredientUpdateSaga\n );\n yield takeEvery(\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_DELETE,\n businessMenuCategoryProductIngredientDeleteSaga\n );\n yield takeEvery(ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET, depotDefaultRegionControlCenterGetSaga);\n yield takeEvery(DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_EDIT, depotDefaultRegionControlCenterEditSaga);\n yield takeEvery(DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_ADD, depotDefaultRegionControlCenterEditSaga);\n yield takeEvery(DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING_DELETE, depotDefaultRegionControlCenterDeleteSaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_GALLERY_EDIT, businessMenuEditGallerySaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_GALLERY_ADD, businessMenuAddGallerySaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_GALLERY_DELETE, businessMenuDeleteGallerySaga);\n yield takeEvery(ORDERING_MENU_BUSINESS_GALLERY_REORDER, businessMenuReorderGallerySaga);\n yield takeEvery(SETTINGS_OFFERS_GET, getSettingsOffersSaga);\n yield takeEvery(SETTINGS_OFFERS_EDIT, getSettingsOffersEditSaga);\n yield takeEvery(SETTINGS_OFFERS_ADD, getSettingsOffersAddSaga);\n yield takeEvery(SETTINGS_OFFERS_DELETE, getSettingsOffersDeleteSaga);\n yield takeEvery(SET_ACTIVATE_MODEL, setActivateModelSaga);\n yield takeEvery(SEARCH_SHORTCUT_SETTING_ADD, searchShortcutAddSettingsSaga);\n yield takeEvery(SEARCH_SHORTCUT_SETTING_DELETE, searchShortcutDeleteSettingsSaga);\n yield takeEvery(PUSHER_DEPOT_SERVICES_REFRESH, depotServicesRefreshSaga);\n yield takeEvery(GIFT_CARD_EDIT, giftCardEditSaga);\n yield takeEvery(GIFT_CARD_GET, giftCardGetSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_ADD, giftCardProductAddSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_EDIT, giftCardProductEditSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_UPDATE, giftCardProductUpdateSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_REORDER, giftCardProductDragUpdateSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_UPDATE_AVATAR, giftCardProductUpdateAvatarSaga);\n yield takeEvery(GIFT_CARD_BUSINESS_UPDATE_AVATAR, setGiftCardBusinessMenuHeaderSaga);\n yield takeEvery(GIFT_CARD_PRODUCT_DELETE, giftCardProductDeleteSaga);\n yield takeEvery(DEPOTPRICE_SETTING_APPLY_TO_ADD, depotPriceSettingApplyToSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET, getCourierShipmentTemplateSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_TEMPLATE_SETTING_DELETE, deleteCourierShipmentTemplateSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_SETTING_GET, getCourierShipmentSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_TEMPLATE_SETTING_EDIT, courierShipmentTemplateEditSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_TEMPLATE_SETTING_ADD, courierShipmentTemplateAddSaga);\n yield takeEvery(COURIER_DELIVERY_FEES_SETTING_EDIT, courierShipmentEditSaga);\n yield takeEvery(REFERRAL_SETTINGS_EDIT, updateReferralSettingsSaga);\n yield takeEvery(REFERRAL_SETTINGS_GET, getReferralSettingsSaga);\n yield takeEvery(LOYALTY_SETTINGS_GET, getLoyaltySettingsSaga);\n yield takeEvery(LOYALTY_SETTINGS_REGISTER_VOUCHER_EDIT, editLoyaltySettingsRegisterVoucherSaga);\n yield takeEvery(LOYALTY_SETTINGS_CASHBACK_EDIT, editLoyaltySettingsCashbackSaga);\n yield takeEvery(DRIVER_TIP_GET, getDriverTipSaga);\n yield takeEvery(DRIVER_TIP_EDIT, updateDriverTipSaga);\n yield takeEvery(LIST_PROMOTION_SETTING_GET, getListPromotionSettingsSaga);\n yield takeEvery(LIST_PROMOTION_SETTING_ADD, addListPromotionSettingsSaga);\n yield takeEvery(LIST_PROMOTION_SETTING_EDIT, editListPromotionSettingsSaga);\n yield takeEvery(LIST_PROMOTION_SETTING_DELETE, deleteListPromotionSettingsSaga);\n yield takeEvery(LIST_PROMOTION_SETTING_DRAG, dragListPromotionSettingsSaga);\n yield takeEvery(MARKETPLACE_MESSAGE_UPDATE, marketplaceMessageUpdateSaga);\n yield takeEvery(MARKETPLACE_PAGES_UPDATE, marketplacePageUpdateSaga);\n yield takeEvery(MARKETPLACE_SETTINGS_EDIT, marketplaceSettignsUpdateSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_GET, serviceLoyaltyCampaignsGetSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_ADD, serviceLoyaltyCampaignsAddSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_DELETE, serviceLoyaltyCampaignsDeleteSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_EDIT, serviceLoyaltyCampaignsEditSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET, serviceLoyaltyCampaignsAudienceFilterCountGetSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_TOGGLE_ENABLED, serviceLoyaltyCampaignsToggleEnabledSaga);\n yield takeEvery(EXECUTE_COMPAIGN, executeCompaingSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_EXECUTIONS_GET, serviceLoyaltyCampaignsExecutionsGetSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_EXECUTIONS_ADD, serviceLoyaltyCampaignsExecutionsCreateSaga);\n yield takeEvery(LOYALTY_CAMPAIGNS_EXECUTIONS_UPDATE_BY_ID, serviceLoyaltyCampaignsExecutionsUpdateByIdSaga);\n yield takeEvery(SERVICE_FEE_GET, serviceFeeGetSaga);\n yield takeEvery(SERVICE_FEE_EDIT, serviceFeeEditSaga);\n yield takeEvery(SETTINGS_DELIVERY_ZONES_GET, deliveryZonesGetSaga);\n yield takeEvery(SETTINGS_DELIVERY_ZONES_ADD, deliveryZonesAddSaga);\n yield takeEvery(SETTINGS_DELIVERY_ZONES_EDIT, deliveryZonesEditSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT, deliveryZonesGlobalEditSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET, deliveryZonesGlobalEditResetSaga);\n yield takeEvery(SETTINGS_DELIVERY_ZONES_DELETE, deliveryZoneDeleteSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_UPDATE, deliveryZonesUpdateEnableSaga);\n yield takeEvery(ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE, deliveryZonesUpdateSaga);\n yield takeEvery(SETTINGS_DELIVERY_ZONES_LIST_UPDATE, marketDeliveryZonesUpdateSaga);\n yield takeEvery(DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK, depotSquareAssociatedLocationCheckSaga);\n yield takeEvery(DEPOT_SQUARE_ASSOCIATED_LOCATION_EDIT, depotSquareAssociatedLocationEditSaga);\n yield takeEvery(DEPOT_SQUARE_ASSOCIATED_REVOKE, depotSquareAssociatedRevokeSaga);\n yield takeEvery(DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION, depotSquareAssociatedAuthorizationSaga);\n yield takeEvery(DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT, depotSquareAssociatedAuthorizationShortSaga);\n yield takeEvery(DEPOT_INTEGRATIONS_GET, depotIntegrationsGetSaga);\n yield takeEvery(DEPOT_INTEGRATIONS_UPDATE, depotIntegrationUpdateSaga);\n yield takeEvery(DEPOT_INTEGRATIONS_ADD, depotIntegrationsAddSaga);\n yield takeEvery(DEPOT_INTEGRATIONS_EDIT, depotIntegrationsEditSaga);\n yield takeEvery(DEPOT_INTEGRATIONS_DELETE, depotIntegrationsDeleteSaga);\n yield takeEvery(MENU_TEMPLATE_GET, getMenuTemplateSaga);\n yield takeEvery(MENU_TEMPLATE_DELETE, deleteMenuTemplateSaga);\n yield takeEvery(MENU_TEMPLATE_ADD, addMenuTemplateSaga);\n yield takeEvery(MENU_TEMPLATE_EDIT, updateMenuTemplateSaga);\n yield takeEvery(BUSINESS_PARENT_MENU_GET, getBusinessParentMenuSaga);\n yield takeEvery(BUSINESS_PARENT_MENU_UPDATE, overrideMenuSaga);\n yield takeEvery(OPERATION_TIMING_SETTINGS_GET, operationTimingGetSaga);\n yield takeEvery(DEPOT_OPERATION_MODE_SETTING_GET_ALL, operationTimingGetForDepotSaga);\n yield takeEvery(RESTAURANT_CONTROL_CENTERS_STATUS_UPDATE, controlCentersStateUpdateSaga);\n yield takeEvery(SET_MENU_CREATE_ORDER, setMenuCreateOrder);\n yield takeEvery(DEPOT_PROVIDERS_GET, getDepotProvidersSaga);\n yield takeEvery(DEPOT_PROVIDERS_REORDER, reorderDepotProvidersSaga);\n yield takeEvery(DEPOT_PROVIDER_EDIT, editDepotProvidersSaga);\n yield takeEvery(DEPOT_PROVIDER_ADD, addDepotProviderSaga);\n yield takeEvery(DEPOT_PROVIDERS_DELETE, deleteDepotProviderSaga);\n yield takeEvery(DEPOT_PROVIDER_UPDATE, editDepotProvidersSaga);\n yield takeEvery(DEPOT_PROVIDERS_UNMOUNT, resetDepotProvidersSaga);\n yield takeEvery(CHECK_SQUAREUP_AUTHORIZED_REQUIRED, checkSquareUpAuthorizedRequiredSaga);\n yield takeEvery(GET_BUSINESS_BY_QUERY, getBusinessByQuerySaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_SUBOPTION_EDIT, parentMenuOverrideSuboptionSaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_OPTION_EDIT, parentMenuOverrideOptionSaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_EXTRA_EDIT, parentMenuOverrideExtraSaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_PRODUCT_EDIT, parentMenuOverrideProductSaga);\n yield takeEvery(PARENT_MENU_OVERRIDE_CATEGORY_EDIT, parentMenuOverrideCategorySaga);\n yield takeEvery(MARKETPLACE_MESSAGE_GALLERY_ADD, addMarketplaceMessageGallerySaga);\n yield takeEvery(MARKETPLACE_MESSAGE_GALLERY_EDIT, editMarketplaceMessageGallerySaga);\n yield takeEvery(MARKETPLACE_MESSAGE_GALLERY_REORDER, reorderMarketplaceMessageGallerySaga);\n yield takeEvery(MESSAGE_GALLERY_DELETE, deleteMarketplaceMessageGallerySaga);\n yield takeEvery(MARKETPLACE_MENU_CLEAR_OVERRIDE, marketplaceMenuClearOverrideSaga);\n}\n","import Store from \"../store\";\nimport { all, call, put, takeEvery, select } from \"redux-saga/effects\";\n\nimport { INIT, INIT_START } from \"../reducers/init/init-actions\";\nimport { actionLoadMarkers, actionRemoveMarker } from \"../reducers/marker/marker-actions\";\nimport { PUSHER_DEPOT_CYCLE_REFRESH } from '../reducers/userModel/userModel-actions';\nimport { actionControlCenterRefresh, actionCurrentControlCenterUpdate, actionRestaurantControlCentersStateUpdate, CONTROL_CENTER_REFRESH, setOrdersProvider } from \"../reducers/restaurant/restaurant-actions\";\nimport { actionNotificationUpdate, actionAlarmUpdate, actionAccountTopNotification } from \"../reducers/notification/notification-actions\";\nimport {\n actionAdminOrderPendingCountUpdate,\n actionPendingOrdersUpdate,\n PUSHER_GROUP_UPDATE\n} from \"../reducers/order/order-actions\";\nimport { GET_INITIAL_DATA } from \"../reducers/common-actions\";\n\nimport { ordersSaga } from \"./order-saga\";\nimport { restaurantSaga } from \"./restaurant-saga\";\nimport {\n usersSaga,\n getUserByIdSaga,\n getDefaultUsersState,\n} from './userModel-saga';\n\nimport { fetchExternalProviders, fetchUsers } from '../../api/user-requests';\n\nimport {\n fetchConsumerActiveOrders,\n fetchConsumerOrderMenu,\n fetchConsumerOrders,\n fetchPendingPreOrders, getAdminOrderPengingCount\n} from \"../../api/order-requests\";\nimport { fetchRestaurant, getNotification, getDeliveryActiveState } from \"../../api/restaurant-requests\";\n\nimport DatabaseStorage from \"../../services/databaseStorage\";\nimport Interval from \"../../services/interval\";\nimport Pusher from \"../../services/pusher\";\nimport AudioService from \"../../services/audio\";\nimport BaseNotification from \"../../services/baseNotification\";\nimport RoleManager from \"../../services/roleManage\";\nimport User from \"../../services/user\";\nimport { getStoreDataKeys } from \"../../services/dataStorage\";\n\nimport { objectKeysToUpperLowerCase, mapObject, someObject } from \"../../utils/objects-util\";\nimport { createSaga, ErrorData, getCurrentInitConfig } from \"../../utils/sagaHelper\";\nimport { controlCenterUpdateConfig, depotCycleRefreshConfig, groupUpdateConfig } from \"../../utils/constants\";\nimport {DEFAULT_ORDERS_GROUPS, TYPE_MARKER} from \"../../utils/enums\";\n\nimport { getMarkers } from \"../selectors\";\nimport { actionExternalCyclesUpdate } from \"../reducers/externalCycles/externalCycles-actions\";\nimport { actionControlCenterRefreshLoading } from \"../reducers/loaders/loaders-actions\";\n\nimport {initSupportChat} from \"../reducers/supportChat/supprtChat-actions\";\nimport {fetchAuthSupportChat} from \"../../api/supportChat-request\";\nimport { updateBillingInfoData } from \"../reducers/billing/billing-actions\";\nimport {getUserConnectionData} from '../../utils/auth-util.js';\nimport { actionActiveStateCyclesSet } from '../reducers/cycles/cycles-actions.js';\nimport i18n from \"../../i18n.js\";\nimport InfoMessageService from \"../../services/infoMessage.js\";\nimport {actionSetEmptyInfoMessage} from \"../reducers/emptyInfo/emptyInfo-actions.js\";\nimport {sortByDate} from \"../../services/filter.js\";\n\nconst apiDictionary = {\n activeState: getDeliveryActiveState,\n consumerOrderMenu: fetchConsumerOrderMenu,\n consumerOrders: fetchConsumerOrders,\n notifications: getNotification,\n restaurant: fetchRestaurant,\n users: fetchUsers,\n consumerActiveOrders: fetchConsumerActiveOrders,\n pendingPreOrders: fetchPendingPreOrders,\n authSupportChat: fetchAuthSupportChat,\n externalProviders: fetchExternalProviders,\n pendingOrderCount: getAdminOrderPengingCount,\n};\n\nfunction* initSaga() {\n yield DatabaseStorage.instance;\n}\n\nfunction* initStartSaga(action) {\n yield* createSaga(function*() {\n let result = yield fetchAllDataSaga(getCurrentInitConfig(), true);\n // Finish processing. Report success\n if (result) {\n Interval.instance.start(Store.store);\n Pusher.instance.initPusher();\n BaseNotification.instance.playNotification();\n RoleManager.instance.setRolesManagerConfiguration();\n User.instance.setBaseConstants();\n\n const currentUser = User.instance.getCurrentUserInfo();\n if(currentUser?.configuration?.language) {\n i18n.changeLanguage(currentUser.configuration.language);\n }\n if(currentUser && currentUser.controlCenterId) {\n yield put(actionControlCenterRefresh({ selectedControlCenterMulti: [currentUser.controlCenterId] }));\n }\n } else {\n return new ErrorData(\"Error init start\");\n }\n }, action.type);\n}\n\nfunction* checkRedirect(action) {\n try {\n const checkRedirect = InfoMessageService.instance.checkRedirect(Store.history.location.pathname);\n if(checkRedirect) {\n yield put(actionSetEmptyInfoMessage({ message: checkRedirect.message }));\n Store.history.push(checkRedirect.pathname);\n }\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* fetchAllDataSaga(configuration) {\n try {\n const apiCalls = {\n keys: call(getStoreDataKeys)\n };\n Object.keys(configuration).forEach(key => {\n if (configuration[key]) {\n apiCalls[key] = call(apiDictionary[key]);\n }\n });\n\n // Validate responses\n const apiCallResults = yield all(apiCalls);\n if (someObject(apiCallResults, result => result.status && result.status !== 200)) {\n return;\n }\n\n let result = mapObject(apiCallResults, result => objectKeysToUpperLowerCase(result.data || result.result));\n\n const activeState = (result && result.activeState) || {};\n \n result = {\n ...result,\n courierLocations: activeState.locations,\n cycles: activeState.courierCycles,\n orders: { groups: activeState.groups, preOrders: activeState.preOrders, takeawayOrders: activeState.takeawayOrders },\n assistanceOrders: activeState.assistance,\n externalCycles: activeState.externalCycles,\n activeOrders: activeState.activeOrders\n }\n\n if (result.restaurant) {\n yield restaurantSaga(result);\n }\n\n if(result.pendingPreOrders) {\n yield put(actionPendingOrdersUpdate({\n pendingPreOrders: (objectKeysToUpperLowerCase(result.pendingPreOrders) || [])\n .map(preorder => ({ ...preorder, groupId: DEFAULT_ORDERS_GROUPS.preOrders }))\n ?.sort((a, b) => sortByDate(a, b, 'creation_datetime'))\n }));\n }\n\n if(result.pendingOrderCount) {\n yield put(actionAdminOrderPendingCountUpdate(result.pendingOrderCount.count));\n }\n\n const curUserId = getUserConnectionData()?.unique_name || ''\n\n yield getUserByIdSaga({ data: { id: curUserId }})\n\n yield getDefaultUsersState({ cycles: result.cycles, courierLocations: result.courierLocations })\n\n if(result.cycles) {\n yield put(actionActiveStateCyclesSet(result.cycles))\n }\n\n if(activeState.controlCentersStatus) {\n yield put(actionRestaurantControlCentersStateUpdate(objectKeysToUpperLowerCase(activeState.controlCentersStatus)));\n }\n \n if (result.orders) yield ordersSaga(result);\n\n if (result.notifications && Array.isArray(result.notifications)) {\n yield put(actionNotificationUpdate(result.notifications));\n yield put(actionAlarmUpdate(result.notifications));\n \n result.notifications.forEach(notification=> {\n AudioService.instance.playSound(notification.type);\n }); \n }\n\n if(activeState.accountTopNotification) {\n yield put(actionAccountTopNotification(activeState.accountTopNotification))\n }\n\n if(result.externalCycles) {\n yield put(actionExternalCyclesUpdate(result));\n }\n\n if(result.authSupportChat) {\n yield put(initSupportChat(result.authSupportChat));\n }\n\n if(result.externalProviders) {\n yield put(setOrdersProvider(result.externalProviders));\n }\n\n yield checkRedirect();\n\n return result;\n } catch (error) {\n console.log(error);\n }\n}\n\nexport function* groupUpdateDataSaga(configuration, excludedTypes) {\n const groupUpdateCalls = [];\n const apiCalls = { keys: call(getStoreDataKeys) };\n Object.keys(configuration).forEach(key => {\n if (configuration[key]) {\n apiCalls[key] = call(apiDictionary[key]);\n }\n });\n\n // Validate responses\n const apiCallResults = yield all(apiCalls);\n if (someObject(apiCallResults, result => result.status && result.status !== 200)) {\n return;\n }\n let result = mapObject(apiCallResults, result => objectKeysToUpperLowerCase(result.data || result.result));\n const activeState = (result && result.activeState) || {};\n\n result = {\n ...result,\n courierLocations: activeState.locations,\n cycles: activeState.courierCycles,\n orders: { groups: activeState.groups, preOrders: activeState.preOrders, takeawayOrders: activeState.takeawayOrders },\n assistanceOrders: activeState.assistance,\n externalCycles: activeState.externalCycles,\n activeOrders: activeState.activeOrders\n }\n\n if(result.cycles) {\n yield put(actionActiveStateCyclesSet(result.cycles))\n }\n\n if (result.restaurant) {\n groupUpdateCalls.push(restaurantSaga(result));\n\n if (result.restaurant.activeControlCenter) {\n const controlCenterId = result.restaurant.activeControlCenter.controlCenterId;\n if(controlCenterId) {\n groupUpdateCalls.push(put(actionControlCenterRefresh({ selectedControlCenterMulti: [controlCenterId], isInit: false })));\n } \n }\n }\n\n if(result.pendingPreOrders) {\n groupUpdateCalls.push(put(actionPendingOrdersUpdate({\n pendingPreOrders: (objectKeysToUpperLowerCase(result.pendingPreOrders) || [])\n .map(preorder => ({ ...preorder, groupId: DEFAULT_ORDERS_GROUPS.preOrders }))\n ?.sort((a, b) => sortByDate(a, b, 'creation_datetime'))\n })));\n }\n\n if(activeState.controlCentersStatus) {\n groupUpdateCalls.push(put(actionRestaurantControlCentersStateUpdate(objectKeysToUpperLowerCase(activeState.controlCentersStatus))));\n }\n\n if (result.users || result.courierLocations || result.cycles) {\n groupUpdateCalls.push(usersSaga(result));\n }\n\n // if (result.orders) {\n // groupUpdateCalls.push(ordersSaga(result));\n // }\n\n if (result.notifications && Array.isArray(result.notifications)) {\n groupUpdateCalls.push(put(actionNotificationUpdate(result.notifications)));\n groupUpdateCalls.push(actionAlarmUpdate(result.notifications)); \n result.notifications.forEach(notification=> {\n AudioService.instance.playSound(notification.type);\n }); \n }\n\n if(result.externalCycles) {\n groupUpdateCalls.push(put(actionExternalCyclesUpdate(result)));\n }\n\n if(activeState.accountTopNotification) {\n groupUpdateCalls.push(put(actionAccountTopNotification(activeState.accountTopNotification)));\n }\n\n if(result.billingInfo) {\n groupUpdateCalls.push(put(updateBillingInfoData(result.billingInfo)));\n }\n\n yield all(groupUpdateCalls);\n if (result.orders) {\n yield ordersSaga(result);\n }\n yield put(actionLoadMarkers({ isLoadUserMarkers: true }));\n}\n\nfunction* getInitialDataSaga(action) {\n yield* createSaga(function*() {\n yield put(actionLoadMarkers({ isLoadUserMarkers: true }));\n }, action.type);\n}\n\nfunction* groupUpdateSaga() {\n yield groupUpdateDataSaga(groupUpdateConfig);\n}\n\nfunction* depotCycleRefreshSaga() {\n yield groupUpdateDataSaga(depotCycleRefreshConfig);\n}\n\nfunction* controlCenterRefreshSaga(action) {\n yield* createSaga(function*() {\n const { selectedControlCenterMulti = [] } = action.data;\n const selectedControlCenterIds = selectedControlCenterMulti || [];\n const setedControlCenters = yield select(state => state.restaurant.data.selectedControlCenterMulti);\n const currentSelectedControlCenter = Pusher.instance.getControlCenterMultiChannel() || [];\n const duplicated = selectedControlCenterIds.every(cc => currentSelectedControlCenter.includes(cc));\n\n if(!duplicated || !setedControlCenters || currentSelectedControlCenter.length !== selectedControlCenterIds.length) {\n yield put(actionControlCenterRefreshLoading(true));\n //Clear current courier markers\n const markers = yield select(getMarkers);\n const markerTypesToRemove = [TYPE_MARKER.courier, TYPE_MARKER.order];\n yield put(actionRemoveMarker(markers\n .filter(marker=> markerTypesToRemove.includes(marker.markerType))\n .map(marker=> marker.id))\n );\n Pusher.instance.setControlCenterMultiChannel(selectedControlCenterIds);\n yield put(actionCurrentControlCenterUpdate({ selectedControlCenterMulti: selectedControlCenterIds }));\n\n Pusher.instance.resubscribeUpdatedControlCenters();\n yield groupUpdateDataSaga(controlCenterUpdateConfig, { users: false });\n\n //Subscribe pusher events\n yield put(actionControlCenterRefreshLoading(false));\n } \n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(INIT, initSaga);\n yield takeEvery(INIT_START, initStartSaga);\n yield takeEvery(GET_INITIAL_DATA, getInitialDataSaga); \n yield takeEvery(PUSHER_GROUP_UPDATE, groupUpdateSaga);\n yield takeEvery(PUSHER_DEPOT_CYCLE_REFRESH, depotCycleRefreshSaga);\n yield takeEvery(CONTROL_CENTER_REFRESH, controlCenterRefreshSaga); \n}\n","import { call, put, takeEvery } from \"redux-saga/effects\";\nimport * as Sentry from \"@sentry/react\";\n\nimport {\n AUTHENTICATION,\n LOGOUT,\n AUTHENTICATION_DEAUTHORIZE\n} from \"../reducers/authentication/authentication-actions\";\n\nimport { authorize } from \"../../api/auth-requests\";\nimport {\n ErrorData,\n actionCreateSuccess,\n actionCreateError,\n createSaga\n} from \"../../utils/sagaHelper\";\nimport { logout } from \"../../utils/auth-util\";\n\nimport { actionRemoveAllData } from \"../reducers/common-actions\";\nimport i18n from \"i18next\";\nimport { requestResultIsOk } from \"../../utils/request-util\";\n\nfunction* authenticationSaga(action) {\n yield* createSaga(function*() {\n const { username, password, skipRetry, rememberMe} = action.data; \n const requestResult = yield call(authorize, username, password, skipRetry);\n\n if (requestResultIsOk(requestResult)) {\n Sentry.configureScope(scope => scope.setUser({ username }));\n if (!action.data.skipSave) {\n yield put(actionCreateSuccess(AUTHENTICATION, { data: requestResult.data, rememberMe, username }));\n }\n return requestResult.data;\n } else {\n const errorMessage = new ErrorData(\"Error authentication\");\n\n if (!action.data.skipSave) {\n yield put(actionCreateError(AUTHENTICATION_DEAUTHORIZE, errorMessage));\n return new ErrorData(i18n.t(\"basic.error.INVALID_AUTH\"));\n }\n\n return errorMessage;\n }\n }, action.type);\n}\n\nfunction* logoutSaga() {\n try {\n logout();\n yield put(actionRemoveAllData());\n } catch (error) {\n console.log(error);\n }\n}\n\nexport default function*() {\n yield takeEvery(AUTHENTICATION, authenticationSaga);\n yield takeEvery(LOGOUT, logoutSaga);\n}\n","import {DELIVERY_TYPE, ORDER_TYPE} from \"../utils/enums\";\n\nexport function orderPriceServerModel(data) {\n return {\n business_id: data.id,\n products: (data.products || []).map(el => el.product),\n delivery_type: data.type === ORDER_TYPE.delivery ? DELIVERY_TYPE.delivery : DELIVERY_TYPE.takeAway,\n delivery_datatime: data.targetTime,\n location: data.type === ORDER_TYPE.takeAway ? null : {\n lng: data.location && (data.location.lng || data.location.longitude),\n lat: data.location && (data.location.lat || data.location.latitude),\n },\n coupon: data.coupon,\n requested_bonus: data.requestedBonus,\n driver_tip: data.driverTip\n }\n}","import { put, takeEvery, select, call } from \"redux-saga/effects\";\nimport {\n ORDEREDIT_SET_NEW_ORDER,\n ORDEREDIT_SET_ORDER,\n ORDEREDIT_UPDATE,\n ORDEREDIT_ORIGINAL_ORDER_UPDATE,\n actionOrderEditUpdate,\n actionOrderEditSetOrder,\n setOrderEditSummary,\n ORDEREDIT_GET_SUMMARY_ORDER,\n CHECK_MENU_CREATE_ORDER,\n ORDER_CYCLE_REORDER\n} from \"../reducers/orderEdit/orderEdit-actions\";\nimport { getDepot } from \"../../services/restaurant\";\nimport { getInitOrderModel } from \"../../services/order\";\nimport { minutesToTimeRelative } from \"../../utils/convertTime\";\nimport { getOrderEdit, getRestaurant, getRestaurantBusinessMenu } from \"../selectors\";\nimport {getOrderPrice} from \"../../api/order-requests\";\nimport {orderPriceServerModel} from \"../../models/orderPriceServerModel\";\nimport { getErrorMessage, requestResultIsOk } from \"../../utils/request-util\";\nimport { objectKeysToUpperLowerCase } from \"../../utils/objects-util\";\nimport { createSaga, ErrorData } from \"../../utils/sagaHelper\";\nimport { SET_MENU_CREATE_ORDER } from \"../reducers/restaurant/restaurant-actions\";\nimport {ORDER_TYPE, SOURCE_TYPE} from \"../../utils/enums\";\nimport i18n from \"../../i18n\";\nimport {fetchExternalOrderReorder} from \"../../api/user-requests\";\nimport {actionExternalCycleUpdate} from \"../reducers/externalCycles/externalCycles-actions\";\nimport {getOrderModel} from \"../../models/orderModel.js\";\n\nfunction* setNewOrderEditSaga(action) {\n try {\n const restaurant = yield select(getRestaurant);\n const firstDepot = getDepot(restaurant.depots, null, true);\n const firstDepotCity = firstDepot.address && firstDepot.address.address && firstDepot.address.address.city;\n const serviceCities = (restaurant && restaurant.configuration && restaurant.configuration.serviceCities) || []; \n const order = action.data\n ? action.data\n : {\n ...getInitOrderModel(),\n readinessTime: minutesToTimeRelative(firstDepot.maximumArrivalTime),\n address: {\n ...getInitOrderModel().address,\n city: (firstDepotCity &&\n (serviceCities.find(f=> f.replace(/\\s/g, '') === firstDepotCity.replace(/\\s/g, '')) || firstDepotCity)) || serviceCities[0]\n },\n depotId: firstDepot.id\n };\n\n yield put(actionOrderEditUpdate({ isRemove: true }));\n yield put(actionOrderEditSetOrder(order));\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* setOrderEditSaga(action) {\n try {\n const order = action.data?.order_source === SOURCE_TYPE.logistic ? getOrderModel(action.data) : action.data;\n yield put({ type: ORDEREDIT_UPDATE, data: order });\n yield put({ type: ORDEREDIT_ORIGINAL_ORDER_UPDATE, data: order });\n } catch (error) {\n console.log(error);\n }\n}\n\nfunction* getSummaryOrderSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getOrderPrice, orderPriceServerModel(action.data));\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setOrderEditSummary(data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* orderCycleReorderSaga(action) {\n yield* createSaga(function*() {\n const { group, reorderedItem, index } = action.data;\n const requestResult = yield call(fetchExternalOrderReorder, {\n Id: group.id,\n OrderId: reorderedItem.id,\n Index: index,\n });\n\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionExternalCycleUpdate(data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* checkMenuOrderCreateSaga(action) {\n yield* createSaga(function*() {\n yield put({ type: SET_MENU_CREATE_ORDER, data: action.data });\n\n const businessMenu = yield select(getRestaurantBusinessMenu);\n let orderEdit = yield select(getOrderEdit);\n let newOrder = (orderEdit || {}).newOrder || {};\n \n const requestResult = yield call(getOrderPrice, orderPriceServerModel({ \n ...action.data, \n id: newOrder.id || businessMenu.id, \n products: newOrder.products || [], \n coupon: newOrder.coupon || \"\", \n driverTip: newOrder.driverTip || 0 \n }));\n\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setOrderEditSummary(data));\n \n switch (newOrder.type) {\n case ORDER_TYPE.delivery:\n if(!data.delivery_allowed) \n return new ErrorData(i18n.t(\"create-order.summary.DELIVERY_NOT_ALLOWED\"));\n break;\n case ORDER_TYPE.takeAway:\n if(!data.takeaway_allowed) \n return new ErrorData(i18n.t(\"create-order.summary.TAKEAWAY_NOT_ALLOWED\"));\n break; \n default:\n break;\n }\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n } \n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(ORDEREDIT_SET_NEW_ORDER, setNewOrderEditSaga);\n yield takeEvery(ORDER_CYCLE_REORDER, orderCycleReorderSaga);\n yield takeEvery(ORDEREDIT_SET_ORDER, setOrderEditSaga);\n yield takeEvery(ORDEREDIT_GET_SUMMARY_ORDER, getSummaryOrderSaga);\n yield takeEvery(CHECK_MENU_CREATE_ORDER, checkMenuOrderCreateSaga);\n}\n","import { call, take, spawn, put } from \"redux-saga/effects\";\n\nimport {\n CHECK_USER_AUTHENTICATION,\n AUTHENTICATION,\n actionAuthenticationSet,\n AUTHENTICATION_DEAUTHORIZE\n} from \"../reducers/authentication/authentication-actions\";\n\nimport { refreshAuth } from \"../../api/auth-requests\";\n\nimport {\n getUserConnectionData,\n checkAccessToken,\n checkRefreshToken,\n removeAccessToken,\n logout,\n getRememberMe,\n getCurrentUserName\n} from \"../../utils/auth-util\";\n\nimport {\n createSaga,\n ErrorData,\n actionCreateSuccess,\n actionCreateError\n} from \"../../utils/sagaHelper\";\nimport { requestResultIsOk } from \"../../utils/request-util\";\n\nfunction* checkUserAuthenticationSaga(action) {\n yield* createSaga(function*() {\n if (!checkAccessToken()) {\n if (checkRefreshToken()) {\n const rememberMe = getRememberMe();\n const username = getCurrentUserName();\n const requestResult = yield call(refreshAuth);\n if (requestResultIsOk(requestResult)) {\n yield put(actionCreateSuccess(AUTHENTICATION, { data: requestResult.data, rememberMe, username }));\n return getUserConnectionData();\n } else {\n let error = new ErrorData(\"Error refresh token\");\n logout();\n yield put(actionCreateError(AUTHENTICATION_DEAUTHORIZE, error));\n return error;\n }\n } else {\n let error = new ErrorData(\"Error: check refresh token\");\n\n logout();\n yield put(actionCreateError(AUTHENTICATION_DEAUTHORIZE, error));\n return error;\n }\n } else {\n yield put(actionAuthenticationSet({ isAuthenticated: true }));\n return getUserConnectionData();\n }\n }, action.type);\n}\n\nexport default function*() {\n let task;\n while (true) {\n const action = yield take(CHECK_USER_AUTHENTICATION);\n if (task && task.isRunning()) continue;\n if (action.data && action.data.isRemoveAcccessToken) removeAccessToken();\n task = yield spawn(checkUserAuthenticationSaga, action);\n }\n}\n","import * as Sentry from \"@sentry/react\";\nimport { all, put, takeEvery, call, select } from \"redux-saga/effects\";\nimport {\n addDialogsSupportChat,\n CREATE_NEW_CHAT, GET_DIALOGS_SUPPORT,\n MARK_RESOLVED_SUPPORT_DIALOG,\n PULL_SUPPORT_DIALOG, pulledSupportChat,\n saveSupportChatSession, setDialogsSupportChat,\n setShowSupportChat, setUnreadMessages,\n SUPPORT_CHAT_SAGA_INIT,\n FRESH_DESK_RESTORE_ID, SET_UNREAD_MESSAGE_SAGA, initSupportChat, AUTH_SUPPORT_CHAT,\n} from '../reducers/supportChat/supprtChat-actions';\nimport {createAction, createSaga} from \"../../utils/sagaHelper\";\nimport {currentUserIsSupportOperatorRole} from \"../../services/userModel\";\n\nimport Talk from 'talkjs';\nimport {objectKeysToUpperLowerCase} from \"../../utils/objects-util\";\nimport {\n fetchAuthSupportChat,\n fetchDialogsSupportChat,\n pullSupportDialog,\n resolveSupportDialog, startChat,\n} from '../../api/supportChat-request';\nimport {getErrorMessage, requestResultIsOk} from \"../../utils/request-util\";\nimport Store from \"../store\";\nimport { freshDeskRestoreId, freshDeskRestoreIdRemove } from \"../../api/user-requests\";\nimport { getUserModel } from \"../selectors\";\nimport User from \"../../services/user\";\nimport ChatService from \"../../services/chatService\";\nimport AudioService from \"../../services/audio\";\n\nfunction* initSupportChatSaga(action) {\n yield* createSaga(function*() {\n if(currentUserIsSupportOperatorRole()) {\n const { appId, userId, signature } = action.payload;\n yield Talk.ready;\n\n const me = new Talk.User(userId);\n\n const session = new Talk.Session(({\n appId, me, signature\n }));\n\n session.unreads.onChange(unreads => {\n Store.store.dispatch(createAction(SET_UNREAD_MESSAGE_SAGA, {length: unreads.length}));\n });\n\n yield put(saveSupportChatSession(session));\n yield put(setShowSupportChat(true));\n }\n }, action.type);\n}\n\nfunction* setUnreadsMessageSaga(action) {\n yield* createSaga(function*() {\n const unreadsLength = yield select(state => state.supportChat.unreadMessages);\n const newLength = action.data.length;\n if(unreadsLength <= newLength) {\n AudioService.instance.playSound(\"newUnreadMessage\");\n }\n yield put(setUnreadMessages(newLength));\n }, action.type);\n}\n\nfunction* authSupportChat(action) {\n yield* createSaga(function*() {\n const resultRequest = yield call(fetchAuthSupportChat);\n if(resultRequest && resultRequest.status === 200) {\n const result = objectKeysToUpperLowerCase(resultRequest.data)\n yield put(initSupportChat(result));\n } else {\n throw new Error(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* getDialogsSupportSaga(action) {\n yield* createSaga(function*() {\n const resultRequest = yield call(fetchDialogsSupportChat);\n if(resultRequest && resultRequest.status === 200) {\n const oldDialogs = yield select(state => state.supportChat.dialogs);\n const dialogs = objectKeysToUpperLowerCase(resultRequest.data);\n if(dialogs?.length >= oldDialogs?.length) {\n AudioService.instance.playSound(\"newDialogItem\");\n }\n yield put(setDialogsSupportChat(dialogs));\n } else {\n throw new Error(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* pullSupportDialogSaga(action) {\n yield* createSaga(function*() {\n const { chatId } = action.payload;\n\n const resultRequest = yield call(pullSupportDialog, chatId);\n if(resultRequest && resultRequest.status === 200) {\n yield put(pulledSupportChat(chatId));\n } else {\n throw new Error(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* markResolvedSupportDialogSaga(action) {\n yield* createSaga(function*() {\n const { chatId } = action.payload;\n\n const resultRequest = yield call(resolveSupportDialog, chatId);\n if(resultRequest && resultRequest.status === 200) {\n\n } else {\n throw new Error(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* startDepotChatSaga(action) {\n yield* createSaga(function*() {\n const {id, subject} = action.payload;\n const body = {\n Subject: subject,\n };\n\n const resultRequest = yield call(startChat, id, body);\n\n if(resultRequest && resultRequest && resultRequest.status === 200) {\n if(resultRequest.data) {\n yield put(addDialogsSupportChat(objectKeysToUpperLowerCase(resultRequest.data)));\n }\n } else {\n throw new Error(getErrorMessage(resultRequest));\n }\n });\n}\n\n\n//FreshDesk section\nfunction* freshDeskRestoreIdSaga(action) {\n yield* createSaga(function*() {\n const { userId, restoreId, config } = action.data;\n if(userId && restoreId) {\n const users = yield select(getUserModel);\n const usersWithRestoreIdList = users.filter(user=> user.supportChatUserId === restoreId); \n \n if(usersWithRestoreIdList.length) {\n const otherUsersWithRestoreId = usersWithRestoreIdList.filter(f=> f.userId !== userId);\n \n //There are other users with this restoreId\n if(otherUsersWithRestoreId.length) {\n Sentry.captureException(\"There are other users with this restoreId: \" + usersWithRestoreIdList.map(m=> m.userId))\n const apiCalls = usersWithRestoreIdList.map(user=> call(freshDeskRestoreIdRemove, user.userId));\n yield all(apiCalls);\n }\n } else {\n const resultRequest = yield call(freshDeskRestoreId, userId, restoreId);\n if(requestResultIsOk(resultRequest)) {\n const data = objectKeysToUpperLowerCase(resultRequest.data);\n User.instance.setCurrentUserInfo(data, true);\n ChatService.instance.setWidgetUserProperties({ ...config, restoreId: data.supportChatUserId });\n } else {\n ChatService.instance.setWidgetUserProperties({ ...config }); \n } \n }\n \n } \n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(SUPPORT_CHAT_SAGA_INIT, initSupportChatSaga);\n yield takeEvery(GET_DIALOGS_SUPPORT, getDialogsSupportSaga);\n yield takeEvery(AUTH_SUPPORT_CHAT, authSupportChat);\n yield takeEvery(PULL_SUPPORT_DIALOG, pullSupportDialogSaga);\n yield takeEvery(MARK_RESOLVED_SUPPORT_DIALOG, markResolvedSupportDialogSaga);\n yield takeEvery(CREATE_NEW_CHAT, startDepotChatSaga);\n yield takeEvery(FRESH_DESK_RESTORE_ID, freshDeskRestoreIdSaga); \n yield takeEvery(SET_UNREAD_MESSAGE_SAGA, setUnreadsMessageSaga);\n}","import { call, put, takeEvery, select } from \"redux-saga/effects\";\n\nimport {\n GET_BILLING_CARDS,\n BILLING_CARD_ADD,\n BILLING_ADDRESSES_GET,\n BILLING_ADDRESSES_ADD,\n BILLING_INFO_GET,\n BILLING_INFO_PLANS_GET,\n BILLING_INFO_PLANS_SET,\n BILLING_CARD_SET,\n BILLING_CARD_DELETE,\n BILLING_CARD_EDIT,\n BILLING_ADDRESSES_DELETE,\n updateBillingInfo,\n BILLING_ADDRESSES_EDIT,\n BILLING_ADDRESSES_SET_ADDRESS,\n BILLING_INFO_USAGE_GET,\n BILLING_INFO_UPDATE_DATA,\n deleteBillingPaymentAC, addNewBillingPayment, setBillingPayments,\n} from \"../reducers/billing/billing-actions\";\nimport { actionAccountTopNotification } from \"../reducers/notification/notification-actions\";\nimport {\n addBillingAddress,\n deleteBillingAddress,\n getBillingAddresses,\n getBillingInfo,\n getBillingPlans,\n setAccountPlan,\n getAccountCards,\n billingCardAdd,\n billingCardDelete,\n billingCardEdit,\n editBillingAddress,\n setBillingAddress,\n getBillingUsages, updateAccountCard\n} from \"../../api/billing-request\";\n\nimport BillingService from \"../../services/billing\";\n\nimport { getErrorMessage, requestResultIsOk } from \"../../utils/request-util\";\nimport { objectKeysToUpperLowerCase } from \"../../utils/objects-util\";\nimport { createSaga, ErrorData } from \"../../utils/sagaHelper\";\n\nimport { getBilling } from \"../selectors\";\nimport {getInitModel} from \"../../services/initModels.js\";\nimport {MODEL_TYPE} from \"../../utils/enums.js\";\n\nfunction* getBillingInfoSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getBillingInfo);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* billingPlansGetSaga(action) {\n yield* createSaga(function*() {\n const billing = yield select(getBilling);\n if(!billing || !billing.info) {\n yield put({ type: BILLING_INFO_GET });\n }\n\n const requestResult = yield call(getBillingPlans);\n if(requestResultIsOk(requestResult)) { \n yield put(updateBillingInfo({ plans: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* billingPlanSetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(setAccountPlan, action.data);\n if(requestResultIsOk(requestResult)) {\n if(requestResult.data) {\n yield put(updateBillingInfo({ info: objectKeysToUpperLowerCase(requestResult.data) }));\n } \n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getBillingCardsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getAccountCards);\n if(requestResultIsOk(requestResult)) {\n yield put(setBillingPayments([requestResult.data] || []));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* billingCardSetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateAccountCard, action.data.id);\n if(requestResultIsOk(requestResult)) {\n const creditCards = yield select(state => state.billing.creditCards);\n yield put(setBillingPayments(\n creditCards.map(card => ({ ...card, default: card.id === action.data.id }))\n ));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* billingCardDeleteSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(billingCardDelete, action.data);\n if(requestResultIsOk(requestResult)) {\n yield put(deleteBillingPaymentAC({ id: action.data }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* addBillingCardSaga(action) {\n yield* createSaga(function*() {\n delete action.data.id;\n action.data.default = true;\n if(action.data.expiry.includes('/')) {\n action.data.expiry = action.data.expiry.slice(0, 2) + '/' + action.data.expiry.slice(2);\n }\n const card = getInitModel(MODEL_TYPE.creditCard, action.data);\n const requestResult = yield call(billingCardAdd, card);\n if(requestResultIsOk(requestResult)) {\n yield put(addNewBillingPayment(requestResult.data));\n return;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editBillingCardSaga(action) {\n yield* createSaga(function*() {\n const { tokenId, billingInfoId } = action.data;\n const requestResult = yield call(billingCardEdit, billingInfoId, tokenId);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ cards: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* getBillingAddressesSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getBillingAddresses);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ shipmentAddresses: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* deleteBillingAddressSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteBillingAddress, action.data);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ shipmentAddresses: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* billingAddressSetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(setBillingAddress, action.data);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ shipmentAddresses: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* addBillingAddressSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(addBillingAddress, action.data);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ shipmentAddresses: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* editBillingAddressSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(editBillingAddress, action.data.id, action.data);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ shipmentAddresses: objectKeysToUpperLowerCase(requestResult.data || []) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult)); \n }\n }, action.type);\n}\n\nfunction* billingUsagesGetSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getBillingUsages);\n if(requestResultIsOk(requestResult)) {\n yield put(updateBillingInfo({ usages: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* updateBillingInfoDataSaga(action) {\n yield* createSaga(function*() {\n yield put(updateBillingInfo({ info: objectKeysToUpperLowerCase(action.data) }));\n const billing = yield select(getBilling);\n const topNotificationData = BillingService.instance.getAccountTopNotificationData(billing);\n yield put(actionAccountTopNotification(topNotificationData));\n }, action.type);\n}\n\nexport default function* () {\n yield takeEvery(BILLING_INFO_GET, getBillingInfoSaga);\n yield takeEvery(BILLING_INFO_PLANS_GET, billingPlansGetSaga); \n yield takeEvery(BILLING_INFO_PLANS_SET, billingPlanSetSaga); \n yield takeEvery(GET_BILLING_CARDS, getBillingCardsSaga);\n yield takeEvery(BILLING_CARD_ADD, addBillingCardSaga);\n yield takeEvery(BILLING_CARD_EDIT, editBillingCardSaga); \n yield takeEvery(BILLING_CARD_SET, billingCardSetSaga); \n yield takeEvery(BILLING_CARD_DELETE, billingCardDeleteSaga);\n yield takeEvery(BILLING_ADDRESSES_GET, getBillingAddressesSaga);\n yield takeEvery(BILLING_ADDRESSES_ADD, addBillingAddressSaga); \n yield takeEvery(BILLING_ADDRESSES_EDIT, editBillingAddressSaga); \n yield takeEvery(BILLING_ADDRESSES_DELETE, deleteBillingAddressSaga);\n yield takeEvery(BILLING_ADDRESSES_SET_ADDRESS, billingAddressSetSaga); \n yield takeEvery(BILLING_INFO_USAGE_GET, billingUsagesGetSaga);\n yield takeEvery(BILLING_INFO_UPDATE_DATA, updateBillingInfoDataSaga);\n}","import {call, put, takeEvery, takeLatest, select} from \"redux-saga/effects\";\n\nimport {fetchAdminOrders} from \"../../api/order-requests\";\n\nimport {\n actionCustomerReviewUpdate,\n actionCustomersUpdate,\n actionCustomerUpdate,\n CUSTOMER_ADD_BONUS_CARD, CUSTOMER_BLOCK_USER, CUSTOMER_BLOCK_USER_STATUS, CUSTOMER_DELETE_VOUCHER,\n CUSTOMER_ORDERS_GET,\n CUSTOMER_REVIEWS_GET, CUSTOMER_UPDATE_COMMENT, CUSTOMER_UPDATE_LOYALTY_LEVEL,\n CUSTOMER_WALLET_INFO_GET,\n CUSTOMER_WALLET_OPERATION,\n CUSTOMERS_GET,\n} from '../reducers/customer/customer-actions';\n\nimport {objectKeysToUpperLowerCase} from \"../../utils/objects-util\";\nimport {getErrorMessage, requestResultIsOk} from \"../../utils/request-util\";\nimport {createSaga, ErrorData} from \"../../utils/sagaHelper\";\nimport {\n blockConsumerUser,\n customerAddBonusCard, customerDeleteonusCard,\n customerWalletInfo,\n customerWalletOperation, getblockConsumerUserStatus,\n getCustomers, unblockConsumerUser, updateCommentConsumerUser, updateLoyaltyLevel,\n} from '../../api/customer-requests';\nimport {CUSTOMER_WALLET_OPERATION_TYPE} from \"../../utils/constants\";\n\nexport function* customerReviewGetSaga(action) {\n yield* createSaga(function*() {\n const {periodFilter, ...filter} = action.data || {};\n const requestResult = yield call(fetchAdminOrders, objectKeysToUpperLowerCase({\n ...(filter || {}),\n end: new Date(action.data.end).toISOString(),\n start: new Date(action.data.start).toISOString(),\n withRating: true\n }, true));\n\n if(requestResultIsOk(requestResult)) {\n yield put(actionCustomerReviewUpdate(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* customersGetSaga(action) {\n yield* createSaga(function*() {\n const data = action.data || {};\n const requestResult = yield call(getCustomers, data);\n if(requestResultIsOk(requestResult)) {\n const response = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionCustomersUpdate(response));\n return response;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* customerOrdersGetSaga(action) {\n yield* createSaga(function*() {\n const { customerId, rating, deliveryRating } = action.data || {};\n if(customerId) {\n const requestResult = yield call(fetchAdminOrders, objectKeysToUpperLowerCase({\n search: customerId,\n rating, deliveryRating,\n withRating: !!(rating || deliveryRating)\n }, true));\n\n if(requestResultIsOk(requestResult)) {\n yield put(actionCustomerUpdate({ consumerId: customerId, orders: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerWalletOperationSaga(action) {\n yield* createSaga(function*() {\n const { customerId, type, data } = action.data;\n if(customerId && type && data) {\n const requestResult = yield call(customerWalletOperation, customerId, {\n ...data,\n is_deduct: type === CUSTOMER_WALLET_OPERATION_TYPE.spend\n });\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerAddBonusCardSaga(action) {\n yield* createSaga(function*() {\n const { customerId, data } = action.data;\n if(customerId && data) {\n const requestResult = yield call(customerAddBonusCard, customerId, data);\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerUpdateLoyaltyLevelSaga(action) {\n yield* createSaga(function*() {\n const { customerId, loyaltyLevel } = action.data;\n if(customerId) {\n const requestResult = yield call(updateLoyaltyLevel, customerId, loyaltyLevel);\n yield put(actionCustomerUpdate({ consumerId: customerId, loyaltyLevel: requestResult.data.LoyaltyLevel}));\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerBlockUserSaga(action) {\n yield* createSaga(function*() {\n const { customerId, notes, isBlocked } = action.data;\n if(customerId) {\n const requestResult = yield call(isBlocked ? unblockConsumerUser : blockConsumerUser, customerId, notes);\n yield put(actionCustomerUpdate({ consumerId: customerId, blockInfo: !isBlocked ? { note: notes, isBlocked: true } :{ isBlocked: false, note: '' } }));\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerUpdateCommentSaga(action) {\n yield* createSaga(function*() {\n const { customerId, notes } = action.data;\n if(customerId) {\n const requestResult = yield call(updateCommentConsumerUser, customerId, notes);\n if(requestResultIsOk(requestResult)) {\n const response = objectKeysToUpperLowerCase(requestResult.data);\n delete response.wallet;\n yield put(actionCustomerUpdate({ consumerId: customerId, ...response }));\n }\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerDeleteVoucherSaga(action) {\n yield* createSaga(function*() {\n const {cardId, customerId} = action.data;\n const requestResult = yield call(customerDeleteonusCard, cardId);\n\n if(requestResultIsOk(requestResult)) {\n const users = yield select(state => state.customer.customers);\n const user = users?.find(u => u.consumerId === customerId);\n if(user) {\n yield put(actionCustomerUpdate({\n consumerId: customerId,\n wallet: {\n ...user.wallet,\n bonusCards: user.wallet.bonusCards.filter(voucher => voucher.id !== cardId),\n }\n }));\n }\n return;\n }\n\n if(!requestResultIsOk(requestResult)) {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* customerWalletInfoGetSaga(action) {\n yield* createSaga(function*() {\n const { customerId } = action.data;\n\n if(customerId) {\n const requestResult = yield call(customerWalletInfo, customerId);\n if(requestResultIsOk(requestResult)) {\n yield put(actionCustomerUpdate({ consumerId: customerId, wallet: objectKeysToUpperLowerCase(requestResult.data) }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport function* customerBlockInfoGetSaga(action) {\n yield* createSaga(function*() {\n const { customerId } = action.data;\n\n if(customerId) {\n const requestResult = yield call(getblockConsumerUserStatus, customerId);\n if(requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionCustomerUpdate({ consumerId: customerId, blockInfo: data ? { note: data.notes, isBlocked: true } :{ isBlocked: false, note: '' } }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }\n }, action.type);\n}\n\nexport default function*() {\n yield takeEvery(CUSTOMER_REVIEWS_GET, customerReviewGetSaga);\n yield takeEvery(CUSTOMER_ORDERS_GET, customerOrdersGetSaga);\n yield takeLatest(CUSTOMERS_GET, customersGetSaga);\n yield takeEvery(CUSTOMER_WALLET_OPERATION, customerWalletOperationSaga);\n yield takeEvery(CUSTOMER_ADD_BONUS_CARD, customerAddBonusCardSaga);\n yield takeEvery(CUSTOMER_UPDATE_LOYALTY_LEVEL, customerUpdateLoyaltyLevelSaga);\n yield takeEvery(CUSTOMER_BLOCK_USER, customerBlockUserSaga);\n yield takeEvery(CUSTOMER_UPDATE_COMMENT, customerUpdateCommentSaga);\n yield takeEvery(CUSTOMER_DELETE_VOUCHER, customerDeleteVoucherSaga);\n yield takeEvery(CUSTOMER_WALLET_INFO_GET, customerWalletInfoGetSaga);\n yield takeEvery(CUSTOMER_BLOCK_USER_STATUS, customerBlockInfoGetSaga);\n}\n","import {all, call, put, select, takeEvery, takeLatest} from \"redux-saga/effects\";\nimport Store from '../store';\nimport { saveAs } from \"file-saver\";\nimport {createSaga, ErrorData} from \"../../utils/sagaHelper\";\nimport {getErrorMessage, requestResultIsOk} from \"../../utils/request-util\";\nimport {\n CHECK_USER_BY_PHONE,\n CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE,\n CONFIRM_EDIT_CUSTOMER_ORDER_FINAL,\n confirmEditCustomerOrderByStripe,\n confirmEditCustomerOrderFinal,\n CREATE_CONSUMER_USER,\n EXPORT_BATCH_TEMPLATE,\n GET_BUSINESS_BY_FILTERS,\n GET_BUSINESS_MENU,\n GET_EDIT_CUSTOMER_ORDER_SUMMARY,\n GET_ORDER_INFO_AND_MENU,\n GET_PREVIOUS_ORDERS,\n GET_USER_CARDS_BY_ID,\n getEditCustomerOrderSummary,\n IMPORT_BATCH_TEMPLATE,\n resetCustomerOrderEditInfo,\n SET_EDIT_CUSTOMER_ORDER_CONFIRM,\n SET_EDIT_CUSTOMER_ORDER_NEW_CONFIRM,\n setBatchCustomersTable,\n setBusinessOrdersByFilters,\n setConfirmEditCustomerOrderLoading,\n setEditCustomerOrderCourierTip,\n setEditCustomerOrderData,\n setEditCustomerOrderEnabledPayments,\n setEditCustomerOrderLoading,\n setEditCustomerOrderPayments,\n setEditCustomerOrderSummary,\n setPreviousAddressByOrders,\n setPreviousOrder,\n VERIFY_SINGLE_TABLE_ROW_BATCH_CUSTOMERS,\n DELETE_SINGLE_TABLE_ROW_BATCH_CUSTOMERS,\n setTemplateBatchDrafts,\n GET_TEMPLATE_BATCH_DRAFTS,\n deleteBatchTemplateDraft,\n DELETE_BATCH_DRAW_TEMPLATE,\n deleteBatchCustomersTableRow,\n GET_TEMPLATE_BATCH_BY_ID,\n addTemplateBatchDrafts,\n UPDATE_BATCH_TEMPLATE_COMMENT,\n updateTemplateBatchDraft,\n GET_TEMPLATE_BATCH_ORDER_PRICE,\n UPDATE_SELECTED_BUSINESS_CONSUMER,\n CONFIRM_BATCH_ORDER,\n PROCESS_BATCH_ORDER,\n updateBatchCustomersTableRow,\n changeTemporaryConsumer,\n setEditCustomerOrderGiftOptions,\n setEditCustomerOrderProducts,\n REPEAT_ORDER,\n CONFIRM_ORDER_WITH_EDITED_WEIGHT,\n ORDER_PRICE_QUICK_EDIT,\n GET_ORDER_TIME_SLOTS, setOrderTimeSlots,\n} from \"../reducers/editCustomerOrder/editCustomerOrder-action\";\nimport {\n createBatchOrderRow,\n deleteBatchOrderRow,\n deleteTemplateBatchDraft,\n exportTemplateBatchOrder,\n fetchAdminOrderById,\n fetchAdminOrders,\n fetchConsumerCardsById, fetchConsumerInfo,\n getCallCenterMenu,\n getOrderPrice, getOrderTimeSlots,\n getPaymentIntent,\n getTemplateBatchDraftById,\n getTemplateBatchDrafts, getTemplateBatchOrderPrice,\n importTemplateBatchOrder, processBatchOrder,\n setCreatedOrders, submitBatchOrder,\n updateBatchOrderComment,\n updateBatchOrderRow, updateDeliveryBusinessBatchOrder\n} from \"../../api/order-requests\";\nimport {objectKeysToUpperLowerCase} from \"../../utils/objects-util\";\nimport {\n CUSTOMER_SERVICE_MODEL,\n DELIVERY_STRATEGY,\n DELIVERY_TYPE,\n MODEL_TYPE,\n PAY_METHOD,\n PAYMENT_PROVIDER\n} from \"../../utils/enums\";\nimport {getDriverTipData, setBusinessMenu} from \"../reducers/restaurant/restaurant-actions\";\nimport {toast} from \"react-toastify\";\nimport i18n from \"i18next\";\nimport {loadStripe} from \"@stripe/stripe-js\";\nimport {\n actionAdminOrderUpdate,\n setAdminOrderSelectedOrderId\n} from \"../reducers/order/order-actions\";\nimport {createCustomer, getCustomers} from \"../../api/customer-requests.js\";\nimport {getBusinessWithQuery} from \"../../api/restaurant-requests.js\";\nimport {getInitModel} from \"../../services/initModels.js\";\nimport {distributeAmount} from \"../../utils/order.js\";\nimport {editCustomerOrderModel} from \"../../models/editCustomerOrderModel.js\";\n\nfunction* getOrderInfoAndMenuSaga(action) {\n yield* createSaga(function*() {\n const changeInPlace = yield select(state => state.editCustomerOrder.changeInPlace);\n const resultRequestOrderInfo = yield call(fetchAdminOrderById, action.data);\n const infoData = objectKeysToUpperLowerCase(resultRequestOrderInfo.data);\n if(requestResultIsOk(resultRequestOrderInfo)) {\n const body = getInitModel(MODEL_TYPE.editCustomerOrder, infoData);\n\n const resultRequestMenu = yield call(getCallCenterMenu, infoData.business_id);\n if(requestResultIsOk(resultRequestMenu)) {\n const menu = objectKeysToUpperLowerCase(resultRequestMenu.data);\n body.menu = menu;\n yield put(setBusinessMenu({...menu, depotId: menu.depot_id}));\n }\n yield put(getDriverTipData());\n const paymentCards = yield call(fetchConsumerCardsById, infoData.id);\n if(requestResultIsOk(paymentCards)) {\n body.enabledPayments = paymentCards.data;\n }\n if(changeInPlace) {\n body.changeInPlace = true;\n }\n\n yield put(resetCustomerOrderEditInfo(body));\n yield put(getEditCustomerOrderSummary({isEdit: true}));\n } else {\n return new ErrorData(getErrorMessage(resultRequestOrderInfo));\n }\n }, action.type);\n}\n\nfunction* getOrderSummarySaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const {orderInfo, coupon, recalculateDiscounts, canceledOffer, cancelPaymentIds, territory, isSingleOrder, cartId, summary: oldSummary, products, deliveryTime, deliveryType, courierTip, address, payments, deliveryStrategy} = yield select(state => state.editCustomerOrder);\n const bonus = payments.find(p => p.paymethod_id === PAY_METHOD.bonus);\n const discount = payments.find(p => p.paymethod_id === PAY_METHOD.discount);\n\n const summaryData = {\n recalculate_discounts: recalculateDiscounts,\n cancel_offer_ids: canceledOffer.map(o => o.offer_id),\n territory: territory,\n cart_id: (orderInfo || {}).id || cartId,\n business_id: (orderInfo || {}).business_id || action.payload?.businessId,\n customer_id: action?.payload?.userId,\n products: products,\n delivery_type: isSingleOrder ? deliveryType : DELIVERY_TYPE.takeAway,\n delivery_datetime: deliveryStrategy === DELIVERY_STRATEGY.asap ? null : deliveryTime,\n delivery_strategy: deliveryStrategy,\n location: address && address.location ? {\n lat: address.location.latitude || address.location.lat,\n lng: address.location.longitude || address.location.lng\n } : null,\n paymethod_ids: payments ? payments.map(p => p.paymethod_id === PAY_METHOD.terminal ? PAY_METHOD.creditCard : p.paymethod_id) : null,\n cancel_payment_ids: cancelPaymentIds,\n coupon: (coupon || '').trim(),\n requested_bonus: bonus ? bonus.price || bonus.saleAmount : null,\n requested_discount: discount ? discount.price || discount.saleAmount : null,\n driver_tip: courierTip,\n };\n const resultRequest = yield call(getOrderPrice, summaryData);\n if(requestResultIsOk(resultRequest)) {\n const summary = objectKeysToUpperLowerCase(resultRequest.data);\n yield put(setEditCustomerOrderProducts(summary.products));\n yield put(setEditCustomerOrderCourierTip(summary.driver_tip));\n const bonus = payments.find(p => p.paymethod_id === PAY_METHOD.bonus);\n if(bonus && summary.approved_bonus !== bonus.saleAmount) {\n yield put(setEditCustomerOrderSummary(summary));\n const newPayments = payments.map(p => p.paymethod_id === PAY_METHOD.bonus ? {...p, saleAmount: summary.approved_bonus} : p);\n yield put(setEditCustomerOrderPayments(distributeAmount(\n action.payload?.isEdit\n ? summary.payment_balance\n : summary.final_price,\n newPayments, summary.max_allowed_bonus, summary.min_credit_card_amount)));\n } else if(action.payload?.isEdit && oldSummary && oldSummary.payment_balance !== summary.payment_balance) {\n yield put(setEditCustomerOrderSummary(summary));\n yield put(setEditCustomerOrderPayments(distributeAmount(summary.payment_balance, payments, summary.max_allowed_bonus, summary.min_credit_card_amount)));\n yield put(getEditCustomerOrderSummary({isEdit: action.payload?.isEdit, businessId: action.payload?.businessId, userId: action?.payload?.userId}));\n return\n } else if(oldSummary && oldSummary.final_price !== summary.final_price) {\n yield put(setEditCustomerOrderSummary(summary));\n yield put(setEditCustomerOrderPayments(distributeAmount(summary.final_price, payments, summary.max_allowed_bonus, summary.min_credit_card_amount)));\n yield put(getEditCustomerOrderSummary({isEdit: action.payload?.isEdit, businessId: action.payload?.businessId, userId: action?.payload?.userId}));\n return\n }\n yield put(setEditCustomerOrderSummary(summary));\n yield put(setEditCustomerOrderLoading(false));\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(resultRequest));\n }\n }, action.type);\n}\n\nfunction* confirmOrderUpdateSaga(action) {\n yield* createSaga(function*() {\n yield put(setConfirmEditCustomerOrderLoading(true));\n const {orderInfo, recalculateDiscounts, coupon, canceledOffer, territory, deliveryType, comment, products, courierTip, cancelPaymentIds, giftOption, summary, payments, cutlery, deliveryTime, deliveryStrategy, address} = yield select(state => state.editCustomerOrder);\n const paymentRequest = payments.map(p => ({\n sale_amount: Math.round(p.saleAmount * 100),\n paymethod_id: p.paymethod_id === PAY_METHOD.terminal ? PAY_METHOD.creditCard : p.paymethod_id,\n payment_data: p.payme_sale_id || p.token,\n provider: p.provider,\n card_type: p.card_type || p.type,\n card_expiry: p.expiry,\n }));\n const paymentsNeed = summary.payment_balance > 0;\n const hasCoupon = summary?.discounts?.find(d => d.offer_type === 2 && d.coupon);\n\n const body = {\n recalculate_discounts: recalculateDiscounts,\n cancel_offer_ids: (canceledOffer || []).map(o => o.offer_id),\n territory,\n cart_id: orderInfo.id,\n business_id: orderInfo.business_id,\n delivery_type: deliveryType,\n delivery_datetime: deliveryStrategy === DELIVERY_STRATEGY.asap ? null : deliveryTime,\n delivery_strategy: deliveryStrategy,\n comment: comment,\n cutlery: cutlery,\n final_price: summary.final_price,\n products: products,\n payment_requests: paymentRequest && paymentsNeed ? paymentRequest : [],\n driver_tip: courierTip,\n gift_option: giftOption && giftOption.isGift ? {\n full_name: giftOption.name,\n phone: giftOption.phone,\n greeting: giftOption.greeting,\n } : null,\n cancel_payment_ids: cancelPaymentIds,\n location: address && address.location ? {\n lat: address.location.latitude || address.location.lat,\n lng: address.location.longitude || address.location.lng\n } : null,\n city: address && address.city,\n address: address && address.address,\n address_notes: address && address.address_notes,\n flat: address && address.flat,\n storey: address && address.storey,\n coupon: hasCoupon ? (coupon || '').trim() : '',\n }\n try {\n const hasStripe = payments.some(p => p.paymethod_id === PAY_METHOD.creditCard && p.provider === PAYMENT_PROVIDER.Stripe);\n if(hasStripe) {\n yield put(confirmEditCustomerOrderByStripe({body, changeInPlace: action.payload.changeInPlace}));\n } else {\n yield put(confirmEditCustomerOrderFinal({body, changeInPlace: action.payload.changeInPlace}));\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n yield put(setConfirmEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* confirmOrdeNewSaga(action) {\n yield* createSaga(function*() {\n yield put(setConfirmEditCustomerOrderLoading(true));\n const {deliveryType, changeInPlace, coupon, cartId, territory, menu, products, comment, courierTip, giftOption, summary, payments, cutlery, deliveryTime, deliveryStrategy, address} = yield select(state => state.editCustomerOrder);\n const paymentRequest = payments.map(p => ({\n sale_amount: Math.round(p.saleAmount * 100),\n paymethod_id: p.paymethod_id === PAY_METHOD.terminal ? PAY_METHOD.creditCard : p.paymethod_id,\n payment_data: p.payme_sale_id || p.token,\n provider: p.provider,\n card_type: p.card_type || p.type,\n card_expiry: p.expiry,\n }));\n\n const hasCoupon = summary?.discounts?.find(d => d.offer_type === 2 && d.coupon);\n\n const body = {\n territory,\n cart_id: cartId,\n customer_id: action.data.user?.id,\n phone: action.data.user?.phone,\n email: action.data.user?.email,\n business_id: menu.id,\n delivery_type: deliveryType,\n delivery_datetime: deliveryStrategy === DELIVERY_STRATEGY.asap ? null : deliveryTime,\n delivery_strategy: deliveryStrategy,\n comment: comment,\n cutlery: cutlery,\n final_price: summary.final_price,\n products: products,\n payment_requests: paymentRequest ? paymentRequest : [],\n driver_tip: courierTip,\n gift_option: giftOption && giftOption.isGift ? {\n full_name: giftOption.name,\n phone: giftOption.phone,\n greeting: giftOption.greeting,\n } : null,\n\n location: address && address.location ? {\n lat: address.location.latitude || address.location.lat,\n lng: address.location.longitude || address.location.lng\n } : null,\n city: address && address.city,\n address: address && address.address,\n address_notes: address && address.address_notes,\n flat: address && address.flat,\n storey: address && address.storey,\n coupon: hasCoupon ? (coupon || '').trim() : '',\n }\n try {\n const hasStripe = payments.some(p => p.paymethod_id === PAY_METHOD.creditCard && p.provider === PAYMENT_PROVIDER.Stripe);\n if(hasStripe) {\n yield put(confirmEditCustomerOrderByStripe({body, changeInPlace}));\n } else {\n yield put(confirmEditCustomerOrderFinal({body, changeInPlace}));\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n }\n }, action.type);\n}\n\nconst prepearePaymentsData = (stripePaymentIntents, cartPayments, provider) => {\n const paymentsStripe = stripePaymentIntents.map(p => ({\n paymethod_id: PAY_METHOD.creditCard,\n sale_amount: p.saleAmount,\n payment_data: p.id || null,\n card_type: p.cardType || p.card_type || p.type || null,\n provider: provider,\n card_expiry: p.expiry,\n }));\n const paymentsWithoutStripe = cartPayments.filter(p => p.paymethod_id !== PAY_METHOD.creditCard).map(p => ({\n paymethod_id: p.paymethod_id,\n sale_amount: p.saleAmount || p.sale_amount,\n payment_data: p.payment_data || p.token || null,\n card_type: p.cardType || p.card_type || p.type || null,\n provider: provider,\n expiry: p.expiry || p.card_expiry,\n }));\n return [].concat(paymentsStripe).concat(paymentsWithoutStripe);\n}\n\nfunction* confirmOrderByStripeSaga(action) {\n yield* createSaga(function*() {\n try {\n const {provider, publicStripeKey} = yield select(state => state.restaurant.data.paymentsConfiguration);\n const {payment_requests, territory, products, driver_tip, delivery_type, delivery_datetime, location, coupon, requested_bonus, business_id} = action.data.body;\n const stripeCards = payment_requests.filter(p => p.paymethod_id === PAY_METHOD.creditCard);\n const paymentIntentRequests = yield all(stripeCards.map(p =>\n call(getPaymentIntent, {\n products, driver_tip, delivery_type, delivery_datetime, business_id,\n location, coupon,\n //email\n territory,\n requested_bonus: requested_bonus || 0,\n payment_data: p.payment_data,\n sale_amount: p.sale_amount,\n paymethod_id: PAY_METHOD.creditCard,\n }))\n )\n const stripePaymentIntents = paymentIntentRequests.map((p, i) => ({\n ...p.data,\n cardId: stripeCards[i].id,\n saleAmount: stripeCards[i].sale_amount,\n cardType: stripeCards[i].type,\n expiry: stripeCards[i].expiry || stripeCards[i].card_expiry\n }));\n\n if(stripePaymentIntents.every(p => p.confirmed)) {\n const payments = prepearePaymentsData(stripePaymentIntents, payment_requests, provider);\n yield put(confirmEditCustomerOrderFinal({body: {\n ...action.data.body,\n payment_requests: payments\n }, changeInPlace: action.data.changeInPlace}));\n return;\n }\n\n const stripe = yield call(loadStripe, publicStripeKey, {location: i18n.language})\n for(let i = 0; i < stripePaymentIntents.length; i++) {\n const payment = stripePaymentIntents[i];\n if(!payment.confirmed) {\n const {paymentIntent, error} = yield call(stripe.confirmCardPayment, payment.client_secret, {\n payment_method: payment.payment_method_id,\n });\n\n if(paymentIntent) {\n payment.id = paymentIntent.id;\n }\n if(error) {\n throw new Error(error.message);\n }\n }\n }\n const payments = prepearePaymentsData(stripePaymentIntents, payment_requests, provider);\n yield put(confirmEditCustomerOrderFinal({ body: {\n ...action.data.body,\n payment_requests: payments,\n }, changeInPlace: action.data.changeInPlace\n }));\n\n } catch (e) {\n toast.error(getErrorMessage(e));\n } finally {\n yield put(setConfirmEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* confirmOrderFinalSaga(action) {\n yield* createSaga(function*() {\n try {\n const request = yield call(setCreatedOrders, action.data.body);\n if(requestResultIsOk(request)) {\n yield put(actionAdminOrderUpdate(request.data));\n if(action.data.changeInPlace) {\n Store.history.push('/?orderId=' + request.data.id);\n } else {\n yield put(setAdminOrderSelectedOrderId(request.data.id));\n Store.history.push(`${CUSTOMER_SERVICE_MODEL.order}?searchStr=${request.data.id}`);\n }\n yield put(resetCustomerOrderEditInfo());\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n } finally {\n yield put(setConfirmEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* checkUserBuPhone(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n try {\n const response = yield call(getCustomers, {search: action.data});\n if(requestResultIsOk(response)) {\n return objectKeysToUpperLowerCase(response.data);\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* createConsumerUserSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const user = {...action.data};\n try {\n user.birthdate = user.birth ? new Date(user.birth) : null;\n delete user.birth;\n delete user.id;\n const response = yield call(createCustomer, user);\n if(requestResultIsOk(response)) {\n const data = objectKeysToUpperLowerCase(response.data);\n data.phone = data.phone.nationalFormatedNumber;\n return data;\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* getPreviousOrderSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n try {\n const response = yield call(fetchAdminOrders, {Search: action.data});\n if(requestResultIsOk(response)) {\n const orders = response.data;\n yield put(setPreviousOrder(orders));\n const map = new Map();\n orders && orders.forEach(order => {\n const id = `${order.city || ''} ${order.address || ''}`.trim();\n if(!(id && id.length) || (map.has(id) && order.location)) {\n return;\n }\n map.set(id, {\n id: id,\n city: order.city,\n address: order.address,\n address_notes: order.address_notes,\n flat: order.flat,\n location: {latitude: order.location.lat, longitude: order.location.lng},\n storey: order.storey,\n });\n });\n\n if(map.size) {\n yield put(setPreviousAddressByOrders(Array.from(map.values())));\n }\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* getBusinessByFiltersSaga(action) {\n yield* createSaga(function*() {\n const territory = yield select(state => state.editCustomerOrder.territory);\n yield put(setEditCustomerOrderLoading(true));\n try {\n const response = yield call(getBusinessWithQuery, {\n minimal_data: true,\n location: action.data.location,\n query: action.data.query,\n search_type: action.data.searchType,\n business_category_id: action.data.category,\n customer_id: action.data.customerId,\n territory,\n });\n if(requestResultIsOk(response)) {\n yield put(setBusinessOrdersByFilters(response.data));\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* getBusinessMenuSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n try {\n const resultRequestMenu = yield call(getCallCenterMenu, action.data);\n if(requestResultIsOk(resultRequestMenu)) {\n const menu = objectKeysToUpperLowerCase(resultRequestMenu.data);\n yield put(setEditCustomerOrderData(menu));\n yield put(setBusinessMenu(menu));\n }\n return;\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n return;\n }\n }, action.type);\n}\n\nfunction* repeatOrderSaga(action) {\n yield* createSaga(function*() {\n const user = yield select(state => state.editCustomerOrder.user);\n yield put(setEditCustomerOrderLoading(true));\n let body = null;\n try {\n const resultRequestMenu = yield call(getCallCenterMenu, action.data.business_id);\n if(requestResultIsOk(resultRequestMenu)) {\n const menu = objectKeysToUpperLowerCase(resultRequestMenu.data);\n delete action.data.id;\n body = editCustomerOrderModel({ ...action.data, menu, delivery_strategy: DELIVERY_STRATEGY.asap });\n const productIds = menu.categories.flatMap(c => c.products).filter(p => p.enabled).map(p => p.id);\n\n body.products = body.products.filter(p => productIds.includes(p.id)).map(p => ({...p, actual_weight: 0}));\n if(action.data.saveUserData) {\n body.user = {...action.data.consumerInfo, id: action.data.consumerInfo.consumerId};\n body.toChekout = true;\n } else if(user) {\n body.user = user;\n }\n\n if(action.data.fetchUserData) {\n const request = yield call(fetchConsumerInfo, action.data.customer_id);\n const user = objectKeysToUpperLowerCase(request.data);\n body.user = {...user, id: user.consumerId};\n body.toChekout = true;\n }\n if(action.data.changeInPlace) {\n body.changeInPlace = true;\n }\n yield put(setEditCustomerOrderData(menu));\n yield put(setBusinessMenu(menu));\n yield put(resetCustomerOrderEditInfo(body));\n }\n return body;\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n return body;\n }\n }, action.type);\n}\n\nfunction* getUserCardsByIdSaga(action) {\n yield put(setEditCustomerOrderLoading(true));\n yield* createSaga(function*() {\n try {\n const provider = yield select(state => state.restaurant.data.paymentsConfiguration.provider);\n const paymentCards = yield call(fetchConsumerCardsById, action.data.userId);\n if(requestResultIsOk(paymentCards)) {\n yield put(setEditCustomerOrderEnabledPayments(\n paymentCards.data.filter(p => p.provider === provider)\n ));\n }\n } catch (e) {\n toast.error(getErrorMessage(e));\n return e;\n } finally {\n yield put(setEditCustomerOrderLoading(false));\n }\n }, action.type);\n}\n\nfunction* confirmOrderWithEditedWeightSaga(action) {\n yield* createSaga(function*() {\n try {\n const order = {...action.data};\n const body = {\n cancel_payment_ids: null,\n recalculate_discounts: false,\n cancel_offer_ids: [],\n cart_id: order.id,\n business_id: order.business_id,\n delivery_type: order.delivery_type,\n delivery_datetime: order.delivery_strategy === DELIVERY_STRATEGY.asap ? null : order.delivery_datetime,\n delivery_strategy: order.delivery_strategy,\n comment: order.comment,\n cutlery: order.cutlery,\n final_price: order.final_price,\n products: order.products,\n payment_requests: [],\n driver_tip: order.driver_tip,\n gift_option: order.giftOption && order.giftOption.isGift ? {\n full_name: order.giftOption.name,\n phone: order.giftOption.phone,\n greeting: order.giftOption.greeting,\n } : null,\n location: order.location ? {\n lat: order.location.latitude || order.location.lat,\n lng: order.location.longitude || order.location.lng\n } : null,\n city: order.city,\n address: order.address,\n address_notes: order.address_notes,\n flat: order.flat,\n storey: order.storey,\n coupon: order.coupon,\n territory: order.entity_id,\n reuse_payment_method: true,\n };\n const request = yield call(setCreatedOrders, body);\n return request.data;\n } catch (e) {\n toast.error(getErrorMessage(e));\n return null;\n } finally {\n }\n }, action.type);\n}\n\nfunction* orderPriceQuickEditSaga(action) {\n yield* createSaga(function*() {\n try {\n const summaryData = {\n recalculate_discounts: null,\n cancel_offer_ids: null,\n territory: action.data.entity_id,\n cart_id: action.data.id,\n business_id: action.data.business_id,\n // customer_id: action.data.customer_id,\n products: action.data.products,\n delivery_type: action.data.delivery_type,\n delivery_datetime: action.data.delivery_datetime,\n delivery_strategy: action.data.delivery_strategy,\n location: action.data.location,\n cancel_payment_ids: null,\n coupon: (action.data.coupon || \"\").trim(),\n requested_bonus: action.data.requested_bonus,\n requested_discount: action.data.requested_discount,\n driver_tip: action.data.driver_tip,\n };\n const resultRequest = yield call(getOrderPrice, summaryData);\n return resultRequest.data;\n } catch (e) {\n toast.error(getErrorMessage(e));\n return null;\n } finally {\n }\n }, action.type);\n}\n\nfunction* importBatchTemplateSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n let request = null;\n if(action.data.empty) {\n request = yield call(importTemplateBatchOrder, null);\n } else {\n const file = action.data?.file\n if(!file) {\n yield put(setEditCustomerOrderLoading(false));\n return;\n };\n request = yield call(importTemplateBatchOrder, file);\n }\n if(!requestResultIsOk(request)) {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(request));\n }\n const table = objectKeysToUpperLowerCase(request.data);\n yield put(setBatchCustomersTable(table));\n yield put(addTemplateBatchDrafts(table));\n yield put(setEditCustomerOrderLoading(false));\n return table;\n }, action.type);\n}\n\nfunction* verifySingleTableRowBatchSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const {temporaryId, ...row} = action.data.row;\n const response = yield call(\n temporaryId ? createBatchOrderRow : updateBatchOrderRow,\n action.data.id,\n getInitModel(MODEL_TYPE.consumerServerModel, row),\n );\n\n if(requestResultIsOk(response)) {\n const data = objectKeysToUpperLowerCase(response.data);\n if(temporaryId) {\n yield put(changeTemporaryConsumer({row: data, temporaryId }));\n } else {\n yield put(updateBatchCustomersTableRow({row: data}));\n }\n yield put(setEditCustomerOrderLoading(false));\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(response));\n }\n }, action.type);\n}\n\nfunction* deleteSingleTableRowBatchSaga(action) {\n yield* createSaga(function*() {\n if(action.data.row.temporaryId) {\n yield put(deleteBatchCustomersTableRow(action.data.row.temporaryId));\n return;\n }\n const response = yield call(\n deleteBatchOrderRow,\n action.data.id,\n action.data.row.id\n );\n if(requestResultIsOk(response)) {\n yield put(deleteBatchCustomersTableRow(action.data.row.id));\n }\n }, action.type);\n}\n\n\nfunction* exportBatchTemplateSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const requestResult = yield call(exportTemplateBatchOrder);\n if (requestResultIsOk(requestResult)) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n yield put(setEditCustomerOrderLoading(false));\n saveAs(blob, fileName);\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getBatchTemplatesSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getTemplateBatchDrafts);\n if (requestResultIsOk(requestResult)) {\n yield put(setTemplateBatchDrafts(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getTimeSlotsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getOrderTimeSlots, {\n delivery_type: action.data.deliveryType,\n territory: action.data.territory,\n });\n if (requestResultIsOk(requestResult)) {\n yield put(setOrderTimeSlots(objectKeysToUpperLowerCase(requestResult.data)));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteBatchTemplatesSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(deleteTemplateBatchDraft, action.data);\n if (requestResultIsOk(requestResult)) {\n yield put(deleteBatchTemplateDraft(action.data));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getTemplateBatchByIdSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(getTemplateBatchDraftById, action.data);\n if (requestResultIsOk(requestResult)) {\n const template = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setBatchCustomersTable(template));\n if(template.gift_option) {\n yield put(setEditCustomerOrderGiftOptions({\n greeting: template.gift_option.greeting,\n phone: template.gift_option.phone,\n name: template.gift_option.full_name,\n isGift: true\n }))\n }\n return template;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateBatchOrderCommentSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(updateBatchOrderComment, action.data.id, action.data.comment);\n if (requestResultIsOk(requestResult)) {\n const batchTemplate = yield select(state => state.editCustomerOrder.batchTable);\n const template = { ...batchTemplate, comment: (objectKeysToUpperLowerCase(requestResult.data) || {}).comment || '' };\n yield put(setBatchCustomersTable(template));\n yield put(updateTemplateBatchDraft(template));\n return template;\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* getTemplateBatchOrderPriceSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const { discount, discountFromBatch } = action.data || {};\n const { products, menu, batchTable, territory } = yield select(state => state.editCustomerOrder);\n const orderProducts = (products.length ? products : batchTable.products) || [];\n const discountValue = discountFromBatch ? batchTable.discount : discount;\n const requestResult = yield call(getTemplateBatchOrderPrice, batchTable.id, {\n business_id: menu?.id || batchTable.business_id, products: orderProducts, territory_id: territory,discount: discountValue || 0\n });\n if (requestResultIsOk(requestResult)) {\n const template = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setBatchCustomersTable(template));\n yield put(setEditCustomerOrderSummary(template));\n yield put(setEditCustomerOrderProducts(template.products));\n yield put(setEditCustomerOrderLoading(false));\n return template;\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* updateSelectedBusinessConsumerSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const {row, businessId, deliveryType} = action.data;\n const { batchTable } = yield select(state => state.editCustomerOrder);\n const requestResult = yield call(updateDeliveryBusinessBatchOrder, batchTable.id, row.id, {\n selected_business_id: businessId || row.selected_business_id,\n delivery_type: deliveryType || row.delivery_type,\n });\n if (requestResultIsOk(requestResult)) {\n const template = objectKeysToUpperLowerCase(requestResult.data);\n yield put(setBatchCustomersTable(template));\n yield put(setEditCustomerOrderLoading(false));\n return template;\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* processBatchTableSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const {templateId} = action.data;\n const requestResult = yield call(processBatchOrder, templateId);\n\n if (requestResultIsOk(requestResult)) {\n const template = objectKeysToUpperLowerCase(requestResult.data);\n yield put(updateTemplateBatchDraft(template));\n yield put(setEditCustomerOrderLoading(false));\n return template;\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* confirmBatchOrderSaga(action) {\n yield* createSaga(function*() {\n yield put(setEditCustomerOrderLoading(true));\n const { discount } = action.data ?? 0;\n const { batchTable, bulkEmail, payments, giftOption, batchDraft, isSingleOrder,invoice_recipient } = yield select(state => state.editCustomerOrder);\n const payment = payments[0] || null;\n const batchPaymentModel = {\n email: bulkEmail,\n invoiceRecipient: invoice_recipient,\n giftOption: giftOption.isGift ? {\n greeting: giftOption.greeting,\n full_name: giftOption.name,\n phone: giftOption.phone,\n } : null ,\n paymentRequests: payment ? [{\n sale_amount: batchTable.price * 100,\n paymethod_id: payment.paymethod_id,\n payment_data: payment.payme_sale_id || payment.token,\n provider: payment.provider,\n card_type: payment.card_type || payment.type,\n card_expiry: payment.expiry,\n }] : []\n }\n if(discount) {\n batchPaymentModel.paymentRequests = batchPaymentModel.paymentRequests\n .map(p => ({ ...p, sale_amount: batchTable.price * 100 }))\n .concat({\n paymethod_id: PAY_METHOD.discount,\n sale_amount: discount * 100,\n });\n }\n const requestResult = yield call(submitBatchOrder, batchTable.id, batchPaymentModel);\n if (requestResultIsOk(requestResult)) {\n const template = objectKeysToUpperLowerCase(requestResult.data);\n yield put(resetCustomerOrderEditInfo({ batchDraft, batchTable: template, isSingleOrder }))\n yield put(updateTemplateBatchDraft(template));\n yield put(setEditCustomerOrderLoading(false));\n return template;\n } else {\n yield put(setEditCustomerOrderLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport default function* () {\n yield takeEvery(GET_ORDER_INFO_AND_MENU, getOrderInfoAndMenuSaga);\n yield takeLatest(GET_EDIT_CUSTOMER_ORDER_SUMMARY, getOrderSummarySaga);\n yield takeEvery(ORDER_PRICE_QUICK_EDIT, orderPriceQuickEditSaga);\n yield takeEvery(SET_EDIT_CUSTOMER_ORDER_CONFIRM, confirmOrderUpdateSaga);\n yield takeEvery(SET_EDIT_CUSTOMER_ORDER_NEW_CONFIRM, confirmOrdeNewSaga);\n yield takeEvery(CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE, confirmOrderByStripeSaga);\n yield takeEvery(CONFIRM_EDIT_CUSTOMER_ORDER_FINAL, confirmOrderFinalSaga);\n yield takeEvery(CHECK_USER_BY_PHONE, checkUserBuPhone);\n yield takeEvery(CREATE_CONSUMER_USER, createConsumerUserSaga);\n yield takeEvery(GET_PREVIOUS_ORDERS, getPreviousOrderSaga);\n yield takeEvery(GET_BUSINESS_BY_FILTERS, getBusinessByFiltersSaga);\n yield takeEvery(GET_BUSINESS_MENU, getBusinessMenuSaga);\n yield takeEvery(REPEAT_ORDER, repeatOrderSaga);\n yield takeEvery(CONFIRM_ORDER_WITH_EDITED_WEIGHT, confirmOrderWithEditedWeightSaga);\n yield takeEvery(GET_USER_CARDS_BY_ID, getUserCardsByIdSaga);\n yield takeEvery(IMPORT_BATCH_TEMPLATE, importBatchTemplateSaga);\n yield takeEvery(EXPORT_BATCH_TEMPLATE, exportBatchTemplateSaga);\n yield takeEvery(VERIFY_SINGLE_TABLE_ROW_BATCH_CUSTOMERS, verifySingleTableRowBatchSaga);\n yield takeEvery(DELETE_SINGLE_TABLE_ROW_BATCH_CUSTOMERS, deleteSingleTableRowBatchSaga);\n yield takeEvery(GET_TEMPLATE_BATCH_DRAFTS, getBatchTemplatesSaga);\n yield takeEvery(GET_ORDER_TIME_SLOTS, getTimeSlotsSaga);\n yield takeEvery(DELETE_BATCH_DRAW_TEMPLATE, deleteBatchTemplatesSaga);\n yield takeEvery(GET_TEMPLATE_BATCH_BY_ID, getTemplateBatchByIdSaga);\n yield takeEvery(UPDATE_BATCH_TEMPLATE_COMMENT, updateBatchOrderCommentSaga);\n yield takeEvery(GET_TEMPLATE_BATCH_ORDER_PRICE, getTemplateBatchOrderPriceSaga);\n yield takeEvery(UPDATE_SELECTED_BUSINESS_CONSUMER, updateSelectedBusinessConsumerSaga);\n yield takeEvery(CONFIRM_BATCH_ORDER, confirmBatchOrderSaga);\n yield takeEvery(PROCESS_BATCH_ORDER, processBatchTableSaga);\n}\n","const countDecimals = (num) => {\n if (Math.floor(num) === num) return 0;\n return num.toString().split(\".\")[1].length || 0;\n};\n\nexport default countDecimals;\n","import {call, put, select, takeEvery} from 'redux-saga/effects';\nimport {createAction, createSaga, ErrorData} from '../../utils/sagaHelper.js';\nimport {actionSetSectionItemsLoading} from '../reducers/sectionsWrapperData/sectionsWrapperData-actions.js';\nimport {\n approveReconciliationsPeriod,\n deleteReconciliationsConfiguration,\n deleteReconciliationsPeriods, exportReconciliationsConfigurations,\n exportReconciliationsPeriod,\n exportReconciliationsPeriodTableInvoice,\n exportReconciliationsPeriodTableXls,\n fetchReconciliationsConfigurationDepots, fetchReconciliationsConfigurationDepotsWithoutTerritory,\n fetchReconciliationsConfigurations,\n fetchReconciliationsPeriodById,\n fetchReconciliationsPeriods,\n getMergedConfiguration, importReconciliationsConfigurations,\n invoiceReconciliationsPeriod,\n postReconciliationsConfiguration,\n postReconciliationsPeriods,\n recalculateReconciliationsPeriod,\n updateReconciliationsConfiguration,\n updateReconciliationsPeriod,\n xlsReconciliationsPeriod,\n} from '../../api/reconciliation-requests.js';\nimport {getErrorMessage, requestResultIsOk} from '../../utils/request-util.js';\nimport {saveAs} from 'file-saver';\nimport {\n actionAddReconciliationsConfigurations,\n actionAddReconciliationsPeriods,\n actionLoadReconciliationsConfigurations,\n actionLoadReconciliationsPeriod,\n actionLoadReconciliationsPeriods,\n actionUpdateReconciliationsConfigurations,\n actionUpdateReconciliationsConfigurationsDepots,\n actionUpdateReconciliationsConfigurationsMERGE,\n RECONCILIATIONS_CONFIGURATIONS_ADD,\n RECONCILIATIONS_CONFIGURATIONS_DELETE,\n RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET,\n RECONCILIATIONS_CONFIGURATIONS_EDIT, RECONCILIATIONS_CONFIGURATIONS_EXPORT,\n RECONCILIATIONS_CONFIGURATIONS_GET, RECONCILIATIONS_CONFIGURATIONS_IMPORT,\n RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET, RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET,\n RECONCILIATIONS_PERIOD_GET,\n RECONCILIATIONS_PERIODS_ADD,\n RECONCILIATIONS_PERIODS_APPROVE,\n RECONCILIATIONS_PERIODS_DELETE,\n RECONCILIATIONS_PERIODS_EDIT,\n RECONCILIATIONS_PERIODS_EXPORT,\n RECONCILIATIONS_PERIODS_GET,\n RECONCILIATIONS_PERIODS_INVOICE,\n RECONCILIATIONS_PERIODS_RECALCULATE,\n RECONCILIATIONS_PERIODS_RELOAD,\n RECONCILIATIONS_PERIODS_TABLE_INVOICE_EXPORT,\n RECONCILIATIONS_PERIODS_TABLE_XLS_EXPORT,\n RECONCILIATIONS_PERIODS_XLS,\n} from '../reducers/reconciliationModel/reconciliationModel-actions.js';\nimport {objectKeysToUpperLowerCase} from '../../utils/objects-util.js';\nimport {getHistoryLocationParams} from '../../utils/routesHelper.js';\nimport {getInitModel} from '../../services/initModels.js';\nimport {MODEL_TYPE} from '../../utils/enums.js';\nimport {reconciliationsSettingsAddModel} from '../../models/reconciliationsSettingsTemplateModel.js';\nimport {getReconciliationSettings} from \"../selectors.js\";\nimport countDecimals from \"../../utils/getCountDecimal.js\";\nimport i18n from \"../../i18n.js\";\nimport {getTerritoriesEntity} from \"../../services/restaurant.js\";\n\nfunction* exportReconciliationsConfigurationsSaga(action) {\n yield* createSaga(function*() {\n const requestResult = yield call(exportReconciliationsConfigurations);\n if (requestResultIsOk(requestResult)) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = '';\n try {\n fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\")) || decodeURIComponent(escape(atob(c.split('?')[3])));\n } catch (e) {\n fileName = `Reconciliations.xlsx`;\n }\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* importReconciliationsConfigurationsSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const file = action.data?.file\n if(!file) return\n const requestResult = yield call(importReconciliationsConfigurations, file);\n if (requestResultIsOk(requestResult)) {\n yield call(getReconciliationsConfigurationsSaga, {});\n yield put(actionSetSectionItemsLoading(false));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action?.type);\n}\n\nexport function* getReconciliationsConfigurationsSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(fetchReconciliationsConfigurations);\n\n if (requestResultIsOk(requestResult)) {\n let data = objectKeysToUpperLowerCase(requestResult.data);\n\n const config = data.find(c => c.id === getHistoryLocationParams(window.location.search).id);\n if(!config?.parentId) {\n yield put(actionUpdateReconciliationsConfigurationsMERGE(null));\n }\n\n if(!getTerritoriesEntity().length) {\n yield put(createAction(RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET));\n }\n\n data = data.map((setting) => ({\n ...setting,\n fees: Object.entries(setting.fees).reduce((acc, [key, value]) => {\n if(value === 0){\n acc[key] = 0;\n } else {\n acc[key] = value ? +value * 100 : null;\n acc[key] = (acc[key] && countDecimals(acc[key]) > 4) ? acc[key].toFixed(5) : acc[key];\n }\n return acc;\n }, {})\n }));\n\n yield put(actionLoadReconciliationsConfigurations(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* addReconciliationsConfigurationSaga(action) {\n yield* createSaga(function*() {\n\n yield put(actionSetSectionItemsLoading(true));\n\n const state = yield select(getReconciliationSettings);\n let allConfigurations = [];\n\n\n if(state){\n allConfigurations = [...state];\n }\n\n let configurationModel = getInitModel(MODEL_TYPE.reconciliationsSettingsTemplateModel, action.data);\n configurationModel = {\n ...configurationModel,\n fees: Object.entries(configurationModel.fees).reduce((acc, [key, value]) => {\n acc[key] = value ? (+value / 100) : null;\n if(acc[key] && countDecimals(acc[key]) > 7){\n acc[key] = +acc[key].toFixed(8)\n }\n return acc;\n }, {})\n };\n configurationModel = reconciliationsSettingsAddModel(configurationModel, allConfigurations);\n\n if(configurationModel?.depotIds) {\n const uniqueIds = new Set(configurationModel.depotIds);\n\n const uniqueIdArray = Array.from(uniqueIds);\n if(uniqueIdArray) {\n configurationModel.depotIds = uniqueIdArray;\n }\n }\n\n const { isDirty, refreshedValue, ...newData } = configurationModel;\n\n const requestResult = yield call(postReconciliationsConfiguration, newData);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionAddReconciliationsConfigurations(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n // return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* editReconciliationsConfigurationSaga(action) {\n yield* createSaga(function*() {\n const { id: configurationId } = getHistoryLocationParams(window.location.search);\n yield put(actionSetSectionItemsLoading(true));\n let configurationModel = getInitModel(MODEL_TYPE.reconciliationsSettingsTemplateModel, action.data);\n\n\n configurationModel = {\n ...configurationModel,\n fees: Object.entries(configurationModel.fees).reduce((acc, [key, value]) => {\n acc[key] = value ? (+value / 100) : null;\n\n if(acc[key] && countDecimals(acc[key]) > 7){\n acc[key] = +acc[key].toFixed(8)\n }\n\n return acc;\n }, {})\n };\n\n if(configurationModel?.depotIds) {\n const uniqueIds = new Set(configurationModel.depotIds);\n\n const uniqueIdArray = Array.from(uniqueIds);\n if(uniqueIdArray) {\n configurationModel.depotIds = uniqueIdArray;\n }\n\n }\n\n const { isDirty, refreshedValue, ...newData } = configurationModel;\n\n const requestResult = yield call(updateReconciliationsConfiguration, {\n data: newData,\n configurationId,\n });\n\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionUpdateReconciliationsConfigurations(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\nexport function* fetchReconciliationsConfigurationDepotsSaga(action) {\n yield* createSaga(function*() {\n const territoryId = action.data;\n if(typeof territoryId !== \"string\"){\n return;\n }\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(fetchReconciliationsConfigurationDepots, territoryId);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n data.depots.sort((a, b) => {\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionUpdateReconciliationsConfigurationsDepots(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* fetchReconciliationsConfigurationDepotsWithoutTerritorySaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n\n const requestResult = yield call(fetchReconciliationsConfigurationDepotsWithoutTerritory);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n data.depots.sort((a, b) => {\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionUpdateReconciliationsConfigurationsDepots(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* getMergedConfigurationSaga(action) {\n yield* createSaga(function*() {\n const parentId = action.data;\n const {id} = getHistoryLocationParams(window.location.search);\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(getMergedConfiguration, id, parentId);\n let newConfig = null;\n\n if(requestResult && requestResult.data) {\n newConfig = {\n ...requestResult.data,\n Fees: Object.entries(requestResult.data.Fees).reduce((acc, [key, value]) => {\n if(value === 0){\n acc[key] = 0;\n } else {\n acc[key] = value ? +value * 100 : null;\n acc[key] = (acc[key] && countDecimals(acc[key]) > 4) ? acc[key].toFixed(5) : acc[key];\n }\n return acc;\n }, {})\n }\n }\n\n if (requestResultIsOk(requestResult) && newConfig) {\n const data = objectKeysToUpperLowerCase(newConfig);\n\n yield put(actionUpdateReconciliationsConfigurationsMERGE(data));\n } else {\n yield put(actionUpdateReconciliationsConfigurationsMERGE(null));\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\n\nexport function* editReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n const { id: periodId } = getHistoryLocationParams(window.location.search);\n const data = action?.data?.stats\n yield put(actionSetSectionItemsLoading(true));\n const offsets = {UpdateOffsets: []};\n if(data && data.length > 0){\n data.forEach((e) => {\n offsets.UpdateOffsets.push({StatId: e.territoryId ? e.territoryId : e.id, OffsetValue: +e.offset, isTerritory: !!e.territoryId})\n });\n }\n\n const requestResult = yield call(updateReconciliationsPeriod, {\n data: offsets,\n id: periodId,\n });\n\n const requestRecalculateResult = yield call(recalculateReconciliationsPeriod, {periodRewriteSourceDataModel: true, periodId});\n\n\n if (requestResultIsOk(requestResult) && requestResultIsOk(requestRecalculateResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n data.stats.sort((a, b) => {\n if (a.depotName === null) return 1;\n if (b.depotName === null) return -1;\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n data.territoryStats.sort((a, b) => {\n if (a.territoryStats === null) return 1;\n if (b.territoryStats === null) return -1;\n return a.territoryName.localeCompare(b.territoryName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionLoadReconciliationsPeriod(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* deleteReconciliationsConfigurationSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(deleteReconciliationsConfiguration, action.data.id);\n\n if (requestResultIsOk(requestResult)) {\n yield call(getReconciliationsConfigurationsSaga, {});\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* deleteReconciliationsPeriodsSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(deleteReconciliationsPeriods, action.data.id);\n\n if (requestResultIsOk(requestResult)) {\n yield call(getReconciliationsPeriodsSaga, {});\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* getReconciliationsPeriodsSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(fetchReconciliationsPeriods);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionLoadReconciliationsPeriods(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* getReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n const { id } = getHistoryLocationParams(window.location.search);\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(fetchReconciliationsPeriodById, id);\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n data.stats.sort((a, b) => {\n if (a.depotName === null) return 1;\n if (b.depotName === null) return -1;\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n data.territoryStats.sort((a, b) => {\n if (a.territoryStats === null) return 1;\n if (b.territoryStats === null) return -1;\n return a.territoryName.localeCompare(b.territoryName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionLoadReconciliationsPeriod(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* addReconciliationsPeriodsSaga(action) {\n yield* createSaga(function*() {\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(postReconciliationsPeriods, action.data);\n\n if (requestResultIsOk(requestResult)) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n yield put(actionAddReconciliationsPeriods(data));\n yield put({ type: RECONCILIATIONS_PERIODS_GET });\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* xlsReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n let idPeriod = action.data;\n if(!idPeriod){\n const { id } = getHistoryLocationParams(window.location.search);\n idPeriod = id;\n }\n // yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(xlsReconciliationsPeriod, idPeriod);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n // yield put(actionSetSectionItemsLoading(false));\n return {data: null};\n } else {\n // yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* invoiceReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n let idPeriod = action.data;\n if(typeof idPeriod !== \"string\"){\n const { id } = getHistoryLocationParams(window.location.search);\n idPeriod = id;\n }\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(invoiceReconciliationsPeriod, idPeriod);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n yield put(actionSetSectionItemsLoading(false));\n return {data: null};\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* recalculateReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n const idPeriod = action.data.id;\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(recalculateReconciliationsPeriod, {periodRewriteSourceDataModel: true, periodId: idPeriod});\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n data.stats.sort((a, b) => {\n if (a.depotName === null) return 1;\n if (b.depotName === null) return -1;\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n data.territoryStats.sort((a, b) => {\n if (a.territoryName === null) return 1;\n if (b.territoryName === null) return -1;\n return a.territoryName.localeCompare(b.territoryName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionLoadReconciliationsPeriod(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* reloadReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n const idPeriod = action.data.id;\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(recalculateReconciliationsPeriod, {periodRewriteSourceDataModel: false, periodId: idPeriod});\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const data = objectKeysToUpperLowerCase(requestResult.data);\n\n data.stats.sort((a, b) => {\n if (a.depotName === null) return 1;\n if (b.depotName === null) return -1;\n return a.depotName.localeCompare(b.depotName, i18n.language ? i18n.language: 'en');\n });\n\n data.territoryStats.sort((a, b) => {\n if (a.territoryName === null) return 1;\n if (b.territoryName === null) return -1;\n return a.territoryName.localeCompare(b.territoryName, i18n.language ? i18n.language: 'en');\n });\n\n yield put(actionLoadReconciliationsPeriod(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* approveRecalculateReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n const idPeriod = action?.data?.id;\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(approveReconciliationsPeriod, idPeriod);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const requestPeriodResult = yield call(fetchReconciliationsPeriodById, idPeriod);\n if (requestResultIsOk(requestPeriodResult)) {\n const data = objectKeysToUpperLowerCase(requestPeriodResult.data);\n yield put(actionLoadReconciliationsPeriod(data));\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n yield put(actionSetSectionItemsLoading(false));\n }, action.type);\n}\n\nexport function* exportReconciliationsPeriodSaga(action) {\n yield* createSaga(function*() {\n let idPeriod = action?.data?.id;\n if(!idPeriod){\n const { id } = getHistoryLocationParams(window.location.search);\n idPeriod = id;\n }\n // yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(exportReconciliationsPeriod, idPeriod);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n // yield put(actionSetSectionItemsLoading(false));\n return {data: null};\n } else {\n // yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nexport function* xlsExportReconciliationsPeriodTableSaga(action) {\n yield* createSaga(function*() {\n const { id: periodId } = getHistoryLocationParams(window.location.search);\n let depotId = action.data.depotId;\n let actorType = action.data.isDepot;\n let type = !actorType ? 'territory': 'depot';\n\n // yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(exportReconciliationsPeriodTableXls, periodId, type, depotId);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n // yield put(actionSetSectionItemsLoading(false));\n return {data: null};\n } else {\n // yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\nexport function* invoiceExportReconciliationsPeriodTableSaga(action) {\n yield* createSaga(function*() {\n const { id: periodId } = getHistoryLocationParams(window.location.search);\n let entityId = action.data.depotId;\n let actorType = action.data.isDepot;\n let type = !actorType ? 'territory': 'depot';\n\n yield put(actionSetSectionItemsLoading(true));\n const requestResult = yield call(exportReconciliationsPeriodTableInvoice, periodId, type, entityId);\n\n if (requestResult && requestResult.status === 200 && requestResult.data) {\n const c = requestResult.headers[\"content-disposition\"];\n let fileName = decodeURIComponent(c.split(\";\")[1].trim().split(\"=\")[1].replace(new RegExp('\"', \"g\"), \"\"));\n const octetStreamMime = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n const contentType = requestResult.headers[\"content-type\"] || octetStreamMime;\n const blob = new Blob([requestResult.data], { type: contentType });\n\n saveAs(blob, fileName);\n yield put(actionSetSectionItemsLoading(false));\n return {data: null};\n } else {\n yield put(actionSetSectionItemsLoading(false));\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\n\nexport default function*() {\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_EXPORT, exportReconciliationsConfigurationsSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_IMPORT, importReconciliationsConfigurationsSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_GET, getReconciliationsConfigurationsSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET, getMergedConfigurationSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_ADD, addReconciliationsConfigurationSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_EDIT, editReconciliationsConfigurationSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET, fetchReconciliationsConfigurationDepotsSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET, fetchReconciliationsConfigurationDepotsWithoutTerritorySaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_DELETE, deleteReconciliationsPeriodsSaga);\n yield takeEvery(RECONCILIATIONS_CONFIGURATIONS_DELETE, deleteReconciliationsConfigurationSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_GET, getReconciliationsPeriodsSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_XLS, xlsReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_INVOICE, invoiceReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_TABLE_INVOICE_EXPORT, invoiceExportReconciliationsPeriodTableSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_TABLE_XLS_EXPORT, xlsExportReconciliationsPeriodTableSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_EXPORT, exportReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_APPROVE, approveRecalculateReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_RECALCULATE, recalculateReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_RELOAD, reloadReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_EDIT, editReconciliationsPeriodSaga);\n yield takeEvery(RECONCILIATIONS_PERIODS_ADD, addReconciliationsPeriodsSaga);\n yield takeEvery(RECONCILIATIONS_PERIOD_GET, getReconciliationsPeriodSaga);\n}\n","import { all, fork } from 'redux-saga/effects';\n\nimport routingSaga from './sagas/routing-saga';\nimport initSaga from './sagas/init-saga';\nimport authenticationSaga from './sagas/authentication-saga';\nimport restaurantSaga from './sagas/restaurant-saga';\nimport userModelSaga from './sagas/userModel-saga';\nimport orderSaga from './sagas/order-saga';\nimport orderEditSaga from './sagas/orderEdit-saga';\nimport markerSaga from './sagas/marker-saga';\nimport checkUserAuthenticationSaga from './sagas/checkUserAuthentication-saga';\nimport supportChat from './sagas/supportChat-saga';\nimport billingSaga from './sagas/billing-saga';\nimport customer from './sagas/customer-saga';\nimport editCustomerOrder from './sagas/editCustomerOrder-saga';\nimport reconciliationModelSaga from './sagas/reconciliationModel-saga.js';\n\nexport default function* rootSaga() {\n yield all([\n fork(initSaga),\n fork(authenticationSaga),\n fork(userModelSaga),\n fork(reconciliationModelSaga),\n fork(restaurantSaga),\n fork(billingSaga),\n fork(orderSaga),\n fork(orderEditSaga),\n fork(markerSaga),\n fork(checkUserAuthenticationSaga),\n fork(routingSaga),\n fork(supportChat),\n fork(customer),\n fork(editCustomerOrder),\n ]);\n}\n","import {applyMiddleware, combineReducers, compose, createStore} from 'redux';\nimport {connectRouter, routerMiddleware} from 'connected-react-router';\nimport thunk from 'redux-thunk';\nimport {createBrowserHistory, createMemoryHistory} from 'history';\nimport rootReducer from './root-reducer';\nimport createSagaMiddleware from 'redux-saga';\nimport {composeWithDevTools} from 'redux-devtools-extension';\nimport createReduxWaitForMiddleware from 'redux-wait-for-action';\nimport {batchDispatchMiddleware} from 'redux-batched-actions';\nimport debounce from 'lodash.debounce';\nimport * as Sentry from '@sentry/react';\nimport logger from \"redux-logger\";\nimport rootSaga from './root-saga';\nimport environment from 'environment';\nimport {batchedSubscribe} from '../utils/sagaHelper';\n\n// A nice helper to tell us if we're on the server\nexport const isServer = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction createGlobalStore(url = '/') {\n // Create a history depending on the environment\n const history = isServer\n ? createMemoryHistory({\n initialEntries: [url],\n })\n : createBrowserHistory();\n\n const enhancers = [];\n const sagaMiddleware = createSagaMiddleware();\n let middleware = [thunk, routerMiddleware(history), sagaMiddleware];\n\n // Dev tools are helpful\n if (process.env.NODE_ENV === 'development' && !isServer) {\n const devToolsExtension = window.__REDUX_DEVTOOLS_EXTENSION__;\n if (typeof devToolsExtension === 'function') {\n enhancers.push(devToolsExtension());\n }\n\n middleware = middleware.concat(logger).concat(batchDispatchMiddleware);\n // middleware = middleware.concat(batchDispatchMiddleware);\n }\n\n const sentryReduxEnhancer = Sentry.createReduxEnhancer({\n // Optionally pass options listed below\n });\n enhancers.push(sentryReduxEnhancer);\n\n const debounceNotify = (notify, args) => {\n const { batched } = args.additionalParams || {};\n\n if (batched) {\n debounce(() => notify(), environment.debounceNotifyWait, { maxWait: environment.pusherDebounceNotify });\n } else {\n notify();\n }\n };\n\n const composedEnhancers = compose(\n applyMiddleware(...middleware),\n applyMiddleware(createReduxWaitForMiddleware()),\n ...enhancers,\n batchedSubscribe(debounceNotify)\n );\n\n // Do we have preloaded state available? Great, save it.\n const initialState = !isServer ? window.__PRELOADED_STATE__ : {};\n\n // Delete it once we have it stored in a variable\n if (!isServer) {\n delete window.__PRELOADED_STATE__;\n }\n\n // Create the store\n const store = createStore(\n connectRouter(history)(combineReducers({ ...rootReducer, router: connectRouter(history) })),\n initialState,\n composedEnhancers,\n composeWithDevTools(applyMiddleware(thunk, sagaMiddleware, routerMiddleware(history)))\n );\n\n sagaMiddleware.run(rootSaga);\n\n return {\n store,\n history,\n };\n}\n\nconst currentStore = createGlobalStore();\n\nexport default currentStore;\n","import Store from '../store/store';\nimport {\n ACCOUNT_ORDER_STATUS,\n CONTROL_TYPE,\n CYCLE_STATE,\n DEFAULT_ORDERS_GROUPS,\n DELIVERY_STRATEGY,\n DELIVERY_TYPE,\n EXTERNAL_COURIER_PROVIDER,\n EXTERNAL_CYCLE_STATE,\n FILTER_TYPE,\n getAccountOrderDeliveryStrategyList,\n getAccountOrderStatusList,\n getAccountOrderStatusTitle,\n getOrderChannelNames,\n ORDER_STATE,\n ORDER_TYPE,\n PAY_METHOD,\n PENDING_ORDER_TYPE,\n SHIFT_TYPE,\n SOURCE_TYPE,\n TYPE_MARKER,\n TYPE_STORAGE,\n} from '../utils/enums';\nimport {\n getAddress,\n getMiniAddress,\n getNotes,\n getUIName,\n isDefaultGroup,\n isNotDefaultOrderGroup,\n showGroup,\n} from './order';\nimport {\n getDepotDefaultRegionControlCenterName,\n getDepotName,\n getDepots,\n getTerritoriesEntity,\n isDepotMode\n} from './restaurant';\nimport {\n currentUserIsDepotRole,\n getCourierNameById,\n getFullName,\n getTotalCourierEstimation,\n getUserById\n} from './userModel';\nimport User from './user';\nimport {\n DATE_FORMAT,\n getISOTime,\n oneHour,\n prepareToday,\n} from '../utils/convertTime';\nimport FilterOptionsModel from \"../models/filterOptionsModel.js\";\nimport {getStoreData, saveStoreData} from \"./dataStorage.js\";\nimport i18n from \"../i18n.js\";\n\n///\n///Group, order filters\n///\n\nexport function activeGroupsFilter(group, orders) {\n return group.alwaysShow || (orders && orders.length > 0 && !group.hide);\n}\n\nexport function courierFilter(group) {\n return group.isCourierGroup || isNotDefaultOrderGroup(group.id);\n}\n\nexport function readyGroupFilter(group) {\n return !group.isCourierGroup && isOrdersReady(group) && !isDefaultGroup(group.id);\n}\n\nexport function notReadyGroupFilter(group) {\n return (\n !group.isCourierGroup && !isOrdersReady(group) && !isDefaultGroup(group.id) && !isNotDefaultOrderGroup(group.id)\n );\n}\n\nexport function defaultGroupFilter(group) {\n return isDefaultGroup(group.id);\n}\n\nexport function externalCycleGroupsFilter(externalCycles) {\n return (externalCycles || []).filter(externalCycle => externalCycle.state === EXTERNAL_CYCLE_STATE.started);\n}\n\nexport function externalCycleCouriersBarFilter(externalCycles, selectedControlCenters) {\n const excludedStates = [EXTERNAL_CYCLE_STATE.started, EXTERNAL_CYCLE_STATE.closed, EXTERNAL_CYCLE_STATE.canceled];\n return (externalCycles || []).filter(\n externalCycle =>\n !excludedStates.includes(externalCycle.state) && checkForControlCenter(externalCycle, selectedControlCenters)\n );\n}\n\nexport function groupCourierQueueSort(g1, g2) {\n var userModel1 = getCourier(g1);\n if (!userModel1) return 0;\n var userModel2 = getCourier(g2);\n if (!userModel2) return 0;\n return courierQueueSort(userModel1, userModel2);\n}\n\nexport function sortByOlderOrder(g1, g2) {\n const order1 = getOlderOrder(g1);\n const order2 = getOlderOrder(g2);\n\n if (!order1 || !order2 || order1.date === order2.date) return 0;\n const date1 = new Date(order1.date);\n const date2 = new Date(order2.date);\n return date1 > date2 ? 1 : -1;\n}\n\nexport function sortByDate(g1, g2, fieldName) {\n const date1 = new Date(g1[fieldName || 'date']);\n const date2 = new Date(g2[fieldName || 'date']);\n return date1.getTime() - date2.getTime();\n}\n\nexport function pendingOrdersFilter(orders) {\n return (orders || [])\n ?.sort((a, b) => a.sequence_id - b.sequence_id);\n}\n\nexport function pendingOrdersCouriersOlderSort(items, users, externalCycles) {\n const propFormSort = \"creation_datetime\";\n const data = (items || []).reduce((acc, order)=> {\n const courierId = order.courier_id || order.external_provider_id;\n if(courierId) {\n const courier = (order.external_provider_id\n ? (externalCycles || []).find(f=> f.providerId === order.external_provider_id)\n : (users || []).find(f=> f.userId === order.courier_id)) || {};\n const courierOrders = (order.external_provider_id\n ? courier.orders\n : (courier.cycle || {}).orders) || [];\n\n return {\n ...acc,\n couriersData: {\n ...(acc.couriersData || {}),\n [courierId]: ((acc.couriersData || {})[courierId] || [])\n .concat({\n ...order,\n index: courierOrders.findIndex(f=> f.id === order.id)\n })\n }\n }\n } else {\n return {\n ...acc,\n orders: (acc.orders || []).concat(order)\n }\n }\n }, {});\n\n return Object.keys(data.couriersData || {})\n ?.sort((a, b)=> {\n const minOrderA = new Date(Math.min(...(data.couriersData[a]?.map(m=> new Date(m[propFormSort]).getTime()))));\n const minOrderB = new Date(Math.min(...(data.couriersData[b]?.map(m=> new Date(m[propFormSort]).getTime()))));\n return minOrderA < minOrderB ? -1 : 1;\n })\n .reduce((a, k)=> { return a.concat((data.couriersData[k] || [])?.sort((a, b) => a.index - b.index))}, [])\n .concat((data.orders || [])?.sort((a, b) => {\n return new Date(a[propFormSort]).getTime() < new Date(b[propFormSort]).getTime() ? -1 : 1;\n }));\n}\n\nexport function pendingOrdersCookingSort(items) {\n return (items || [])\n ?.sort((a, b) => {\n if(!b.status || a.status > b.status){\n return -1;\n }\n if(!a.status || a.status < b.status){\n return 1;\n }\n\n return 0;\n });\n}\n\nexport function pendingOrdersSort(items) {\n return (items || [])\n ?.sort((a, b) => a.sequence_id - b.sequence_id);\n}\n\nexport function pendingHistoryOrdersFilter(orders) {\n return (orders || [])\n ?.sort((a, b)=> sortByDate(a, b, \"creation_datetime\"));\n}\n\nexport function groupBarOrderFilter(text, order) {\n if (!text || !text.length) return true;\n const loverText = text?.toLowerCase();\n const getUINameVal = getUIName(order);\n const getMiniAddressVal = getMiniAddress(order);\n const getNotesVal = getNotes(order);\n let userName = getCourierNameById(order.groupId);\n const courierName = order.deliveryBy && getCourierNameById(order.deliveryBy);\n\n return (\n (order.orderId && order.orderId?.toLowerCase()?.indexOf(loverText) > -1) ||\n (getUINameVal && getUINameVal?.toLowerCase()?.indexOf(loverText) > -1) ||\n (order.consumerPhone &&\n order.consumerPhone\n ?.toLowerCase()\n ?.replace(/[- ]/gi, '')\n ?.indexOf(loverText) > -1) ||\n (getMiniAddressVal && getMiniAddressVal?.toLowerCase()?.indexOf(loverText) > -1) ||\n (getNotesVal && getNotesVal?.toLocaleLowerCase()?.indexOf(loverText) > -1) ||\n (isDepotMode() &&\n getDepotName(order)\n ?.toLocaleLowerCase()\n ?.indexOf(loverText) > -1) ||\n (userName && userName?.toLowerCase().indexOf(loverText) > -1) ||\n (courierName && courierName?.toLowerCase().indexOf(loverText) > -1) ||\n (order.deliveryBy && order.deliveryBy?.toLowerCase().indexOf(loverText) > -1) ||\n (Array.isArray(order.tags) && order.tags.length && order.tags.includes(loverText))\n );\n}\n\nexport function groupBarGroupOrderFilter(text, group, orders) {\n return (orders.filter(order => order.groupId === group.id) || []).some(order => groupBarOrderFilter(text, order));\n}\n\nexport function courierAssociateFilter(text, courier) {\n if (!text || !text.length) return true;\n const loverText = text.toLowerCase();\n const userName = getFullName(courier);\n\n return userName.toLowerCase().includes(loverText);\n}\n\nexport function courierSettingsFilter(text, courier) {\n if (!text || !text.length) return true;\n const loverText = text.toLowerCase();\n\n return (\n getFullName(courier)\n .toLowerCase()\n .includes(loverText) ||\n (courier.phoneNumber &&\n courier.phoneNumber\n .replace(/-/g, '')\n .toLowerCase()\n .includes(loverText))\n );\n}\n\nexport function translationsFilter(text, translationValue) {\n if (!text || !text.length) return true;\n const loverText = text.toLowerCase();\n const value = translationValue?.original_value || ''\n\n return value.toLowerCase().includes(loverText)\n}\n\nexport function couriersBarFilter(user, orders, text, selectedControlCenters, noCheck) {\n return (\n cycleFilter(\n user,\n orders.filter(order => order && order.groupId === user.userId),\n selectedControlCenters,\n noCheck\n ) && courierSettingsFilter(text, user)\n );\n}\n\nexport function sortItemsByReadinessAndTargetDate(items) {\n const sortTime = User.instance.getCurrentUserConfigurationProp('sortOrdersBasedOnReadinessTime')\n ? 'readinessTime'\n : 'targetTime';\n\n return items?.sort((a, b) => {\n if (a.isHighPriority && !b.isHighPriority) {\n return -1;\n }\n\n if (b.isHighPriority && !a.isHighPriority) {\n return 1;\n }\n\n if (a.groupId === DEFAULT_ORDERS_GROUPS.assistance && b.groupId !== DEFAULT_ORDERS_GROUPS.assistance) {\n return -1;\n }\n\n if (b.groupId === DEFAULT_ORDERS_GROUPS.assistance && a.groupId !== DEFAULT_ORDERS_GROUPS.assistance) {\n return 1;\n }\n\n var aDeliveryStrategy = a.deliveryStrategy;\n var bDeliveryStrategy = b.deliveryStrategy;\n\n if (\n a.deliveryStrategy === DELIVERY_STRATEGY.concreteTime &&\n a.targetTime &&\n new Date().getTime() - new Date(a.targetTime).getTime() < oneHour\n ) {\n aDeliveryStrategy = DELIVERY_STRATEGY.asap;\n }\n\n if (\n b.deliveryStrategy === DELIVERY_STRATEGY.concreteTime &&\n b.targetTime &&\n new Date().getTime() - new Date(b.targetTime).getTime() < oneHour\n ) {\n bDeliveryStrategy = DELIVERY_STRATEGY.asap;\n }\n\n if (aDeliveryStrategy !== bDeliveryStrategy) {\n return aDeliveryStrategy < bDeliveryStrategy ? -1 : 1;\n }\n\n if (a.type !== b.type) {\n return a.type < b.type ? -1 : 1;\n }\n\n if (a.state !== b.state) {\n return a.state < b.state ? 1 : -1;\n }\n\n return a[sortTime] < b[sortTime] ? -1 : 1;\n });\n}\n\nexport function sortItemsDate(items, propertyName, isAsc) {\n return items?.sort((a, b) => {\n const aDate = new Date(a[propertyName]);\n const aVrp = a['isHighPriority'];\n const bDate = new Date(b[propertyName]);\n const bVrp = b['isHighPriority'];\n if (!aDate || !bDate) return 0;\n if (aVrp && !bVrp) {\n return -1;\n }\n if (bVrp && !aVrp) {\n return 1;\n }\n if (aDate < bDate) return isAsc ? 1 : -1;\n if (aDate > bDate) return isAsc ? -1 : 1;\n return 0;\n });\n}\n\nexport function sortUsers(users) {\n return users?.sort((a, b) => {\n const fullNameA = getFullName(a).toLowerCase();\n const fullNameB = getFullName(b).toLowerCase();\n\n if (fullNameA < fullNameB) {\n return -1;\n }\n if (fullNameA > fullNameB) {\n return 1;\n }\n\n return 0;\n });\n}\n\nexport function sortByProp(items, propName = 'order') {\n return (items || [])?.sort((a, b) => a[propName] - b[propName]);\n}\n\nexport function sortItemsByProp(items, propName = 'name', isDesc = false) {\n if (!Array.isArray(items)) return items;\n return items?.sort((a, b) => {\n if ((a[propName] || '').toUpperCase() < (b[propName] || '').toUpperCase()) {\n return isDesc ? 1 : -1;\n }\n\n if ((a[propName] || '').toUpperCase() > (b[propName] || '').toUpperCase()) {\n return isDesc ? -1 : 1;\n }\n\n return 0;\n });\n}\n\nexport function getLabelByLanguage(language, variants) {\n if(!variants) {\n return '';\n }\n\n if(variants[language]) {\n return variants[language];\n }\n\n const availableLanguage = Object.keys(variants);\n for (let i = 0; i < availableLanguage.length; i++) {\n const lang = availableLanguage[i];\n if(variants[lang]) {\n return variants[lang];\n }\n }\n\n return '';\n}\n\nexport function sortByPropNumber(items, propName = 'order', isDesc = true) {\n if (!Array.isArray(items)) return items;\n return items?.sort((a, b) => {\n if (a[propName] < b[propName]) {\n return isDesc ? 1 : -1;\n }\n\n if (a[propName] > b[propName]) {\n return isDesc ? -1 : 1;\n }\n\n return 0;\n });\n}\n\nexport function isPickupGroup(group) {\n return group.type === ORDER_TYPE.pickUp;\n}\n\nexport function courierQueueSort(userModel1, userModel2) {\n return (userModel1.queueNumber || 0) - (userModel2.queueNumber || 0);\n}\n\nexport function isOrdersReady(group) {\n const state = Store.store.getState();\n const groupOrders = state.order.data.orders.filter(order => order.groupId === group.id);\n return groupOrders.length > 0 && groupOrders.every(order => order.state === ORDER_STATE.ready);\n}\n\nexport function getFilteredItems(items, filterOptions) {\n if (!filterOptions || !filterOptions.getSelectedFilters || !items) return [];\n\n const andFilters = filterOptions.getSelectedFilters(FILTER_TYPE.and);\n const orFilters = filterOptions.getSelectedFilters(FILTER_TYPE.or);\n\n if (!andFilters.length && !orFilters.length) return items;\n\n return items.filter(item => {\n let res = true;\n\n if (andFilters.length) {\n res = andFilters.every(filter => {\n const filteredItems = filter?.items?.filter(f => f.selected || f.selected === 0);\n return filter.isCheckAllGroup\n ? !filteredItems.length && filter.passEmptyFilters\n ? true\n : filteredItems.some(filterItem => filterItem.filterFunction(item, filterOptions.options))\n : filter.filterFunction(item, filterOptions.options);\n });\n }\n\n if (!res) return false;\n\n return orFilters.length ? orFilters.some(filter => filter.filterFunction(item, filterOptions.options)) : true;\n });\n}\n\nfunction getCourier(group) {\n if (group && group.isCourierGroup) {\n const state = Store.store.getState();\n return state.userModel.data.find(user => user.userId === group.id);\n } else {\n return null;\n }\n}\n\nfunction getOlderOrder(group) {\n if (!group) return;\n const state = Store.store.getState();\n const orders = state.order.data.orders.filter(order => order.groupId === group.id);\n\n if (!orders.length) return;\n\n let olderOrder = orders[0];\n for (var i = 1; i < orders.length; i++) {\n const order = orders[i];\n if (new Date(olderOrder.date) > new Date(order.date)) olderOrder = order;\n }\n return olderOrder;\n}\n\n///\n///Courier filters\n///\nexport function getBackupCouriers(users) {\n return users.filter(user => backUpCouriersFilter(user));\n}\n\nexport function onRouteFilter(courier) {\n return courier.cycle && courier.cycle.state === CYCLE_STATE.deliveryStart;\n}\n\nexport function onRouteCourierGroupSort(items) {\n return items?.sort((a, b) => {\n const countOrdersA = (a.orders || []).filter(order => order.state < ORDER_STATE.delivered).length;\n const countOrdersB = (b.orders || []).filter(order => order.state < ORDER_STATE.delivered).length;\n\n return countOrdersA - countOrdersB || getTotalCourierEstimation(b) - getTotalCourierEstimation(a);\n });\n}\n\nexport function approvedFilter(courier) {\n return courier.cycle && courier.cycle.state === CYCLE_STATE.approved;\n}\n\nexport function comingBackFilter(courier) {\n return courier.cycle && courier.cycle.state === CYCLE_STATE.comingBack;\n}\n\nexport function waitingFilter(courier) {\n return courier.cycle && courier.cycle.state === CYCLE_STATE.started;\n}\n\nexport function awayFilter(courier) {\n return courier.cycle && courier.cycle.state === CYCLE_STATE.away;\n}\n\nexport function backUpCouriersFilter(user) {\n return user.roles && user.roles.active && user.cycle && user.cycle.shiftType === SHIFT_TYPE.Backup;\n}\n\nexport function cycleFilter(user, orders, selectedControlCenters, noCheck) {\n return (\n user.roles.courier &&\n user.roles.active &&\n (noCheck ||\n (checkForControlCenter(user.cycle, selectedControlCenters) &&\n ((user.cycle && user.cycle.shiftType === SHIFT_TYPE.Normal) || orders.length)))\n );\n}\n\nexport function getInactiveCouriers(users, shiftActiveUsers) {\n return users.filter(\n user =>\n Array.isArray(shiftActiveUsers) &&\n shiftActiveUsers.length &&\n shiftActiveUsers.includes(user.userId) &&\n user.roles &&\n user.roles.courier &&\n !user.roles.active &&\n user.authorized.courier &&\n !user.isDeleted\n );\n}\n\nexport function getShiftedCouriers(users) {\n return users.filter(\n user =>\n user.roles &&\n user.cycle &&\n user.roles.active &&\n user.cycle.shiftType === SHIFT_TYPE.Normal &&\n !user.isDeleted\n );\n}\n\nexport function getUnverifiedCouriers(users) {\n return users.filter(user => user.roles && user.roles.courier && !user.authorized.courier && !user.isDeleted);\n}\n\n///\n///Depots filters\n///\n\nexport function getDepotFilter(text, depot) {\n const loverText = text.toLowerCase();\n return !loverText\n ? depot\n : depot.phone\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || depot.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getDepotPeriodFilter(text, depot) {\n const loverText = text.toLowerCase();\n const nameDepot = depot?.depotName;\n\n return !loverText ? depot : nameDepot ? depot?.depotName.toLowerCase().indexOf(loverText) > -1 : depot;\n}\n\nexport function getDepotDefaultRegionControlCenterNameFilter(text, depotControlCenter) {\n const loverText = text.toLowerCase();\n return !loverText\n ? depotControlCenter\n : getDepotDefaultRegionControlCenterName(depotControlCenter)\n .toLowerCase()\n .indexOf(loverText) > -1;\n}\n\nexport function getRegionFilter(text, region) {\n const loverText = text.toLowerCase();\n return !loverText ? region : region.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getPromotionFilter(text, promo) {\n const loverText = text.toLowerCase();\n const promoName = promo?.name || '';\n const promoLabel = promo?.label || '';\n const containPromoName = !loverText\n ? promo\n : promoName\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || promoName.toLowerCase().indexOf(loverText) > -1;\n const containPromoLabel = !loverText\n ? promo\n : promoLabel\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || promoLabel.toLowerCase().indexOf(loverText) > -1;\n\n return containPromoName || containPromoLabel;\n}\n\nexport function getDeliveryZonesFilter(text, deliveryZone) {\n const lowerText = text.toLowerCase();\n return !lowerText ? deliveryZone : deliveryZone.name.toLowerCase().indexOf(lowerText) > -1;\n}\n\nexport function getFleetFilter(vehicles, text) {\n const lowerText = text.toLowerCase();\n\n return !lowerText ? vehicles : (vehicles.description.toLowerCase().indexOf(lowerText) > -1) ||\n (vehicles.capacity && vehicles.capacity > 0 && vehicles.capacity.toLocaleString().toLowerCase().indexOf(`${lowerText}`) > -1) ||\n (vehicles.plateNumber && vehicles.plateNumber.toLowerCase().indexOf(lowerText) > -1);\n}\n\nexport function getBusinesDiscountFilter(text, discount) {\n const lowerText = text.toLowerCase();\n return !lowerText ? discount : discount.name.toLowerCase().indexOf(lowerText) > -1;\n}\n\nexport function getBusinesMenuCategoriesFilter(text, category) {\n const loverText = text.toLowerCase();\n const categoryName = category.name\n return !loverText\n ? category\n : categoryName\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || categoryName.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getProvidersSectionFilter(text, provider) {\n const loverText = text.toLowerCase();\n const providerName = provider.providerName || ''\n return !loverText\n ? provider\n : providerName\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || providerName.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getDepotUsersSectionFilter(text, user) {\n const loverText = text?.toLowerCase();\n const userName = user.firstName || user.name\n return !loverText\n ? user\n : userName\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || userName.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getDepotIntegrationsSectionFilter(text, integration) {\n const loverText = text.toLowerCase();\n const integrationType = integration.type\n return !loverText\n ? integration\n : integrationType\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || integrationType.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getOperationModeSectionFilter(text, item) {\n const loverText = text.toLowerCase();\n const categoryName = item.name\n return !loverText\n ? item\n : categoryName\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || categoryName.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getGalleryFilter(text, gallery) {\n const lowerText = text.toLowerCase();\n return !lowerText ? gallery : gallery.title.toLowerCase().indexOf(lowerText) > -1;\n}\n\nexport function getCategoryProductFilter(text, product) {\n const lowerText = text.toLowerCase();\n return !lowerText ? product : product.name.toLowerCase().indexOf(lowerText) > -1;\n}\n\nexport function getCityFilter(text, city) {\n const loverText = text.toLowerCase();\n return !loverText ? city : city.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getSearchShortcutFilter(text, shortcut) {\n const loverText = text.toLowerCase();\n if (!loverText || !shortcut) return shortcut;\n return shortcut.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getNamedPlaceFilter(text, place) {\n const loverText = text.toLowerCase();\n if (!loverText) return place;\n\n const { address } = place.address;\n return (\n place.name.toLowerCase().indexOf(loverText) > -1 ||\n getAddress(address)\n .toLowerCase()\n .indexOf(loverText) > -1\n );\n}\n\nexport function getShiftsFilter(text, shift) {\n const loverText = text.toLowerCase();\n if (!loverText) return shift;\n const courierName = shift?.name || shift?.courierName || ''\n return courierName.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport const getCampaignFilter = (text, campaign) => {\n const loverText = text.toLowerCase();\n if (!loverText) return campaign;\n\n return campaign?.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getShiftsHistoryFilter(text, order) {\n const loverText = text.toLowerCase();\n if (!loverText) return order;\n\n return (\n getAddress(order.depotName)\n .toLowerCase()\n .indexOf(loverText) > -1\n );\n}\n\nexport function getControlCentersFilter(text, center) {\n const loverText = text.toLowerCase();\n if (!loverText) return center;\n const user = center.userModel ? getUserById(center.userModel) : null;\n const userFullName = user ? getFullName(user) || '' : '';\n return (\n center.name.toLowerCase().indexOf(loverText) > -1 ||\n (userFullName && userFullName.toLowerCase().indexOf(loverText) > -1)\n );\n}\n\nexport function columnIsRequired(column, item) {\n return column.isRequired || (column.isFuncRequired && column.isFuncRequired(item));\n}\n\nexport function getMarketplaceFilter(text, marketplace) {\n const loverText = text.toLowerCase();\n const title = marketplace?.title || '';\n const label = marketplace?.label || '';\n const containTitle = !loverText\n ? marketplace\n : title\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || title.toLowerCase().indexOf(loverText) > -1;\n const containLabel = !loverText\n ? marketplace\n : label\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || label.toLowerCase().indexOf(loverText) > -1;\n\n return containLabel || containTitle;\n}\n\nexport function getStartedControlCenter(controlCenter) {\n return controlCenter && controlCenter.info && controlCenter.info.startTime && !controlCenter.info.endTime;\n}\n\nexport function getMenuTemplatesFilter(text, template) {\n const loverText = text.toLowerCase();\n return !loverText\n ? template\n : template.name\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || template.name.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function getMarketplaceMessageGalleryFilter(text, gallery) {\n const loverText = text.toLowerCase();\n return !loverText\n ? gallery\n : gallery.title\n .toLowerCase()\n .replace(/[- ]/gi, '')\n .indexOf(loverText) > -1 || gallery.title.toLowerCase().indexOf(loverText) > -1;\n}\n\nexport function checkForControlCenter(item, selectedControlCenter) {\n let ccids = [];\n if(selectedControlCenter && typeof selectedControlCenter === 'string') {\n ccids = [selectedControlCenter];\n }\n if (selectedControlCenter && Array.isArray(selectedControlCenter)) {\n ccids = selectedControlCenter;\n }\n const controlCenterIdsOrder = item?.orders?.map(c => c.controlCenterId).filter(Boolean);\n\n return (\n (item.shiftType === SHIFT_TYPE.Backup && controlCenterIdsOrder?.some(id => ccids.includes(id))) ||\n ccids.includes(item.controlCenterId) ||\n !item.controlCenterId ||\n (!ccids.length && !item.controlCenterId)\n );\n}\n\nexport function groupsBarCheckForControlCenter(item, selectedControlCenters = []) {\n if (!item) return true;\n const checkExclude = item.groupId === DEFAULT_ORDERS_GROUPS.assistance || item.isExternalGroup;\n return (\n (checkExclude && (!item.controlCenterId || selectedControlCenters.includes(item.controlCenterId))) ||\n checkForControlCenter(item, selectedControlCenters)\n );\n}\n\nexport function groupsBarGroupItemFilter(group) {\n return (\n group &&\n (group.isCourierGroup || isNotDefaultOrderGroup(group.id)) &&\n ((group.isExternalGroup && !group.groupId) || showGroup(group))\n );\n}\n\nexport function groupsBarOrderItemFilter(order, isSearchMode) {\n return (\n order &&\n (isSearchMode || isDefaultGroup(order.groupId)) &&\n (order.groupId === DEFAULT_ORDERS_GROUPS.assistance || !User.instance.skipObjectWithControlCenter(order))\n );\n}\n\nexport function getControlCenterFilter(items, propName = 'defaultControlCenterId') {\n const currentUser = User.instance.getCurrentUserInfo();\n if (!currentUser) return false;\n return (items || []).filter(\n item => !currentUser.controlCenterId || !item[propName] || item[propName] === currentUser.controlCenterId\n );\n}\n\nexport function getUsersFilteredByDepotId(users, isNoDepotUser = true) {\n if (isNoDepotUser) {\n return (users || []).filter(user => !user.depotId && !user.isDeleted);\n }\n\n return (users || []).filter(user => !!user.depotId && !user.isDeleted);\n}\n\nexport function getActiveUsers(users) {\n return (users || []).filter(user => user && ((user.roles || {}).active || user.cycle));\n}\n\nexport function getMapDepotsMarkersFiltered(markers, orders, selectedControlCenters, showAllDepotsOnMap) {\n const filterMapObjectsByControlCenter =\n isDepotMode() && User.instance.getCurrentUserConfigurationProp('filterMapObjectsByControlCenter');\n\n if (showAllDepotsOnMap)\n return (markers || []).filter(\n marker =>\n marker.markerType === TYPE_MARKER.depot &&\n (filterMapItemByApplicableControlCenter(\n marker,\n filterMapObjectsByControlCenter,\n selectedControlCenters\n ) ||\n (orders || []).some(\n order =>\n order.depotId === marker.id &&\n checkForControlCenter(order, selectedControlCenters) &&\n order.state < ORDER_STATE.delivered\n ))\n );\n return (markers || []).filter(\n marker =>\n marker.markerType === TYPE_MARKER.depot &&\n filterMapItemByApplicableControlCenter(marker, filterMapObjectsByControlCenter, selectedControlCenters) &&\n (orders || []).some(\n order =>\n order.depotId === marker.id &&\n checkForControlCenter(order, selectedControlCenters) &&\n order.state < ORDER_STATE.delivered\n )\n );\n}\n\nexport function filterMapItemByApplicableControlCenter(item, filterMapObjectsByControlCenter, selectedControlCenters = []) {\n const applicableControlCenters = ((item || {}).applicableControlCenters || []).filter(f => f);\n return (\n !filterMapObjectsByControlCenter ||\n !selectedControlCenters.length ||\n !applicableControlCenters.length ||\n applicableControlCenters.some(cc => selectedControlCenters.includes(cc))\n );\n}\n\nexport function getMapRegionsFiltered(regions, selectedControlCenter) {\n const filterMapObjectsByControlCenter =\n isDepotMode() && User.instance.getCurrentUserConfigurationProp('filterMapObjectsByControlCenter');\n return getControlCenterFilter(\n (regions || []).filter(region =>\n filterMapItemByApplicableControlCenter(region, filterMapObjectsByControlCenter, selectedControlCenter)\n )\n );\n}\n\nexport function filterWithWrappedMobileColumns(columns) {\n return (columns || []).filter(column =>\n !column.wrapOnMobileWidth ||\n window.innerWidth > column.wrapOnMobileWidth\n );\n}\n\nexport function sectionWrapperFilteredHeaderColumns(columns, items) {\n return (columns || [])\n .filter(column=> (!column.isShow || (items || []).some(item=> column.isShow(item))) &&\n (!column.wrapOnMobileWidth || window.innerWidth > column.wrapOnMobileWidth)\n );\n}\n\nexport const pendingOrdersForSummaryFilter = items => {\n return (items || []).filter(order=> order.status !== ACCOUNT_ORDER_STATUS.canceled);\n}\n\nexport const pendingFooterDeliveryOrdersFilter = items => {\n return (items || []).filter(order=> order.delivery_type === PENDING_ORDER_TYPE.delivery &&\n order.status !== ACCOUNT_ORDER_STATUS.canceled\n );\n}\n\nexport const pendingFooterTakeAwayOrdersFilter = items => {\n return (items || []).filter(order=> order.delivery_type === PENDING_ORDER_TYPE.takeAway &&\n order.status !== ACCOUNT_ORDER_STATUS.canceled\n );\n}\n\nexport const pendingFooterDineinOrdersFilter = items => {\n return (items || []).filter(order=> order.delivery_type === PENDING_ORDER_TYPE.dinein &&\n order.status !== ACCOUNT_ORDER_STATUS.canceled\n );\n}\n\nexport const ordersHistoryFilterModel = () => {\n const providers = Store?.store?.getState()?.restaurant?.data?.ordersProvider || [];\n const providerFilters = providers.filter(p => p.orderProvider).map(provider => ({\n name: provider.id,\n label: provider.name,\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.delivapp && order.order_source_id === provider.id,\n }))\n\n const filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\n \"deliveryGroup\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"dashboard.orders.ORDER_ORDER_SOURCE_GROUP_LABEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"logistic\",\n label: \"enums.orderSourceTypes.LOGISTIC\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.logistic,\n },\n {\n name: \"app\",\n label: \"enums.orderSourceTypes.APP\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.app,\n },\n {\n name: \"admin\",\n label: \"enums.orderSourceTypes.ADMIN\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.admin,\n },\n {\n name: \"mishloha\",\n label: \"enums.orderSourceTypes.MISHLOHA\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.mishloha,\n },\n {\n name: \"tenbis\",\n label: \"enums.orderSourceTypes.TEN_BIS\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.tenBis,\n },\n {\n name: \"wolt\",\n label: \"enums.orderSourceTypes.WOLT\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.wolt,\n },\n {\n name: \"cibus\",\n label: \"enums.orderSourceTypes.CIBUS\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.cibus,\n },\n ...providerFilters,\n ]\n },\n {\n title: \"dashboard.orders.PAYMENT_METHOD_GROUP_LABEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"unacceptedCash\",\n label: \"pending-orders.FILTER_TYPE_BY_UNACCEPTED_CASH\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.cash && p.captured_price === 0).length,\n },\n {\n name: \"acceptedCash\",\n label: \"pending-orders.FILTER_TYPE_BY_ACCEPTED_CASH\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.cash && p.captured_price > 0).length,\n },\n {\n name: \"card\",\n label: \"pending-orders.FILTER_TYPE_BY_ACCEPTED_CREDIT_CARD\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.creditCard && p.provider !== EXTERNAL_COURIER_PROVIDER.external).length,\n },\n {\n name: \"external\",\n label: \"pending-orders.FILTER_TYPE_BY_EXTERNAL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.creditCard && p.provider === EXTERNAL_COURIER_PROVIDER.external).length,\n },\n {\n name: \"voucher\",\n label: \"pending-orders.FILTER_TYPE_BY_VOUCHER\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.bonus && p.reference_Id).length,\n },\n {\n name: \"bonus\",\n label: \"pending-orders.FILTER_TYPE_BY_BONUS\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.bonus && !p.reference_Id).length,\n },\n {\n name: \"coupon\",\n label: \"pending-orders.FILTER_TYPE_BY_COUPON\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!(order.coupon || '').length,\n },\n {\n name: \"discount\",\n label: \"pending-orders.FILTER_TYPE_BY_DISCOUNT\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> !!order?.payments?.filter(p => p.paymethod_id === PAY_METHOD.discount).length,\n },\n ]\n }\n ],\n false,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"deliveryGroup2\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"pending-orders.PENDING_ORDER_INFO_CLIENT_FILTER\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"newUser\",\n label: \"pending-orders.PENDING_ORDER_INFO_NEW_CUSTOMER\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.new_customer,\n },\n {\n name: \"loyaltyLevel\",\n label: \"pending-orders.PENDING_ORDER_INFO_LOYALTY\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.loyalty_level > 0,\n },\n ]\n },\n {\n title: \"pending-orders.PENDING_ORDER_INFO_DELIVERY_METHOD\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"takeaway\",\n label: \"orders.TAKEAWAY_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === DELIVERY_TYPE.takeAway\n },\n {\n name: \"delivery\",\n label: \"orders.DELIVERY_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === DELIVERY_TYPE.delivery\n },\n {\n name: \"delivery\",\n label: \"orders.DINEIN_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === DELIVERY_TYPE.dinein\n }\n ]\n },\n ],\n false,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"deliveryGroup3\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"admin-orders.ADMIN_ORDERS_SEARCH_ORDER_STATUS_LABEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: `status-${ACCOUNT_ORDER_STATUS.finished}`,\n label: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.finished),\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order => order.status === ACCOUNT_ORDER_STATUS.finished,\n },\n {\n name: `status-${ACCOUNT_ORDER_STATUS.canceled}`,\n label: getAccountOrderStatusTitle(ACCOUNT_ORDER_STATUS.canceled),\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order => order.status === ACCOUNT_ORDER_STATUS.canceled,\n }\n ]\n },\n {\n title: \"admin-orders.ORDER_CHANNEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: getOrderChannelNames().map(({key, value}) => ({\n name: `order-channel-${key}`,\n label: value,\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order => order.order_channel === key,\n }))\n },\n ],\n false,\n null,\n null,\n true\n );\n\n return filterOptionsModel;\n}\n\n\nexport const salesFilterModel = () => {\n const providers = Store?.store?.getState()?.restaurant?.data?.ordersProvider || [];\n const providerFilters = providers.filter(p => p.orderProvider).map(provider => ({\n name: provider.id,\n label: provider.name,\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.delivapp && order.order_source_id === provider.id,\n }))\n\n const filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\n \"deliveryGroup\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"dashboard.orders.ORDER_ORDER_SOURCE_GROUP_LABEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"app\",\n label: \"enums.orderSourceTypes.APP\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.app,\n },\n {\n name: \"admin\",\n label: \"enums.orderSourceTypes.ADMIN\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.admin,\n },\n {\n name: \"mishloha\",\n label: \"enums.orderSourceTypes.MISHLOHA\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.mishloha,\n },\n {\n name: \"tenbis\",\n label: \"enums.orderSourceTypes.TEN_BIS\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.tenBis,\n },\n {\n name: \"wolt\",\n label: \"enums.orderSourceTypes.WOLT\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.wolt,\n },\n {\n name: \"cibus\",\n label: \"enums.orderSourceTypes.CIBUS\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.order_source === SOURCE_TYPE.cibus,\n },\n ...providerFilters,\n ]\n },\n ],\n false,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"deliveryGroup3\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"admin-orders.ORDER_CHANNEL\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: getOrderChannelNames().map(({key, value}) => ({\n name: `order-channel-${key}`,\n label: value,\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order => order.order_channel === key,\n }))\n },\n ],\n false,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"deliveryGroup2\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"pending-orders.PENDING_ORDER_INFO_DELIVERY_METHOD\",\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"unknown\",\n label: \"orders.UNKNOWN_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === PENDING_ORDER_TYPE.any\n },\n {\n name: \"takeaway\",\n label: \"orders.TAKEAWAY_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === PENDING_ORDER_TYPE.takeAway\n },\n {\n name: \"delivery\",\n label: \"orders.DELIVERY_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === PENDING_ORDER_TYPE.delivery\n },\n {\n name: \"virtual_venue\",\n label: \"orders.VIRTUAL_VENUE_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === PENDING_ORDER_TYPE.virtual\n },\n {\n name: \"delivery\",\n label: \"orders.DINEIN_FILTER_LABEL\",\n selected: false,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.delivery_type === PENDING_ORDER_TYPE.dinein\n }\n ]\n },\n ],\n false,\n null,\n null,\n true\n );\n\n return filterOptionsModel;\n}\n\nexport const adminOrderFilterModel = () => {\n const filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\n \"todayLink\",\n CONTROL_TYPE.dateLink,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n {\n startKey: \"start\",\n endKey: \"end\",\n }\n );\n\n const filterDateStart = filterOptionsModel.addOptions(\n \"start\",\n CONTROL_TYPE.date,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_DATE_START_LABEL\"),\n null,\n null,\n getISOTime(prepareToday().from),\n true,\n false,\n false,\n false,\n {\n format: DATE_FORMAT,\n }\n );\n filterDateStart.filterType = FILTER_TYPE.and;\n\n const filterDateEnd = filterOptionsModel.addOptions(\n \"end\",\n CONTROL_TYPE.date,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_DATE_END_LABEL\"),\n null,\n null,\n null,\n true,\n false,\n false,\n false,\n {\n format: DATE_FORMAT,\n }\n );\n filterDateEnd.filterType = FILTER_TYPE.and;\n\n if(!currentUserIsDepotRole()) {\n const depotFilter = filterOptionsModel.addOptions(\n \"businessId\",\n CONTROL_TYPE.select,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_BUSINESS_LABEL\"),\n null,\n null,\n null,\n false,\n null,\n null,\n false\n );\n depotFilter.addItem(i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_FILTER_ALL\"), null);\n getDepots(true).filter(depot=> !!depot.businessId).forEach(d => {\n depotFilter.addItem(d.name, d.businessId);\n });\n }\n\n const orderStatusFilter = filterOptionsModel.addOptions(\n \"status\",\n CONTROL_TYPE.select,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_ORDER_STATUS_LABEL\"),\n null,\n null,\n ACCOUNT_ORDER_STATUS.pending,\n false,\n null,\n null,\n false\n );\n orderStatusFilter.addItem(i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_FILTER_ALL\"), null);\n getAccountOrderStatusList().forEach(({key, value}) => {\n orderStatusFilter.addItem(value, key);\n });\n\n const deliveryStrategyFilter = filterOptionsModel.addOptions(\n \"deliveryStrategy\",\n CONTROL_TYPE.select,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_DELIVERY_STRATEGY_LABEL\"),\n null,\n null,\n null,\n false,\n null,\n null,\n false\n );\n deliveryStrategyFilter.addItem(i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_FILTER_ALL\"), null);\n getAccountOrderDeliveryStrategyList().forEach(({key, value}) => {\n deliveryStrategyFilter.addItem(value, key);\n });\n\n if(getTerritoriesEntity().length) {\n const territoryFilter = filterOptionsModel.addOptions(\n \"territory\",\n CONTROL_TYPE.select,\n i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_ENTITY_LABEL\"),\n null,\n null,\n null,\n false,\n null,\n null,\n false\n );\n territoryFilter.addItem(i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_FILTER_ALL\"), null);\n getTerritoriesEntity().forEach(t => {\n territoryFilter.addItem(t?.name || '', t.entityId);\n });\n }\n\n return filterOptionsModel;\n}\n\nexport const getSavedOrderHistoryFilterModel = () => {\n try {\n const savedModelString = getStoreData(TYPE_STORAGE.local, 'ordersHistoryFilterModel', true);\n const savedModel = JSON.parse(savedModelString)\n const filterOptions = ordersHistoryFilterModel();\n const updateFilterValue = (filter) => {\n const find = savedModel.find(f => f.id === filter.name);\n if(find) {\n filter.selected = find.selected;\n }\n }\n Object.values(filterOptions.options).forEach(filter => {\n if(filter.type === CONTROL_TYPE.groupCheckbox) {\n const filters = filter.selected.flatMap(f => f.items);\n filters.forEach(f => updateFilterValue(f));\n } else {\n updateFilterValue(filter);\n }\n })\n return filterOptions;\n } catch (e) {\n return ordersHistoryFilterModel();\n }\n}\n\nexport const saveOrderHistoryFilterModel = filter => {\n const filterData = Object\n .values(filter?.options || {})\n .flatMap(f => f.type === CONTROL_TYPE.groupCheckbox ? f.selected.flatMap(o => o.items) : f)\n .map(f => ({id: f.name, selected: f.selected}));\n saveStoreData(TYPE_STORAGE.local, \"ordersHistoryFilterModel\", true, JSON.stringify(filterData));\n}\n\nexport const savePendingOrderHistoryPeriod = (period) => {\n saveStoreData(TYPE_STORAGE.local, \"pendingOrdersHistoryPeriods\", true, JSON.stringify(period));\n}\n\nexport const getPendingOrderHistoryPeriod = () => {\n try {\n const savedModelString = getStoreData(TYPE_STORAGE.local, 'pendingOrdersHistoryPeriods', true);\n return JSON.parse(savedModelString)\n } catch (e) {\n return { key: null };\n }\n}\n\nexport const getAllFilters = (filterObj) => {\n const filterFunctions = Object\n .values(filterObj || {})\n .flatMap(f => f.type === CONTROL_TYPE.groupCheckbox ? f.selected.flatMap(o => o.items) : f)\n .filter(f => f.selected)\n .map(f => f.filterFunction);\n return filterFunctions;\n}\n\nexport const getQuantityFilters = filter => {\n return Object\n .values(filter || {})\n .flatMap(f => f.type === CONTROL_TYPE.groupCheckbox ? f.selected.flatMap(o => o.items) : f)\n .filter(f => (Array.isArray(f.selected) ? f.selected.length : f.selected) || f.selected === 0)\n .length;\n}","import environment from \"environment\";\nimport i18n from \"../i18n\";\nimport Store from \"../store/store\";\nimport * as Sentry from \"@sentry/react\";\n\nimport {\n ACCOUNT_ORDER_STATUS,\n CYCLE_STATE,\n DEFAULT_ORDERS_GROUPS,\n DELIVERY_STRATEGY,\n DIALOG_TYPE_CONFIRM,\n EXTERNAL_CYCLE_STATE,\n getAccountOrderDeliveryStrategyList,\n getAccountOrderStatusList,\n ICONS_MARKER_TYPE,\n INTEGRATION_TYPE,\n MODE_SWITCHER_TYPE,\n MODEL_TYPE,\n ORDER_PROCESS_STEP,\n ORDER_STATE,\n ORDER_STATE_COLOR,\n ORDER_TYPE,\n PENDING_ORDERS_FILTER_TYPE,\n SOURCE_TYPE,\n TYPE_MARKER\n} from \"../utils/enums\";\nimport {getParsedServerModel, mergeArrays, objectKeysToUpperLowerCase, parseServerModel} from \"../utils/objects-util\";\nimport {\n defaultDate,\n getFormatRelativeTime,\n getISOTime,\n getRelativeStartEndTime,\n getStaticTime,\n prepareStartDate,\n relativeDeltaTimeNoJust, setStartTime\n} from \"../utils/convertTime\";\n\nimport GoogleMapsService from \"./googleMapsService\";\nimport {getInitModel} from \"./initModels\";\nimport Color from \"./color\";\nimport ColorService from \"./color\";\nimport MarkerIcons from \"./markericons\";\nimport {calculateOrderPreviousTime, getCourierColor, getFullName, getSwitchedFullName, isRTL} from \"./userModel\";\nimport User from \"./user\";\nimport {getDepot, getDepotName, getRestaurantConfigPropValue, isDepotMode} from \"./restaurant\";\nimport {\n checkForControlCenter,\n courierFilter,\n courierQueueSort,\n defaultGroupFilter,\n externalCycleGroupsFilter,\n getActiveUsers,\n isPickupGroup,\n notReadyGroupFilter,\n readyGroupFilter,\n sortByDate,\n sortByOlderOrder,\n sortItemsByReadinessAndTargetDate,\n sortItemsDate\n} from \"./filter\";\nimport {reverseGeoLocation} from \"../api/restaurant-requests\";\nimport {getAddressHistory, getGEOLocation, getGEOLocationStr, getPlace} from \"../api/order-requests\";\nimport Markers from \"./markers\";\nimport {getHistoryLocationParams} from \"../utils/routesHelper\";\nimport {fixedNumber} from \"../utils/math-util.js\";\n\nconst orderModelTypesDictionary = {\n address: MODEL_TYPE.address,\n location: MODEL_TYPE.location,\n payments: MODEL_TYPE.payments,\n order: MODEL_TYPE.order\n};\n\nexport function getOrderServerModel(order) {\n return {\n Id: order.id,\n OrderId: order.orderId,\n DepotId: order.depotId,\n Date: getISOTime(order.date),\n State: order.state,\n FirstName: order.firstName,\n LastName: order.lastName,\n Address: order.type ? null : getParsedServerModel(order.address),\n Location: order.type ? null : getParsedServerModel(order.location),\n ConsumerPhone: order.consumerPhone,\n Notes: order.notes,\n Amount: order.amount,\n PaymentInfo: order.paymentInfo,\n IsCache: order.isCache,\n IsHighPriority: order.isHighPriority,\n IsExtraSize: order.isExtraSize,\n Currency: order.currency,\n Content: getParsedServerModel(order.content) || [],\n TargetTime: getISOTime(order.targetTime),\n DeliveryStrategy: order.deliveryStrategy ? \"ConcreteTime\" : \"Asap\",\n Type: order.type ? \"TakeAway\" : \"Delivery\",\n ReceiptIds: order.receiptIds,\n Payments: getParsedServerModel(order.payments),\n CookingTimeInMin: order.cookingTimeInMin,\n ReadinessTime: getISOTime(order.readinessTime)\n };\n}\n\nexport function getAddressServerModel(address) {\n return {\n City: address.city,\n Country: address.country,\n Entrance: address.entrance,\n Notes: address.notes,\n Organization: address.organization,\n Postal: address.postal,\n State: address.state,\n Street: address.street,\n StreetNumber: address.streetNumber\n };\n}\n\nexport function getPlaceServerModel(order) {\n const result = {\n OrderId: order.orderId || \"\",\n DepotId: order.depotId,\n PlaceId: order.location ? order.location.placeId : \"\",\n Date: getISOTime(order.date),\n TargetTime: getISOTime(order.targetTime),\n DeliveryStrategy: order.deliveryStrategy ? \"ConcreteTime\" : \"Asap\",\n City: order.address.city,\n Street: order.address.street,\n IsVip: order.isHighPriority || false,\n IsExtraSize: order.isExtraSize || false,\n Payments: order.payments,\n ReadinessTime: getISOTime(order.readinessTime),\n Currency: order.currency,\n ConsumerPhone: order.consumerPhone,\n Notes: order.notes\n };\n\n if (order.userName) {\n let arr = order.userName.trim().split(' ');\n result.LastName = arr.pop();\n result.FirstName = arr.join(' ');\n }\n\n return result;\n}\n\nexport function getPlaceServerOrderModel(order) {\n const result = {\n OrderId: order.orderId || \"\",\n DepotId: order.depotId,\n PlaceId: order.location ? order.location.placeId : \"\",\n Date: getISOTime(order.date),\n TargetTime: getISOTime(order.targetTime),\n DeliveryStrategy: order.deliveryStrategy,\n City: order.address.city,\n Street: order.address.street,\n IsVip: order.isHighPriority || false,\n IsExtraSize: order.isExtraSize || false,\n Location: order.location || false,\n Payments: order.payments,\n ReadinessTime: getISOTime(order.readinessTime),\n Currency: order.currency,\n ConsumerPhone: order.consumerPhone,\n Notes: order.notes,\n Type: 0,\n Address: order.address,\n CookingTimeInMin: order.cookingTimeInMin,\n IsHighPriority: order.isHighPriority,\n\n };\n\n if (order.userName) {\n let arr = order.userName.trim().split(' ');\n result.LastName = arr.pop();\n result.FirstName = arr.join(' ');\n }\n\n return result;\n}\n\n\nexport function getLocationServerModel(location) {\n if (!locationIsEmpty(location)) return location;\n return {\n Latitude: location.latitude,\n Longitude: location.longitude\n };\n}\n\nexport function createAutocompletionRequest(countryCode, input) {\n return {\n componentRestrictions: {\n country: countryCode\n },\n input: input,\n types: [\"geocode\"]\n };\n}\n\nexport function createLocationModel(latitude, longitude) {\n return {\n latitude: latitude || 0,\n longitude: longitude || 0,\n placeId: null,\n modelType: MODEL_TYPE.location\n };\n}\n\nexport function getAddress(address) {\n if (!address) return \"\";\n if(typeof address === 'string' || address instanceof String)\n return address;\n\n let items = [];\n if (address.street) {\n items.push(address.street);\n }\n\n if (address.city) {\n items.push(address.city);\n }\n\n return items.join(\", \");\n}\n\nexport function getShortOrderId(order) {\n if(!order || !order.orderId) return \"\";\n return order.orderId.length > environment.orders.maxSymbolsInOrderName\n ? (\"...\" + order.orderId.substring(\n order.orderId.length - environment.orders.maxSymbolsInOrderName,\n order.orderId.length))\n : order.orderId;\n}\n\nexport function getPlaceOrAddress(order) {\n if(!order || !order.address) return \"\";\n return order.address.organization || getMiniAddress(order);\n}\n\nexport function getPickupPlaceOrAddress(order, depot) {\n if (!order.depotId) return \"\";\n\n if(depot) {\n const address = depot && depot.address && depot.address.address;\n return address.notes || getDepotAddress(address);\n } else {\n const state = Store.store.getState();\n const depot = ((state && state.restaurant && state.restaurant.data.depots) || [])\n .find(depot => depot.id === order.depotId);\n const address = depot && depot.address && depot.address.address;\n return address.notes || getDepotAddress(address);\n }\n}\n\nexport function getMiniAddress(order) {\n if (order.type) return getName(order);\n let address = [];\n if (order.address && order.address.street) address.push(order.address.street);\n if (order.address && order.address.city) address.push(order.address.city);\n return address.length ? address.join(\", \") : \"--\";\n}\n\nexport function getOrderInfoAddress(order) {\n if (!order) return \"\";\n let address = [];\n\n if (order.city) address.push(order.city);\n if (order.address) address.push(order.address);\n if (order.flat) address.push(`${i18n.t(\"orders.FLAT_LABEL\")}: ${order.flat}`);\n if (order.storey) address.push(`${i18n.t(\"orders.STOREY_LABEL\")}: ${order.storey}`);\n\n return address.length ? address.join(\", \") : \"-\";\n}\n\nexport function getMiniOriginalAddress(order) {\n if (order.type) return i18n.t(\"orders.TAKEAWAY_GROUP_LABEL\");\n if (!order.originalAddress) return \"--\";\n\n let address = [];\n if (order.originalAddress.street) address.push(order.originalAddress.street);\n if (order.originalAddress.city) address.push(order.originalAddress.city);\n return address.length ? address.join(\", \") : \"--\";\n}\n\nexport function getAppartmentNumber(order) {\n return (order.address && order.address.entrance) || \"\";\n}\n\nexport function getName(order) {\n return (\n (order.firstName ? order.firstName + \" \" : \"\") +\n (order.lastName ? order.lastName : \"\")\n );\n}\n\nexport function getNameById(id) {\n const state = Store.store.getState();\n const users = state.userModel.data;\n const user = users.find(u => u.userId === id);\n return user ? getName(user) : id;\n}\n\nexport function getUIName(order) {\n if (!order) return i18n.t(\"basic.ANONYMOUS_LABEL\");\n return getName(order) || i18n.t(\"basic.ANONYMOUS_LABEL\");\n}\n\nexport function getNotes(order) {\n return order.address ? order.address.notes : \"\";\n}\n\nexport function getOrganization(order) {\n return order.address ? order.address.organization : \"\";\n}\n\nexport function getConvertedTargetTime(order, rtl = isRTL()) {\n return order.deliveryStrategy === DELIVERY_STRATEGY.concreteTime\n ? getStaticTime(order.targetTime, false, rtl)\n : null;\n}\n\nexport function getFormattedDeliveryDuration(order) {\n if (order.state !== ORDER_STATE.delivered || !order.deliveryTime) {\n return \"-:-\";\n }\n\n return getRelativeStartEndTime(order.date, order.deliveryTime);\n}\n\nexport function getDeliveredDate(order) {\n if (!order || !order.deliveryTime) return \"\";\n const date = new Date(order.deliveryTime);\n return order.deliveryTime && date.getTime() === new Date(defaultDate)\n ? \"\"\n : date;\n}\n\nexport function initOrderModel(order, firstDepotId) {\n return getInitModel(MODEL_TYPE.order, {\n depotId: firstDepotId,\n ...parseServerModel(order, orderModelTypesDictionary, MODEL_TYPE.order)\n });\n}\n\nexport function getDefaultAdminOrdersSearchFilter() {\n const search = getHistoryLocationParams((window.location || {}).search).searchStr || \"\";\n return {\n search,\n businessId: null,\n start: !search ? prepareStartDate(setStartTime(new Date())) : null,\n end: null,\n status: !search ? ACCOUNT_ORDER_STATUS.pending : null,\n deliveryStrategy: null,\n rating: null,\n deliveryRating: null,\n withRating: false,\n territory: null,\n // deviceType: null,\n // paymentMethod: null,\n // orderSource: null,\n };\n}\n\nexport function extractOrders(source) {\n const activeUsers = getActiveUsers(source.users);\n const groupsOrders = extractGroupsOrders(source.orders, source.users);\n const preOrders = extractPreOrders(source.orders);\n const takeawayOrders = extractTakeawayOrders(source.orders);\n const cycleOrdersGroups = extractCycleOrders(source.cycles, activeUsers);\n const assistanceOrders = exctractAssistanceOrders(source.assistanceOrders);\n const userGroups = createUserGroups(cycleOrdersGroups.groups, activeUsers);\n const firstDepot = getDepot(source.restaurant && source.restaurant.depots, null, true);\n\n return {\n groups: groupsOrders.groups\n .concat(preOrders.groups)\n .concat(takeawayOrders.groups)\n .concat(cycleOrdersGroups.groups)\n .concat(userGroups)\n .concat(assistanceOrders.groups),\n orders: groupsOrders.orders\n .concat(preOrders.orders)\n .concat(takeawayOrders.orders)\n .concat(cycleOrdersGroups.orders)\n .concat(assistanceOrders.orders)\n .map(order => initOrderModel(order, firstDepot.id)),\n pickUps: cycleOrdersGroups.pickUps,\n activeOrders: ((source.activeOrders || [])\n .concat(source.consumerOrders || []))\n .concat(assistanceOrders.orders || [])\n ?.sort((a, b) => sortByDate(a, b, \"creation_datetime\"))\n };\n}\n\nexport function extractExternalCycleOrders(externalCycles) {\n let orders = [];\n let markers = [];\n\n (externalCycles || []).forEach(externalCycle => {\n let externalCyclesOrders = externalCycle.orders || [];\n updateOrdersMarkerType(externalCycle, externalCyclesOrders);\n\n orders.push(...externalCyclesOrders.map((order, index)=> ({\n ...order,\n color: externalCycle.color,\n isExternalGroup: true,\n index\n })));\n\n markers.push(...externalCyclesOrders\n .filter(f=> f.type === ORDER_TYPE.delivery)\n .map(order=> Markers.instance.createExternalCycleMarkerOrder(order, externalCycle))\n );\n });\n\n return { orders, markers };\n}\n\nexport function extractExternalCycleCourierMarkers(courierLocations, externalCyclesItems) {\n const externalCycles = (externalCyclesItems || []).map(externalCycle=> {\n const travelData = (courierLocations || []).find(courierLocation=> courierLocation.courierId === externalCycle.id);\n\n return {\n ...externalCycle,\n travelData: externalCycle.travelData\n ? { ...externalCycle.travelData, ...(travelData || {}) }\n : travelData\n };\n });\n\n return {\n externalCycles,\n markers: externalCycles.reduce((acc, externalCycle)=> {\n if(externalCycle.travelData) {\n acc.push(Markers.instance.createExternalCycleMarkerCourier(externalCycle));\n }\n\n return acc;\n }, [])\n };\n}\n\nexport function getGroupColor(group, order) {\n if (!group) return ORDER_STATE_COLOR.white;\n\n return group &&\n isDefaultGroup(group.id) &&\n order.state === ORDER_STATE.ready &&\n User.instance.getCurrentUserConfigurationProp(\"courierColorScheme\")\n ? ORDER_STATE_COLOR.blue\n : group.color;\n}\n\nexport function getGroupCourierColor(user) {\n return getCourierColor(user);\n}\n\nexport function isDefaultGroup(groupId) {\n return (\n groupId === DEFAULT_ORDERS_GROUPS.Unsorted ||\n groupId === DEFAULT_ORDERS_GROUPS.takeawayOrders ||\n groupId === DEFAULT_ORDERS_GROUPS.preOrders ||\n groupId === DEFAULT_ORDERS_GROUPS.assistance\n );\n}\n\nexport function isNotDefaultOrderGroup(groupId) {\n return groupId && !Object.keys(DEFAULT_ORDERS_GROUPS).includes(groupId);\n}\n\nexport function getGroupName(group) {\n if(!group) return \"\";\n if (isDefaultGroup(group.id)) return group.name;\n return i18n.t(\"dashboard.orders.ROUTE_LABEL\");\n}\n\nexport function getAllTimeGroup(group) {\n const routeEstimation =\n group.routeEstimation || getInitModel(MODEL_TYPE.routeEstimation);\n return relativeDeltaTimeNoJust(routeEstimation.totalTime);\n}\n\nexport function getDeltaTime(group) {\n const routeEstimation =\n group.routeEstimation || getInitModel(MODEL_TYPE.routeEstimation);\n const delta = routeEstimation.totalTime - group.optimalData.totalTime;\n const convertedTime = relativeDeltaTimeNoJust(Math.abs(delta));\n return delta < 0 ? \"- \" + convertedTime : \"+ \" + convertedTime;\n}\n\nexport function getDistance(group) {\n const routeEstimation =\n group.routeEstimation || getInitModel(MODEL_TYPE.routeEstimation);\n return routeEstimation.totalDistance;\n}\n\nexport function getPath(group) {\n if(!group) return \"\";\n const state = Store.store.getState();\n const orders = []\n .concat(state.order.data.orders)\n .concat(state.order.data.pickUps)\n .filter(f => f.groupId === group.id)\n .sort((a, b) => a.index - b.index);\n const orderId = getShortOrderId(orders[0]);\n const isShowOrderId = (!isDepotMode || !User.instance.getCurrentUserConfigurationProp(\"isHideOrderId\")) && orderId;\n\n let result = [];\n\n if (orders && orders.length) {\n if (orders.length > environment.orders.maxOrdersInTitle) {\n result.push(\n orders[0].type === ORDER_TYPE.delivery || isShowOrderId ? getShortOrderId(orders[0]) : getDepotName(orders[0])\n );\n result.push(\"...\");\n result.push(\n orders[orders.length - 1].type === ORDER_TYPE.delivery || isShowOrderId ? getShortOrderId(orders[orders.length - 1]) : getDepotName(orders[orders.length - 1])\n );\n } else {\n orders.forEach(order => {\n result.push(\n order.type === ORDER_TYPE.delivery || isShowOrderId ? getShortOrderId(order) : getDepotName(order)\n );\n });\n }\n }\n\n return [...new Set(result)].join(\" > \");\n}\n\nexport function isLastGroupOrder(id, orders, courier) {\n if(!id || !(courier || {}).cycle || courier.cycle.state >= CYCLE_STATE.closed) return false;\n const cycleOrders = (courier.cycle.orders || [])\n .map((m, index)=> ({ ...m, groupId: courier.userId || courier.courierId, index }))\n .filter(f=> f.type !== ORDER_TYPE.pickUp && f.state < ORDER_STATE.delivered);\n const order = cycleOrders.find(f=> f.id === id) || (orders || []).find(f=> f.id === id);\n\n if(!order) return false;\n\n const courierOrders = cycleOrders.length\n ? cycleOrders\n : (orders || []).filter(f=> f.groupId === order.groupId && f.state < ORDER_STATE.delivered);\n return courierOrders.length === 1 || order.index === Math.max(...courierOrders?.sort((a, b)=> (a.index || 0) - (b.index || 0)).map(m=> m.index));\n}\n\nexport function isLastExternalCycleOrder(order, orders, externalCycle) {\n if(!order || !Array.isArray(orders) || isDefaultGroup(order.groupId)) return false;\n\n if(!externalCycle || externalCycle.state !== EXTERNAL_CYCLE_STATE.deliveryStart) return false;\n const items = orders\n .filter(f=> f.groupId === order.groupId && f.state < ORDER_STATE.delivered)\n ?.sort((a, b)=> a.index - b.index);\n return order.index === Math.max(...items.map(m=> m.index));\n}\n\nexport function showGroup(group) {\n return group && (group.alwaysShow || (!groupIsEmpty(group) && !group.hide));\n}\n\nexport function getOrderTime(order, routeEstimation) {\n if(!order || !order.id) return \"\";\n if(routeEstimation) {\n const segment = ((routeEstimation && routeEstimation.segments) || [])\n .find(f => f.correspondingId === order.id);\n return relativeDeltaTimeNoJust(segment && segment.accumulatedTime);\n } else {\n const state = Store.store.getState();\n const group = ((state &&\n state.order &&\n state.order.data.groups) || []).find(f => f.id === order.groupId);\n const segment = ((group && group.routeEstimation && group.routeEstimation.segments) || [])\n .find(f => f.correspondingId === order.id);\n return relativeDeltaTimeNoJust(segment && segment.accumulatedTime);\n }\n}\n\nexport function isEmptyEstimationData(group) {\n if (!group) return true;\n return (\n isEmptyRouteEstimation(group.travelData) &&\n isEmptyOptimalData(group.optimalData)\n );\n}\n\nexport function isEmptyOptimalData(optimalData) {\n return !optimalData || (!optimalData.totalDistance && !optimalData.totalTime);\n}\n\nexport function isEmptyRouteEstimation(travelData) {\n return (\n !travelData || !travelData.progress || !travelData.progress.segments.length\n );\n}\n\nexport function isShowETAForOrder(order, group, user) {\n if (\n !group ||\n !user ||\n group.id === DEFAULT_ORDERS_GROUPS.preorders ||\n group.id === DEFAULT_ORDERS_GROUPS.takeaways ||\n order.state > ORDER_STATE.onroute\n )\n return false;\n return !(\n !user.travelData ||\n !user.travelData.progress ||\n !user.travelData.progress.segments\n );\n}\n\nexport function getDistanceWithOptimal(group) {\n const num = group.routeEstimation.totalDistance - group.optimalData.totalDistance;\n const distance = parseFloat(num.toFixed(2));\n return distance < 0 ? distance : \"+ \" + distance;\n}\n\nexport function getOrderArrivalEstimation(order, courier, orders) {\n if (\n !courier.travelData ||\n !courier.travelData.progress ||\n !courier.travelData.progress.segments\n )\n return \"\";\n\n const time = calculateOrderPreviousTime(\n order,\n courier.travelData.progress.segments,\n orders\n );\n return time > 0\n ? order.markerType === ICONS_MARKER_TYPE.point\n ? getFormatRelativeTime(time * 1000, undefined, true, isRTL())\n : getStaticTime(time * 1000 + new Date().getTime(), false, isRTL())\n : \"\";\n}\n\nexport function getExternalCycleOrderArrivalEstimation(order, externalCycle, orders) {\n const travelData = ((externalCycle.travelData && externalCycle.travelData.progress) || externalCycle.routeEstimation) || {};\n const segment = (travelData.segments || []).find(f=> f.correspondingId === (order || {}).id) || {};\n const orderTimeToArrival = segment.timeToArrivalInSec;\n if (!travelData.segments || !order || !orderTimeToArrival)\n return \"\";\n\n const time = calculateOrderPreviousTime(order, travelData.segments, orders);\n return time > 0\n ? (order.markerType === ICONS_MARKER_TYPE.point\n ? getFormatRelativeTime(time * 1000, undefined, true, isRTL())\n : getStaticTime(time * 1000 + new Date().getTime(), false, isRTL()))\n : \"\";\n}\n\nexport function getAPIType(order) {\n return order.groupId === DEFAULT_ORDERS_GROUPS.takeaways ||\n order.groupId === DEFAULT_ORDERS_GROUPS.preorders\n ? order.groupId\n : \"orders\";\n}\n\nexport function getGroupOrders(orderModel, groupId, withPickups = true) {\n let orders = (orderModel.orders || []).filter(order => order.groupId === groupId);\n if (withPickups)\n orders = orders.concat(\n (orderModel.pickUps || []).filter(order => order.groupId === groupId)\n );\n return orders;\n}\n\nexport function getGroupOrdersByControlCenter(orderModel, groupId, selectedControlCenterMulti, withPickups = true) {\n let orders = (orderModel.orders || []).filter(order => order.groupId === groupId && checkForControlCenter(order, selectedControlCenterMulti));\n if (withPickups)\n orders = orders.concat(\n (orderModel.pickUps || []).filter(order => order.groupId === groupId)\n );\n return orders;\n}\n\nexport function getAllOrders(orderModel) {\n return orderModel.orders.concat(orderModel.pickUps);\n}\n\nexport const getAddressLine = (item, returnArray) => {\n const address = [];\n if(item.city) address.push(item.city);\n if(item.address && typeof item.address === 'string') address.push(item.address);\n if(item.storey) address.push(`${item.storey} ${i18n.t(\"orders.STOREY_LABEL\")}`);\n if(item.flat) address.push(`${item.flat} ${i18n.t(\"orders.FLAT_LABEL\")}`);\n return returnArray ? address : address.join(\", \");\n}\n\nexport function getDepotAddress(depotAddress) {\n if(!depotAddress) return \"\";\n let items = [];\n if (depotAddress.street) items.push(depotAddress.street);\n if (depotAddress.city) items.push(depotAddress.city);\n return items.join(\", \");\n}\n\nexport function getDepotAddressById(depotId) {\n if(!depotId) return \"\";\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n const depot = (restaurant.depots || []).find(d => d.id === depotId);\n if(depot && depot.address && depot.address.address) {\n return getDepotAddress(depot.address.address);\n } else {\n return \"\";\n }\n}\n\nexport function getDepotAddressNotesById(depotId) {\n if(!depotId) return \"\";\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n const depot = (restaurant.depots || []).find(d => d.id === depotId);\n return depot?.address?.address?.notes || \"\";\n}\n\nexport function isHighlightItem(groupId) {\n return groupId === DEFAULT_ORDERS_GROUPS.assistance;\n}\n\nexport function isAssistanceGroup(groupId) {\n return groupId === DEFAULT_ORDERS_GROUPS.assistance;\n}\n\nexport function isShowTakeAwayBlock() {\n const state = Store.store.getState();\n const restaurant = state.restaurant.data;\n return restaurant && restaurant.configuration && restaurant.configuration.takeAwaySupported;\n}\n\nexport function getGroupsBarItems(\n groups,\n orders,\n externalCycles,\n isShowGroups = true,\n orderMode,\n isSearchMode = false,\n isMultiSelectMode = false,\n isShowCourierGroupOrders = false,\n isShowExtraSizeGroup,\n) {\n if (!groups && !orders) return [];\n\n if (orderMode === MODE_SWITCHER_TYPE.takeAway) {\n const items = sortItemsByReadinessAndTargetDate(\n getOrdersByGroups([groups.find(f => f.id === DEFAULT_ORDERS_GROUPS.takeawayOrders)], orders)\n );\n return isShowExtraSizeGroup ? items.filter(order => !order.isExtraSize) : items;\n }\n\n const activeGroups = groups\n .filter(group => group.alwaysShow ||\n (!group.hide && (orders || []).filter(f => f && f.groupId === group.id).length > 0)\n );\n\n let courierGroups = [];\n if (isShowGroups) {\n courierGroups = activeGroups\n .filter(group => courierFilter(group))\n ?.sort((g1, g2) => courierQueueSort(g1, g2));\n }\n\n let courierGroupOrders = [];\n if(isShowCourierGroupOrders) {\n const courGroups = groups.filter(group => courierFilter(group));\n courierGroupOrders = getOrdersByGroups(courGroups, orders, ORDER_STATE.onroute);\n }\n\n const readyGroups = activeGroups\n .filter(group => readyGroupFilter(group))\n ?.sort((g1, g2) => sortByOlderOrder(g1, g2));\n const notReadyGroups = activeGroups\n .filter(group => notReadyGroupFilter(group))\n ?.sort((g1, g2) => sortByOlderOrder(g1, g2));\n const defaultGroups = activeGroups.filter(group => !User.instance.getCurrentUserConfigurationProp(\"isHideTakeawayGroup\")\n ? defaultGroupFilter(group)\n : defaultGroupFilter(group) && group.id !== DEFAULT_ORDERS_GROUPS.takeawayOrders\n ).filter(group=> isShowTakeAwayBlock() ? group : group.id !== DEFAULT_ORDERS_GROUPS.takeawayOrders);\n const defaultGroupsOrders = sortItemsByReadinessAndTargetDate(getOrdersByGroups(defaultGroups, orders));\n const externalCycleGroups = externalCycleGroupsFilter(externalCycles);\n\n if (isMultiSelectMode) {\n return defaultGroupsOrders.filter(f=> f.groupId !== DEFAULT_ORDERS_GROUPS.assistance);\n }\n\n const result = isSearchMode\n ? orders\n : externalCycleGroups\n .concat(getOrdersByGroups(readyGroups, orders))\n .concat(courierGroups)\n .concat(getOrdersByGroups(notReadyGroups, orders))\n .concat(defaultGroupsOrders.filter(f=> f.groupId !== DEFAULT_ORDERS_GROUPS.preOrders))\n .concat(courierGroupOrders)\n .concat(defaultGroupsOrders\n .filter(f=> f.groupId === DEFAULT_ORDERS_GROUPS.preOrders)\n ?.sort((a, b)=> sortByDate(a, b, User.instance.getCurrentUserConfigurationProp(\"sortOrdersBasedOnReadinessTime\") ? \"readinessTime\" : \"targetTime\"))\n );\n\n if(orderMode === MODE_SWITCHER_TYPE.delivery) {\n return isShowExtraSizeGroup ? result.filter(order => !order.isExtraSize) : result;\n }\n\n if(orderMode === MODE_SWITCHER_TYPE.extraSize) {\n const items = result.concat(getOrdersByGroups([groups.find(f => f.id === DEFAULT_ORDERS_GROUPS.takeawayOrders)], orders));\n return isShowExtraSizeGroup ? items.filter(order => order.isExtraSize) : items;\n }\n}\n\nexport function getDefaultGroup() {\n const state = Store.store.getState();\n return state.order.data.groups.find(\n f => f.id === DEFAULT_ORDERS_GROUPS.Unsorted\n );\n}\n\nexport function equalsAddress(address1, address2) {\n const addressesExcludeKeys = [\n \"entrance\",\n \"notes\",\n \"organization\",\n \"modelType\",\n \"placeId\"\n ];\n for (var key in address1) {\n if (address1.hasOwnProperty(key) && addressesExcludeKeys.indexOf(key) < 0) {\n if ((address1[key] || \"\") !== (address2[key] || \"\")) return false;\n }\n }\n return true;\n}\n\nexport function getLocationByLocationModel(\n locationModel,\n applySearchCoordinates,\n skipEmptyAddress\n) {\n if (!locationModel) return Promise.reject();\n return getLocationByCoordinates(\n locationModel.latitude,\n locationModel.longitude,\n applySearchCoordinates,\n skipEmptyAddress\n );\n}\n\nexport function getLocationByString(address, skipEmptyAddress) {\n return new Promise((resolve, reject) => {\n getGEOLocationStr(address).then(\n response => {\n const result = convertGeoResponse(response, skipEmptyAddress);\n resolve(result ? result : reject(\"No data\"));\n },\n error => {\n console.log(error);\n }\n );\n });\n}\n\nexport function getLocationByAddress(address) {\n return new Promise((resolve, reject) => {\n getGEOLocation(address).then(\n response => {\n const result = convertGeoResponse(response, true);\n if (result) {\n resolve(result);\n } else {\n reject(\"No data\");\n }\n },\n error => {\n console.log(error);\n }\n );\n });\n}\n\nexport function getTotalAmount(payments) {\n if (!payments || !payments.length) return 0;\n return payments.reduce((a, b) => a + b.amount * 1, 0);\n}\n\nexport function processHistoryOrders(\n activeOrders,\n historyOrders,\n clearHistory,\n response\n) {\n const data = objectKeysToUpperLowerCase(response.data) || [];\n const orders = clearHistory ? [] : historyOrders || [];\n const newHistoryOrders = data.reduce((accumulator, orderFromSource) => {\n const activeOrder = activeOrders.find(f => f.id === orderFromSource.id);\n const order = orders.find(f => f.id === orderFromSource.id);\n\n if (!activeOrder && !order) {\n const initOrder = getInitModel(MODEL_TYPE.order);\n accumulator.push({\n ...initOrder,\n ...orderFromSource\n });\n }\n\n return accumulator;\n }, []);\n\n return sortItemsDate(orders.concat(newHistoryOrders), \"date\", true) || [];\n}\n\nexport function getGroupById(id) {\n const state = Store.store.getState();\n return state.order.data.groups.find(f => f.id === id);\n}\n\nexport function getCurrentDndId() {\n const state = Store.store.getState();\n return state.orderEdit.data.dnd.id;\n}\n\nexport function getLocationByCoordinates(\n latitude,\n longitude,\n applySearchCoordinates,\n skipEmptyAddress\n) {\n return new Promise((resolve, reject) => {\n reverseGeoLocation(latitude, longitude).then(\n response => {\n const result = convertGeoResponse(response, skipEmptyAddress);\n if (!result) {\n reject(\"No data\");\n } else {\n if (result.locatedAddress && applySearchCoordinates) {\n result.locatedAddress.location = { latitude, longitude };\n }\n resolve(result);\n }\n },\n error => {\n console.log(error);\n reject();\n }\n );\n });\n}\n\nexport function getOrderColorByGroup(group, order) {\n return order && order.integrationType === INTEGRATION_TYPE.ordering\n ? \"#ed552b\"\n : ((group && group.color) ? Color.instance.getCodeByColorKey(group.color) : \"\");\n}\n\nfunction convertGeoResponse(response, skipEmptyAddress) {\n if (!response.data) return null;\n if (\n !response.data.LocatedAddress &&\n (!response.data.SuggestedAddresses ||\n !response.data.SuggestedAddresses.length)\n )\n return null;\n\n return getGeoAddressModel(response.data, null, skipEmptyAddress);\n}\n\nfunction getGeoAddressModel(source, destinationModel, skipEmptyAddress) {\n if (!destinationModel)\n destinationModel = { locatedAddress: null, suggestedAddresses: [] };\n source = objectKeysToUpperLowerCase(source);\n return {\n locatedAddress:\n source.hasOwnProperty(\"LocatedAddress\") ||\n source.hasOwnProperty(\"locatedAddress\")\n ? source[\"locatedAddress\"]\n : destinationModel.locatedAddress,\n suggestedAddresses: source.hasOwnProperty(\"suggestedAddresses\")\n ? source[\"suggestedAddresses\"].reduce((accumulator, suggestedAddress) => {\n if (!skipEmptyAddress || getAddress(suggestedAddress.address)) {\n accumulator.push(suggestedAddress);\n }\n return accumulator;\n }, [])\n : destinationModel.suggestedAddresses\n };\n}\n\nfunction groupIsEmpty(group) {\n const state = Store.store.getState();\n const order = state.order.data.orders.find(\n f => f.groupId === group.id && !isPickupGroup(f)\n );\n\n return !order;\n}\n\nfunction extractPreOrders(source) {\n let key = DEFAULT_ORDERS_GROUPS.preOrders;\n let newGroup = getGroup(key);\n newGroup.alwaysShow = !User.instance.getCurrentUserConfigurationProp(\"isHidePreordersGroup\");\n newGroup.hideMarkers = true;\n\n if (!source) return { groups: [newGroup], orders: [] };\n let orders = source[key] || [];\n\n if (orders.length) {\n orders = orders.filter(order=> order.type !== ORDER_TYPE.takeAway).map(order => ({\n ...order,\n groupId: DEFAULT_ORDERS_GROUPS.preOrders,\n isCourierGroup: false\n }));\n }\n\n return { groups: [newGroup], orders: orders };\n}\n\nfunction extractTakeawayOrders(source) {\n let newGroup = getGroup(DEFAULT_ORDERS_GROUPS.takeawayOrders);\n newGroup.alwaysShow = !User.instance.getCurrentUserConfigurationProp(\"isHideTakeawayGroup\");\n newGroup.hideMarkers = true;\n\n if (!source) return { groups: [newGroup], orders: [] };\n\n let orders = source[DEFAULT_ORDERS_GROUPS.takeawayOrders] || [];\n let preOrdersTakeAway = (source[DEFAULT_ORDERS_GROUPS.preOrders] || []).filter(order=> order.type === ORDER_TYPE.takeAway);\n\n orders = orders.concat(preOrdersTakeAway);\n\n if (orders.length) {\n orders = orders.map(order => ({\n ...order,\n groupId: DEFAULT_ORDERS_GROUPS.takeawayOrders,\n isCourierGroup: false\n }));\n }\n\n return {\n groups: [newGroup],\n orders: orders\n };\n}\n\nfunction extractCycleOrders(cycles, users) {\n let groups = [];\n let orders = [];\n let pickUps = [];\n\n (cycles || []).forEach(cycle => {\n if (cycle.orders && cycle.orders.length > 0) {\n let user = users.find(user => user.userId === cycle.courierId);\n let newGroup = getGroup(DEFAULT_ORDERS_GROUPS.courierGroup, user);\n\n //Copy keys without orders\n Object.keys(cycle)\n .filter(f => f !== \"orders\")\n .forEach(key => { newGroup[key] = cycle[key]; });\n if(!newGroup.id && cycle.courierId) {\n newGroup.id = cycle.courierId;\n }\n groups.push(newGroup);\n\n //Fill orders\n let groupOrders = cycle.orders\n .map((order, index) => ({ ...order, index }))\n ?.sort((a, b) => a.index - b.index);\n updateOrdersMarkerType(newGroup, groupOrders);\n groupOrders.forEach(order => {\n order.groupId = newGroup.id || newGroup.courierId;\n if (order.type === ORDER_TYPE.pickUp) {\n pickUps.push(order);\n } else {\n orders.push(order);\n }\n });\n\n const extractCycleOrders = (cycle.orders &&\n cycle.orders.length &&\n cycle.orders.filter(o=> !orders.concat(pickUps).find(f=> f.id === o.id))) || [];\n if(extractCycleOrders.length) {\n Sentry.captureException(\"Error extractCycleOrders. Next ids: \" + extractCycleOrders.map(m=> m.id).join(\", \"));\n }\n }\n });\n\n return { groups, orders, pickUps };\n}\n\nexport function getCycleData(cycle, users, groups) {\n if(!cycle || !Array.isArray(cycle.orders)) return {};\n const user = (users || []).find(user => user.userId === cycle.courierId);\n const group = groups.find(g=> g.id === cycle.courierId) || getGroup(DEFAULT_ORDERS_GROUPS.courierGroup, user);\n const orders = cycle.orders.map((order, index)=> ({ ...order, index }));\n updateOrdersMarkerType(group, orders);\n return { group, orders };\n}\n\nfunction extractGroupsOrders(source, users) {\n let groups = [];\n let orders = [];\n let key = DEFAULT_ORDERS_GROUPS.groups;\n\n if (!source) return { groups, orders };\n (source[key] || []).forEach(group => {\n let user = users.find(f => f.userId === group.id);\n let newGroup = getGroup(null, user, group.id);\n\n Object.keys(group)\n .filter(f => f !== \"orders\")\n .forEach(key => {\n newGroup[key] = group[key];\n });\n groups.push(newGroup);\n\n orders = orders.concat(\n group.orders.map(order => ({\n ...order,\n groupId: newGroup.id,\n isCourierGroup: newGroup.isCourierGroup\n }))\n );\n });\n\n if(!groups.find(f=> f.id === DEFAULT_ORDERS_GROUPS.Unsorted)) {\n groups.push(getGroup(DEFAULT_ORDERS_GROUPS.Unsorted));\n }\n\n return { groups, orders };\n}\n\nfunction exctractAssistanceOrders(source) {\n let newGroup = getGroup(DEFAULT_ORDERS_GROUPS.assistance);\n newGroup.caching = false;\n newGroup.name = i18n.t(\"dashboard.orders.ASSISTANCE_LABEL\");\n newGroup.hideMarkers = true;\n\n if (!source) return { groups: [newGroup], orders: [] };\n\n let orders = source || [];\n if (orders.length) {\n orders = orders.map(order => ({\n ...(order.parsedOrder ? { ...order, ...order.parsedOrder, ...order.parsedOrder.address, notes: order.parsedOrder.notes } : order),\n groupId: newGroup.id,\n isCourierGroup: newGroup.isCourierGroup,\n type: order.parsedOrder.takeAway ? 1 : 0,\n isAssistOrder: true,\n state: order.state,\n }));\n }\n\n return {\n groups: [newGroup],\n orders: orders\n };\n}\n\nfunction createUserGroups(groups, users) {\n let groupIds = groups.map(group => group.id);\n return users\n .filter(user => user && !groupIds.includes(user.userId) && (user.roles || {}).active)\n .map(user => getGroup(DEFAULT_ORDERS_GROUPS.courierGroup, user));\n}\n\nexport function getGroup(groupType = null, user = null, groupId = null) {\n const group = {\n id: groupId\n ? groupId\n : groupType === DEFAULT_ORDERS_GROUPS.courierGroup\n ? (user || {}).userId\n : groupType,\n enableDragAndDrop: true,\n showPin: false,\n isLocked: false\n };\n\n if (\n groupType === DEFAULT_ORDERS_GROUPS.Unsorted ||\n groupId === DEFAULT_ORDERS_GROUPS.Unsorted\n ) {\n group.showFlags = true;\n group.alwaysShow = true;\n group.name = i18n.t(\"dashboard.orders.GROUP_UNSORTED\");\n } else {\n group.showBages = false;\n group.showPath = true;\n group.showPin = true;\n group.showNotes = true;\n\n if (user) {\n group.color = user && user.color ? user.color : ColorService.instance.getColor();\n group.isCourierGroup = true;\n group.name = getSwitchedFullName(user);\n group.isLocked = user.isLocked;\n } else {\n group.color = ColorService.instance.getColor();\n group.name = i18n.t(\"dashboard.orders.GROUP_LABEL\");\n group.showFlags = true;\n }\n }\n\n return group;\n}\n\nexport function updateOrderData(\n sourceOrder,\n isPreorder,\n groupDestinationName,\n state\n) {\n let source = initOrderModel({ ...sourceOrder });\n let order =\n state.data.orders && source.id\n ? state.data.orders.find(order => order && source && order.id === source.id)\n : null;\n let takeaway = source.type;\n\n if (\n !groupDestinationName ||\n groupDestinationName !== DEFAULT_ORDERS_GROUPS.assistance\n ) {\n if (isPreorder) {\n groupDestinationName = DEFAULT_ORDERS_GROUPS.preOrders;\n } else if (takeaway) {\n groupDestinationName = DEFAULT_ORDERS_GROUPS.takeawayOrders;\n } else if (!groupDestinationName) {\n groupDestinationName = DEFAULT_ORDERS_GROUPS.Unsorted;\n }\n }\n\n let groupDestination =\n state.data.groups &&\n state.data.groups.find(group => group.id === groupDestinationName);\n\n if (order) {\n order = { ...order, ...source };\n } else if (groupDestination) {\n order = { ...source };\n order.isCourierGroup = groupDestination.isCourierGroup;\n order.markerType = ICONS_MARKER_TYPE.empty;\n }\n\n if (groupDestination) {\n order.groupId = groupDestination.id;\n order.color = groupDestination.color;\n }\n\n return order;\n}\n\nexport function getOrdersByGroups(groups, orders, orderState = ORDER_STATE.delivered) {\n if (!groups || !groups.length) return [];\n let groupIds = groups.map(m => m.id);\n return orders.filter(order => groupIds.includes(order.groupId) && order.state < orderState);\n}\n\nexport function isGroupHide(state) {\n return !(state === CYCLE_STATE.started || state === CYCLE_STATE.away);\n}\n\nexport function removeAddressNulls(address) {\n for (const key in address) {\n if (address.hasOwnProperty(key) && address[key] === null) address[key] = \"\";\n }\n return address;\n}\n\nexport function dropPaymensZerro(payments) {\n if (!Array.isArray(payments)) return [];\n return payments.reduce((accumulator, payment) => {\n if (payment.amount && parseInt(payment.amount) !== 0)\n accumulator.push(payment);\n return accumulator;\n }, []);\n}\n\nexport function getInitOrderModel() {\n return getInitModel(MODEL_TYPE.order);\n}\n\nexport function getPaymentsServerModel(payment) {\n return payment;\n}\n\nexport function isUniqueAddress(locatedAddresses, addressString) {\n const unifiedAddress = unifyAddress(addressString);\n return !locatedAddresses.some(locatedAddress => unifyAddress(getAddress(locatedAddress.address)) === unifiedAddress);\n}\n\nexport function getRestaurantCityList(restaurant, isBase = false) {\n if (!restaurant || !restaurant.configuration || !restaurant.configuration.serviceCities)\n return [];\n return isBase\n ? restaurant.configuration.serviceCities\n : restaurant.configuration.serviceCities.map(city => ({ city: city }));\n}\n\nexport function getFirstRestaurantCity() {\n const state = Store.store.getState();\n return state &&\n state.restaurant &&\n state.restaurant.data.configuration &&\n state.restaurant.data.configuration.serviceCities &&\n state.restaurant.data.configuration.serviceCities[0];\n}\n\nexport function fillLocationFromPlace(location, address) {\n return new Promise((resolve, reject) => {\n let city = \"\";\n let street = \"\";\n let placeId = (location && location.placeId) || \"\";\n if (address) {\n city = address.city;\n street = address.street;\n }\n\n if (!city && !street && !placeId) reject(\"No data for place\");\n\n getPlace(placeId, city, street).then(\n response => {\n const result = convertGeoResponse(response);\n if (!result || !result.locatedAddress) {\n reject(\"No data\");\n } else {\n resolve(result.locatedAddress);\n }\n },\n response => {\n console.log(response);\n reject(response);\n }\n );\n });\n}\n\nexport function getAddressSuggestions(address, city, countryCode, isByCitySearch, radiusLocation) {\n return new Promise((resolve, reject) => {\n const input = city ? city + \", \" + address : address;\n GoogleMapsService.instance\n .getAutocompleteService()\n .then(autocompleteService => {\n let autocompleteRequest = {\n componentRestrictions: { country: countryCode },\n input,\n types: [\"geocode\"]\n };\n\n if(radiusLocation) {\n autocompleteRequest = { ...autocompleteRequest, ...radiusLocation };\n }\n\n autocompleteService.getPlacePredictions(autocompleteRequest, (response, status) => {\n if (status === window.google.maps.places.PlacesServiceStatus.OK && response.length) {\n const cityLower = city ? city.toLowerCase() : \"\";\n\n const locatedAddresses = response.reduce((accumulator, place) => {\n if (!place.description.toLowerCase().includes(cityLower)) {\n return accumulator;\n }\n\n const addressArr = [];\n place.terms.some(term => {\n if (term.value.toLowerCase() === cityLower) return true;\n addressArr.push(term.value);\n return false;\n });\n\n let locatedAddress = {\n location: { ...createLocationModel(), placeId: place.place_id }\n };\n\n locatedAddress.address = isByCitySearch\n ? {\n ...getInitModel(MODEL_TYPE.address),\n city: (place.terms && place.terms.length > 0 && place.terms[0].value) || \"\"\n } : {\n ...getInitModel(MODEL_TYPE.address),\n city: city || (place.terms.length > 1 ? place.terms[place.terms.length - 2].value : \"\"),\n street: addressArr.join(\", \")\n }\n\n if (isUniqueAddress(accumulator, getAddress(locatedAddress.address)))\n accumulator.push(locatedAddress);\n return accumulator;\n }, []);\n\n if (locatedAddresses.length) {\n resolve(locatedAddresses);\n } else {\n reject(\"No addresses\");\n }\n } else {\n reject(status);\n }\n });\n });\n });\n}\n\nexport function locationIsEmpty(location, isSomeEmpty = false) {\n if (!location) return true;\n const latitude = location.latitude || location.lat;\n const longitude = location.longitude || location.lng;\n\n const validLatitude = typeof latitude === 'number' && !Number.isNaN(latitude);\n const validLongitude = typeof longitude === 'number' && !Number.isNaN(longitude);\n\n return isSomeEmpty\n ? (!validLatitude || !validLongitude)\n : (!validLatitude && !validLongitude);\n}\n\nexport function getLatLngFromLocation(location, isGoogleLatLng) {\n const currLocation = locationIsEmpty(location)\n ? { lat: 0, lng: 0 }\n : {\n lat: location.latitude || location.lat || 0,\n lng: location.longitude || location.lng || 0\n };\n\n return isGoogleLatLng\n ? ((window && window.google && window.google.maps && new window.google.maps.LatLng(currLocation)) || currLocation)\n : currLocation;\n}\n\nexport function isSameLocations(location1, location2) {\n if (!location1 && !location2) return true;\n if (!location1 || !location2) return false;\n\n return (\n location1.latitude === location2.latitude &&\n location1.longitude === location2.longitude\n );\n}\n\nexport function getDeliveryDuration(order) {\n if (!order.deliveryTime || !order.date) return 0;\n const deliveryDate = new Date(order.deliveryTime);\n const date = new Date(order.date);\n return deliveryDate - date;\n}\n\nexport function setPaymentOrder(order) {\n if(!order.payments) return order;\n\n order.payments = order.payments.filter((payment, index)=> (payment.isCache && payment.amount)\n ? true\n : ((index && order.payments[0].isCache && order.payments[0].amount) ? false : payment.amount)\n );\n\n order.amount = order.payments.map((a, b)=> a.amount + b.amount);\n return order;\n}\n\nexport function getPreviousAddresses(phone, lastPhone) {\n const filteredPhone = phone.replace(\"+\", \"\");\n\n return new Promise((resolve, reject) => {\n if (lastPhone === filteredPhone || !filteredPhone) {\n resolve({ lastPhone: lastPhone, previousAddresses: [] });\n return;\n }\n\n getAddressHistory(filteredPhone).then(response => {\n if (response.data && response.data.length) {\n const previousAddresses = response.data.reduce((accumulator, address) => {\n if (address.location) accumulator.push(address);\n return accumulator;\n }, []\n );\n\n resolve({ lastPhone: lastPhone, previousAddresses: previousAddresses });\n }\n },\n result => resolve({ lastPhone: lastPhone, previousAddresses: [] })\n );\n });\n}\n\nexport function getAmountForType(order, isCache = false) {\n if(!order || !Array.isArray(order.payments)) return 0;\n const total = order.payments\n .reduce((sum, p) => (p.isCache === isCache && (sum + (p.amount || 0))) || sum, 0);\n return fixedNumber(total, 2);\n}\n\nexport function getReadyForGroupingOrdersCount(orders) {\n if (!orders || !orders.length)\n return 0;\n return orders.filter(order=> isDefaultGroup(order.groupId) && order.state === ORDER_STATE.ready).length;\n}\n\nfunction unifyAddress(addressString) {\n const addressExp = /,/g;\n return addressString.toLowerCase().trim().replace(addressExp, \"\");\n}\n\nexport function updateOrdersMarkerType(group, orders) {\n let orderDispatched = 0;\n orders.forEach(order => {\n let markerType;\n if (order.type !== ORDER_TYPE.pickUp) {\n markerType = MarkerIcons.instance.convertStateToIcon(order.state, orderDispatched);\n if (order.state === ORDER_STATE.onroute) {\n orderDispatched++;\n }\n } else if (order.type === ORDER_TYPE.pickUp) {\n markerType = MarkerIcons.instance.convertPickUpStateToIcon(order.state, orderDispatched);\n if (order.state === ORDER_STATE.new) {\n orderDispatched++;\n }\n }\n\n order.markerType = markerType;\n order.color = group.color;\n order.groupId = group.id;\n });\n}\n\nexport function getAccountOrderStatusByKey(key) {\n const status = getAccountOrderStatusList().find(f=> f.key === key) || {};\n return status[\"value\"] || \"\";\n}\n\nexport function getAccountOrderDeliveryStrategyByKey(key) {\n const strategy = getAccountOrderDeliveryStrategyList().find(f=> f.key === key) || {};\n return strategy[\"value\"] || \"\";\n}\n\nexport function getIsShowReadinessTime(order) {\n const array = [ORDER_STATE.new, ORDER_STATE.kitchen, ORDER_STATE.ready];\n return !getRestaurantConfigPropValue(\"hideReadinessTimeOnOrderCard\")\n && order.readinessTime\n && array.includes(order.state)\n}\n\nexport function getControlIcon(order) {\n switch (order.markerType) {\n case ICONS_MARKER_TYPE.empty:\n return \"icon-empty\";\n case ICONS_MARKER_TYPE.point:\n return \"icon-point\";\n case ICONS_MARKER_TYPE.checked:\n return \"icon-checked\";\n case ICONS_MARKER_TYPE.canseled:\n return order.type !== ORDER_TYPE.pickUp ? \"icon-canseled\" : \"\";\n default:\n return \"\";\n }\n};\n\nexport function getOrderTitle(order) {\n const address = getAddress(order.address);\n if (!isDepotMode()) return (address ? address : `${order.orderId || \"\"} ${getFullName(order)}`);\n const depotName = getDepotName(order);\n\n return `${depotName ? depotName + \" / \" : \"\"}` +\n (address ? address : `${order.orderId || \"\"} ${getFullName(order)}`);\n};\n\nexport function getPendingOrderCourier(order, users, externalCycles) {\n if(!order || !order.courier_id) return null;\n\n const user = (users || [])\n .find(f=> f.userId === order.courier_id) || {};\n const externalCycle = (externalCycles || [])\n .find(f=> f.id === order.courier_id);\n\n return {\n ...user,\n ...(externalCycle || {}),\n id: order.courier_id,\n userId: order.courier_id,\n color: (externalCycle || {}).color || user.color || ColorService.instance.getColor(),\n travelData: (externalCycle || {}).travelData || user.travelData,\n isCourierGroup: true,\n isExternalGroup: !!externalCycle\n };\n}\n\nexport function getPendingOrdersMapMarkers(orders, order, users, externalCycles) {\n let activeOrderMarker = null;\n let markers = [];\n const depotMarkers = Markers.instance.getRestaurantMarkers(null, true);\n const defaultGroup = getGroup(DEFAULT_ORDERS_GROUPS.Unsorted);\n\n if(Array.isArray(orders) && orders.length) {\n markers = orders.reduce((acc, currValue)=> {\n //check if not selected order\n if((!order || currValue.id !== order.id) &&\n !acc.find(f=> f.id === currValue.id)\n ) {\n const orderCourierGroup = getPendingOrderCourier(currValue, users, externalCycles);\n const orderMarker = Markers.instance.createMarker(TYPE_MARKER.order, currValue, orderCourierGroup || defaultGroup);\n\n //push order maker if exist\n if(orderMarker) {\n orderMarker.content = Markers.instance.getPendingOrderContent(currValue);\n acc.push(orderMarker);\n }\n\n if(orderCourierGroup) {\n const marker = orderCourierGroup.isExternalGroup\n ? Markers.instance.createExternalCycleMarkerCourier(orderCourierGroup)\n : Markers.instance.createMarker(TYPE_MARKER.courier, orderCourierGroup, false);\n //push courier maker if exist\n if(marker) {\n acc.push(marker);\n }\n }\n }\n\n return acc;\n }, []);\n }\n\n //Get active order markers\n const activeOrderCourierGroup = getPendingOrderCourier(order, users, externalCycles);\n activeOrderMarker = order && Markers.instance.createMarker(TYPE_MARKER.order, order, activeOrderCourierGroup || defaultGroup);\n if(activeOrderMarker) {\n activeOrderMarker.isLarge = () => true;\n activeOrderMarker.content = Markers.instance.getPendingOrderContent(order);\n activeOrderMarker.zIndex = 5;\n }\n\n if(activeOrderCourierGroup) {\n const marker = activeOrderCourierGroup.isExternalGroup\n ? Markers.instance.createExternalCycleMarkerCourier(activeOrderCourierGroup)\n : Markers.instance.createMarker(TYPE_MARKER.courier, activeOrderCourierGroup, false);\n\n //push courier maker if exist\n if(marker) {\n const index = markers.map(m=> m.id).indexOf(marker.id);\n if(index !== -1) {\n markers[index].zIndex = 5;\n } else {\n marker.zIndex = 5;\n markers.push(marker);\n }\n }\n }\n\n return { markers: markers.concat(depotMarkers), activeOrderMarker, activeOrderCourierGroup };\n}\n\nexport function isShowPendingChooseCourierButton(filterType) {\n return [PENDING_ORDERS_FILTER_TYPE.ready, PENDING_ORDERS_FILTER_TYPE.cooking]\n .includes(filterType);\n}\n\nexport function getPendingOrderDialogItems(type, data, cookingTime) {\n switch (type) {\n case DIALOG_TYPE_CONFIRM.delivered:\n return {\n type,\n items: [\n { key: 0, value: i18n.t(\"dashboard.couriersbar.CANCEL_BUTTON\") },\n { key: 1, value: i18n.t(\"dashboard.couriersbar.SURE_BUTTON\") }\n ]\n }\n case DIALOG_TYPE_CONFIRM.reject:\n return {\n type,\n items: [\n { key: 0, value: i18n.t(\"pending-orders.REASON_NO_INGREDIENTS\") },\n { key: 1, value: i18n.t(\"pending-orders.REASON_NO_TIME\") },\n { key: 2, value: i18n.t(\"pending-orders.REASON_OTHER_REASON\") }\n ]\n }\n case DIALOG_TYPE_CONFIRM.accept:\n case DIALOG_TYPE_CONFIRM.delay:\n return {\n type,\n items: Array.isArray(data) && data.length\n ? data\n : [\n { key: 5, value: \"5 min\" },\n { key: 10, value: \"10 min\" },\n { key: 15, value: \"15 min\" },\n { key: 20, value: \"20 min\" }\n ]\n }\n case DIALOG_TYPE_CONFIRM.cooking:\n const items = Array.isArray(data) && data.length\n ? data\n : [\n { key: 5, value: \"5 min\" },\n { key: 10, value: \"10 min\" },\n { key: 15, value: \"15 min\" },\n { key: 20, value: \"20 min\" }\n ];\n const findCookingTime = items.find(el => el.key === cookingTime);\n if(findCookingTime) {\n findCookingTime.isCookingTime = true;\n } else {\n items.push({ key: findCookingTime, value: `${cookingTime} min`, isCookingTime: true });\n }\n\n return { type, items };\n default:\n break;\n }\n}\n\nexport function isPendingOrdersChanged(currentItems, newItems) {\n return ((currentItems || []).length !== (newItems || []).length) ||\n (currentItems || []).some(currentItem=> {\n const item = (newItems || []).find(newItem=> newItem.id === currentItem.id);\n return !item || currentItem.status !== item.status || currentItem.courier_id !== item.courier_id;\n })\n}\n\nexport function removeGroupFromPendingOrder(order, process_step = ORDER_PROCESS_STEP.waitingForCourierAssignment) {\n if(!order) return;\n return {\n ...order,\n isExternalGroup: false,\n isCourierGroup: false,\n groupId: null,\n courierId: null,\n courier_id: null,\n process_step\n }\n}\n\nexport const isShowOrderSourceType = value => {\n return value && [\n SOURCE_TYPE.admin,\n SOURCE_TYPE.mishloha,\n SOURCE_TYPE.tenBis,\n SOURCE_TYPE.wolt\n ].includes(value);\n}\n\nexport default {\n updateOrderState: (state, data) => {\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order => order.id === data.id ? data : order),\n pickUps: state.data.pickUps.map(pickUp => pickUp.id === data.id ? data : pickUp),\n }\n };\n },\n newOrder: (state, data) => {\n if (User.instance.skipObjectWithControlCenter(data.order)) return state;\n\n let order = updateOrderData(\n data.order,\n data.preorder || data.isPreorder,\n data.groupId || data.associatedCycleId || data.order.groupId || DEFAULT_ORDERS_GROUPS.Unsorted,\n state\n );\n\n if (!order || order.type === ORDER_TYPE.pickUp || User.instance.skipObjectWithControlCenter(order)) return state;\n if(order.type === ORDER_TYPE.takeAway) {\n order.groupId = DEFAULT_ORDERS_GROUPS.takeawayOrders;\n }\n\n return {\n ...state,\n data: { ...state.data, orders: mergeArrays(state.data.orders, [order]) }\n };\n },\n updateOrder: (state, data) => {\n if (User.instance.skipObjectWithControlCenter(data.order)) return state;\n let searchOrder = state.data.orders.find(f => f.id === data.order.id);\n let group = searchOrder ? state.data.groups.find(f => f.id === searchOrder.groupId) : undefined;\n\n let order = updateOrderData(\n data.order,\n data.preorder,\n (group && (group.isCourierGroup || !isDefaultGroup(group.id))) ? group.id : null,\n state\n );\n\n if (!order) return state;\n\n if(order.type === ORDER_TYPE.takeAway) {\n order.groupId = DEFAULT_ORDERS_GROUPS.takeawayOrders;\n }\n\n group = state.data.groups.find(f => f.id === order.groupId);\n\n let groupOrders = [];\n const groupFlag = (group && (group.isCourierGroup || group.id === DEFAULT_ORDERS_GROUPS.takeawayOrders))\n if (groupFlag) {\n groupOrders = mergeArrays(state.data.orders.filter(f => f.groupId === group.id), [order]);\n updateOrdersMarkerType(group, groupOrders);\n }\n\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(m => {\n let updOrder = groupFlag ? groupOrders.find(f => f.id === m.id) : null;\n return updOrder ? { ...m, ...updOrder } : m.id === order.id ? { ...m, ...order } : m;\n }),\n activeOrders: state.data.activeOrders.map(m => {\n return m.id === data.order.id ? {...m, ...data.order} : m;\n })\n }\n };\n },\n cycleDispatched: (state, data) => {\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(order => order.groupId === data.courierId ? { ...order, state: ORDER_STATE.onroute } : order)\n }\n };\n },\n //event.PickUps - data about updated pick ups, is not in use currently\n cycleReorder: (state, data) => {\n if (!data || !data.orderIds || !data.orderIds.length) return state;\n\n let cycleGroup = data.groupId && state.data.groups.find(group => group.id === data.groupId);\n if (!cycleGroup) {\n if(data.groupId) {\n console.log(`Unknown cycle ${data.groupId}`);\n Sentry.captureException(`Unknown cycle ${data.groupId}`);\n }\n\n return state;\n }\n\n let groupData = {};\n Object.keys(data)\n .filter(key => ![ \"courierId\", \"orderIds\", \"pickUps\", \"groupId\", \"courierId\"].includes(key))\n .forEach(key => { groupData[key] = data[key]; });\n\n let newOrders = state.data.orders.filter(f => data.orderIds.includes(f.id));\n\n if (!newOrders) return state;\n\n newOrders = newOrders.map(order => {\n return { ...order, groupId: cycleGroup.id, index: data.orderIds.findIndex(f => f === order.id) };\n });\n\n updateOrdersMarkerType(cycleGroup, newOrders);\n\n return {\n ...state,\n data: {\n ...state.data,\n orders: state.data.orders.map(m => {\n let updOrder = newOrders.find(f => f.id === m.id);\n return updOrder ? { ...m, ...updOrder } : m;\n }),\n pickUps: state.data.pickUps\n .filter(f=> f.groupId !== cycleGroup.id)\n .concat((data.pickUps || state.data.pickUps.filter(f=> f.groupId === cycleGroup.id)).map(pickUp=> ({\n ...pickUp,\n groupId: cycleGroup.id,\n index: data.orderIds.findIndex(f => f === pickUp.id)\n }))),\n groups: state.data.groups.map(group => group.id === data.groupId ? { ...group, ...groupData } : group)\n }\n };\n },\n manualAssociateUpdate: (state, data) => {\n let associateGroup = state.data.groups.find(f => f.id === data.courierId || f.courierId === data.courierId);\n\n if (!associateGroup) return state;\n\n if (!associateGroup.color)\n associateGroup.color = ColorService.instance.getColor();\n\n return {\n ...state,\n data: {\n ...state.data,\n groups: state.data.groups.map(group => group.id === associateGroup.id ? { ...group, ...associateGroup } : group),\n orders: state.data.orders.map(order => {\n return order.id === data.orderId ? { ...order, isCourierGroup: true, groupId: associateGroup.id } : order;\n })\n }\n };\n }\n};\n\n","import environment from 'environment';\n\nimport {getRestaurantConfigPropValue} from '../services/restaurant';\nimport {\n COPY_TELEGRAM_COMMAND,\n DEPOTMENU_SETTING_CHECK, EXECUTE_COMPAIGN,\n PUSHER_DEPOT_SERVICES_REFRESH,\n PUSHER_RESTAURANT_STATE_UPDATE,\n} from '../store/reducers/restaurant/restaurant-actions';\nimport {\n PUSHER_CYCLE_DISPATCHED,\n PUSHER_CYCLE_ROUTE_UPDATE,\n PUSHER_CYCLE_STATE_UPDATE,\n PUSHER_MANUAL_ASSOCIATE_UPDATE,\n PUSHER_MANUAL_UNASSOCIATE_UPDATE,\n PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST,\n PUSHER_SET_AWAY,\n} from '../store/reducers/common-actions';\nimport {\n NOTIFICATION_ADD,\n NOTIFICATION_DELETE,\n NOTIFICATIONS_RESTART,\n} from '../store/reducers/notification/notification-actions';\nimport {\n PUSHER_ASSISTANCE_UPDATE,\n PUSHER_CONSUMER_ORDER_ARRIVED,\n PUSHER_CYCLE_REORDER,\n PUSHER_GROUP_LOCK_UPDATE,\n PUSHER_GROUP_REORDER,\n PUSHER_GROUP_UPDATE,\n PUSHER_NEW_ORDER,\n PUSHER_ORDER_STATE_UPDATE,\n PUSHER_UPDATE_ORDER,\n} from '../store/reducers/order/order-actions';\nimport {\n PUSHER_COURIER_LOCK_UPDATE,\n PUSHER_COURIER_SHIFT_CREATED,\n PUSHER_DEPOT_CYCLE_REFRESH,\n PUSHER_USER_DELETED,\n PUSHER_USER_UPDATED,\n} from '../store/reducers/userModel/userModel-actions';\n\nimport {getPeriodByType} from './convertTime';\nimport {\n BASIC_PATH,\n BILLING_PATHS,\n CONTROL_TYPE,\n COURIER_STATE, CUSTOMER_SERVICE_MODEL, DELIVERY_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL, PENDING_ORDER_TYPE,\n PERIOD_TYPE,\n RECONCILIATIONS_MODEL,\n ROLES_MANAGER_TYPE,\n SHIFTS_MODEL,\n TYPE_MARKER,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MENUTEMPLATE_MODEL,\n TYPE_SECTION_MESSAGE_MODEL,\n TYPE_SECTION_MODEL,\n USER_ROLES,\n} from './enums';\nimport i18n from '../i18n';\n\nexport const MAP_POLYGON_DIFF = 0.02;\nexport const ZOOM_MAX = 21;\nexport const settingsRowHeightDefault = 56;\nexport const ordersRowHeightDefault = 95;\nexport const ordersRowHeightDefaultResize = 235;\nexport const ordersRowHeightExpand = 210;\nexport const ordersRowHeightExpandResize = 460;\nexport const activeOrderRowWidthResize = 768;\nexport const TIME_INFO_BOX_WARNING_MINUTES = 5;\nexport const SEARCH_RADIUS = 30000;\nexport const RATE_CONTROL_WIDTH_HIDE = 600;\n\nexport const NEW_ASSOCIATE_GROUP_ID = \"newAssociateGroup\";\n\nexport const mapPolygonFill = {\n color: \"#ed552b\",\n opacity: 0.2,\n weight: undefined\n};\n\nexport const mapPolygonStroke = {\n color: \"#ed552b\",\n opacity: undefined,\n weight: 1\n};\n\nexport function emptyImage() {\n const img = new Image();\n img.src = \"data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=\";\n return img;\n}\n\nexport const defaultControlCenterColors = [\n \"#b87333\",\n \"#969696\",\n \"#FFD700\",\n \"#e5e4e2\",\n \"#3366cc\",\n \"#dc3912\",\n \"#ff9900\",\n \"#109618\",\n \"#990099\",\n \"#0099c6\"\n];\n\nexport const defaultChartColors = [\n \"#b87333\",\n \"#969696\",\n \"#FFD700\",\n \"#6d1371\",\n \"#3366cc\",\n \"#dc3912\",\n \"#ff9900\",\n \"#109618\",\n \"#990099\",\n \"#0099c6\"\n];\n\nexport const defaultIcons = {\n default: \"/assets/defaulticons/logo_UK.svg\",\n foodrush: \"/assets/defaulticons/foodrush.png\",\n thabazimbi: \"/assets/defaulticons/thabazimbi.png\",\n yango: \"/assets/defaulticons/yango.png\",\n wolt: \"/assets/defaulticons/wolt_logo.png\",\n doorDash: \"/assets/defaulticons/doorDash.png\",\n \"smartioo.ro\" : \"/assets/defaulticons/smartioo.jpeg\",\n \"eatnow.ro\" : \"/assets/defaulticons/eatnow.png\",\n \"zipprex.do\" : \"/assets/defaulticons/zipprex.do.png\",\n \"zipgo.do\" : \"/assets/defaulticons/zipgo.do.png\",\n \"deliverly.il\" : \"/assets/defaulticons/deliverly.il.png\",\n \"fuelitup.au\" : \"/assets/defaulticons/fuelitup.au.jpeg\",\n \"indrive.kz\" : \"/assets/defaulticons/indrive.kz.png\",\n \"indrive.astana.kz\" : \"/assets/defaulticons/indrive.kz.png\",\n \"zooz.il\" : \"/assets/defaulticons/zooz.jpg\",\n \"gett\" : \"/assets/defaulticons/gett.png\",\n \"michelin2\" : \"/assets/defaulticons/michelin2.jpg\",\n}\n\nexport const getDepotReadonlySectionPages = () => {\n const orderingPages = Object.values(ORDERING_MENU_TYPE_SECTION_MODEL).reduce((acc, cv) => {\n acc[cv] = true;\n return acc;\n }, {});\n\n return {\n ...orderingPages,\n }\n}\n\nexport const defaultRolesManagerConfig = {\n [ROLES_MANAGER_TYPE.menu]: {\n [CUSTOMER_SERVICE_MODEL.order]: true,\n [CUSTOMER_SERVICE_MODEL.customers]: true,\n [CUSTOMER_SERVICE_MODEL.sales]: true,\n [CUSTOMER_SERVICE_MODEL.supportChat]: true,\n [CUSTOMER_SERVICE_MODEL.reviews]: true,\n \"/\": true,\n \"/orders\": false,\n \"/new-order\": false,\n \"/create-order\": false,\n \"/edit-order\": false,\n \"/edit-customer-order\": true,\n \"/assistance\": false,\n \"/pendingorders\": false,\n [BASIC_PATH.adminOrders]: false,\n \"/menu\": false,\n \"/reports\": false,\n \"/settings\": false,\n \"/info\": false,\n [BILLING_PATHS.billing]: false,\n [BILLING_PATHS.address]: false,\n [BILLING_PATHS.payment]: false,\n [BILLING_PATHS.plan]: false,\n [BILLING_PATHS.usages]: false,\n [TYPE_SECTION_MODEL.users]: false,\n [TYPE_SECTION_MODEL.usersEdit]: false,\n [TYPE_SECTION_MODEL.usersNew]: false,\n [TYPE_SECTION_MODEL.cloudPrinters]: false,\n [TYPE_SECTION_MODEL.cloudPrintersNew]: false,\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: false,\n [TYPE_SECTION_MODEL.userConfirmPassword]: false,\n [TYPE_SECTION_MODEL.depots]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotsEdit]: false,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit]: false,\n [TYPE_SECTION_MESSAGE_MODEL]: false,\n [TYPE_SECTION_MODEL.depotsNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersEdit]: false,\n [TYPE_SECTION_DEPOT_MODEL.provider]: false,\n [TYPE_SECTION_DEPOT_MODEL.providerNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.providerEdit]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotsEditPrice]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotMenu]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy]: false,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateMenuCopy]: false,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateMenu]: false,\n [TYPE_SECTION_DEPOT_MODEL.telegram]: false,\n [TYPE_SECTION_DEPOT_MODEL.operationMode]: false,\n [TYPE_SECTION_DEPOT_MODEL.reconciliation]: false,\n [TYPE_SECTION_DEPOT_MODEL.operationModeNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.operationModeActive]: false,\n [TYPE_SECTION_DEPOT_MODEL.operationModeEdit]: false,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCenters]: false,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCentersNew]: false,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCentersEdit]: false,\n [TYPE_SECTION_MODEL.provider]: false,\n [TYPE_SECTION_MODEL.providerNew]: false,\n [TYPE_SECTION_MODEL.providerEdit]: false,\n [TYPE_SECTION_MODEL.depotsEditPrice]: false,\n [TYPE_SECTION_MODEL.depotsPriceApplyTo]: false,\n [TYPE_SECTION_MODEL.depotsMenu]: false,\n [TYPE_SECTION_MODEL.depotpaymewallet]: false,\n [TYPE_SECTION_MODEL.depotpaymewalletNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfo]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotusers]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotusersEdit]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotusersNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotusersConfirmPassword]: false,\n [TYPE_SECTION_MODEL.depotsCategories]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrations]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsNew]: false,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsEdit]: false,\n [TYPE_SECTION_MODEL.depotSquareAssociatedLocation]: false,\n [TYPE_SECTION_MODEL.depotsCategoriesEdit]: false,\n [TYPE_SECTION_MODEL.generalSettings]: false,\n [TYPE_SECTION_MODEL.courierAppSettings]: false,\n [TYPE_SECTION_MODEL.businessAppSettings]: false,\n [TYPE_SECTION_MODEL.personalSettings]: false,\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: false,\n [TYPE_SECTION_MODEL.telegramSettings]: false,\n [MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration]: false,\n [TYPE_SECTION_MODEL.restaurantPaymeWallet]: false,\n [TYPE_SECTION_MODEL.restaurantPaymeWalletNew]: false,\n [TYPE_SECTION_MODEL.geoSettings]: true,\n [TYPE_SECTION_MODEL.courierManagement]: true,\n [TYPE_SECTION_MODEL.regions]: false,\n [TYPE_SECTION_MODEL.regionsEdit]: false,\n [TYPE_SECTION_MODEL.regionsNew]: false,\n [TYPE_SECTION_MODEL.fleet]: false,\n [TYPE_SECTION_MODEL.fleetEdit]: false,\n [TYPE_SECTION_MODEL.fleetTelemetry]: false,\n [TYPE_SECTION_MODEL.fleetNew]: false,\n [TYPE_SECTION_MODEL.integrations]: false,\n [TYPE_SECTION_MODEL.courierManagement]: false,\n [TYPE_SECTION_MODEL.geoSettings]: false,\n [TYPE_SECTION_MODEL.operationsManagement]: false,\n [TYPE_SECTION_MODEL.providers]: false,\n [TYPE_SECTION_MODEL.providersEdit]: false,\n [TYPE_SECTION_MODEL.providersNew]: false,\n [TYPE_SECTION_MODEL.deliveryProviders]: false,\n [TYPE_SECTION_MODEL.deliveryProvidersNew]: false,\n [TYPE_SECTION_MODEL.deliveryProvidersEdit]: false,\n [TYPE_SECTION_MODEL.serviceCities]: false,\n [TYPE_SECTION_MODEL.serviceCitiesNew]: false,\n [TYPE_SECTION_MODEL.serviceCitiesEdit]: false,\n [TYPE_SECTION_MODEL.searchShortcuts]: false,\n [TYPE_SECTION_MODEL.searchShortcutsNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.marketplace]: false,\n [MARKETPLACE_SETTINGS_MODEL.loyalty]: false,\n [MARKETPLACE_SETTINGS_MODEL.delivery]: false,\n [MARKETPLACE_SETTINGS_MODEL.appBuilder]: false,\n [MARKETPLACE_SETTINGS_MODEL.deepLink]: false,\n [MARKETPLACE_SETTINGS_MODEL.pages]: false,\n [MARKETPLACE_SETTINGS_MODEL.pagesEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.pagesNew]: false,\n [TYPE_SECTION_MODEL.marketplace]: false,\n [TYPE_SECTION_MODEL.marketplaceSettings]: false,\n [TYPE_SECTION_MODEL.pages]: false,\n [TYPE_SECTION_MODEL.pagesEdit]: false,\n [TYPE_SECTION_MODEL.pagesNew]: false,\n [TYPE_SECTION_MODEL.namedPlaces]: false,\n [MARKETPLACE_SETTINGS_MODEL.marketplaceNew]: false,\n [TYPE_SECTION_MODEL.namedPlacesEdit]: false,\n [SHIFTS_MODEL.providers]: false,\n [SHIFTS_MODEL.history]: false,\n [SHIFTS_MODEL.historyEdit]: false,\n [SHIFTS_MODEL.shiftHistory]: false,\n [SHIFTS_MODEL.currentShiftDepotEdit]: false,\n [SHIFTS_MODEL.currentShiftHistory]: false,\n [SHIFTS_MODEL.currentShiftProviderHistory]: false,\n [SHIFTS_MODEL.currentShiftProviderHistoryOrder]: false,\n [TYPE_SECTION_MODEL.controlCenters]: false,\n [TYPE_SECTION_MODEL.controlCentersEdit]: false,\n [TYPE_SECTION_MODEL.controlCentersActivate]: false,\n [TYPE_SECTION_MODEL.controlCentersDeactivate]: false,\n [TYPE_SECTION_MODEL.controlCentersChangeuser]: false,\n [MARKETPLACE_SETTINGS_MODEL.businessCategories]: false,\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesEdit]: false,\n [TYPE_SECTION_MODEL.operationTiming]: false,\n [TYPE_SECTION_MODEL.operationTimingEdit]: false,\n [TYPE_SECTION_MODEL.operationTimingNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.offers]: false,\n [MARKETPLACE_SETTINGS_MODEL.offersNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.offersEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.giftCard]: false,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]: false,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.campaignsNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.campaignsEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.campaignsExecutions]: false,\n [TYPE_SECTION_MODEL.courierDeliveryFees]: false,\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]: false,\n [MARKETPLACE_SETTINGS_MODEL.listPromotion]: false,\n [MARKETPLACE_SETTINGS_MODEL.listPromotionNew]: false,\n [MARKETPLACE_SETTINGS_MODEL.listPromotionEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZones]: false,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenu]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsDeepLinkEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideExtra]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideOption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideSuboption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuCategoryOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuSuboptionsOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuOptionsOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuExtraOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuProductOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.gallery]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenu]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: false,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideExtra]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideOption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideSuboption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryEdit]: true,\n [RECONCILIATIONS_MODEL.periodsView]: true,\n [RECONCILIATIONS_MODEL.periodsEdit]: true,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkAction]]: {\n [DEPOTMENU_SETTING_CHECK]: false,\n [COPY_TELEGRAM_COMMAND]: false,\n USER_SHIFT_DOWNLOAD_PDF: false\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n [`${[TYPE_SECTION_MODEL.users]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.depots]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotusers]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotIntegrations]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.offers]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.regions]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.providers]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.serviceCities]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.searchShortcuts]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.namedPlaces]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.fleet]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.marketplace]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftDepots]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.businessCategories]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.cancelReason]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.listPromotion]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.deliveryZones]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: false,\n\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.provider]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.telegram]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.operationMode]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.operationTiming]}DeleteButton`]: false,\n\n [`${[TYPE_SECTION_MODEL.users]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.depots]}AddButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotusers]}AddButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotIntegrations]}AddButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]}AddButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.provider]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.offers]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.regions]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.providers]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.serviceCities]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.operationTiming]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.searchShortcuts]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.fleet]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.marketplace]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}AddButton`]: false,\n [`${[TYPE_SECTION_MODEL.namedPlaces]}AddButton`]: false,\n [`${[SHIFTS_MODEL.history]}AddButton`]: false,\n [`${[SHIFTS_MODEL.providers]}AddButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}AddButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftDepots]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.businessCategories]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.cancelReason]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.listPromotion]}AddButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.deliveryZones]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]}AddButton`]: false,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.gallery]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]}AddButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.settings]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.settingsTemplateEdit]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.settingsTemplateNew]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.periods]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.periodsView]}AddButton`]: false,\n [`${[RECONCILIATIONS_MODEL.periodsEdit]}AddButton`]: false,\n grCode: false\n },\n [ROLES_MANAGER_TYPE.sectionItemEdit]: {\n\n }\n}\n\nexport const initRolesManagerConfig = {\n [ROLES_MANAGER_TYPE.menu]: {\n [CUSTOMER_SERVICE_MODEL.order]: true,\n [CUSTOMER_SERVICE_MODEL.customers]: true,\n [CUSTOMER_SERVICE_MODEL.sales]: true,\n [CUSTOMER_SERVICE_MODEL.supportChat]: true,\n [CUSTOMER_SERVICE_MODEL.reviews]: true,\n \"/\": true,\n \"/orders\": true,\n \"/new-order\": true,\n \"/create-order\": true,\n \"/edit-order\": true,\n \"/edit-customer-order\": true,\n \"/assistance\": true,\n \"/pendingorders\": true,\n \"/marketplace-settings\": true,\n \"/adminorders\": true,\n [BASIC_PATH.adminOrders]: true,\n \"/menu\": true,\n \"/reports\": true,\n \"/settings\": true,\n \"/info\": true,\n \"/settings/list\": true,\n \"/marketplace-settings/list\": true,\n [RECONCILIATIONS_MODEL.settings]: true,\n [RECONCILIATIONS_MODEL.configuration]: true,\n [RECONCILIATIONS_MODEL.settingsTemplateNew]: true,\n [RECONCILIATIONS_MODEL.settingsTemplateEdit]: true,\n [RECONCILIATIONS_MODEL.periods]: true,\n [RECONCILIATIONS_MODEL.periodsView]: true,\n [RECONCILIATIONS_MODEL.periodsEdit]: true,\n [BILLING_PATHS.billing]: true,\n [BILLING_PATHS.address]: true,\n [BILLING_PATHS.payment]: true,\n [BILLING_PATHS.plan]: true,\n [BILLING_PATHS.usages]: true,\n [TYPE_SECTION_MODEL.users]: true,\n [TYPE_SECTION_MODEL.usersEdit]: true,\n [TYPE_SECTION_MODEL.usersNew]: true,\n [TYPE_SECTION_MODEL.cloudPrinters]: true,\n [TYPE_SECTION_MODEL.cloudPrintersNew]: true,\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: true,\n [TYPE_SECTION_MODEL.userConfirmPassword]: true,\n [TYPE_SECTION_MODEL.depots]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotsEdit]: true,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageInfo]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGallery]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryNew]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryEdit]: true,\n [TYPE_SECTION_MODEL.depotsNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersEdit]: true,\n [TYPE_SECTION_DEPOT_MODEL.provider]: true,\n [TYPE_SECTION_DEPOT_MODEL.providerNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.providerEdit]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotsEditPrice]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotMenu]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy]: true,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateMenuCopy]: true,\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateMenu]: true,\n [TYPE_SECTION_DEPOT_MODEL.telegram]: true,\n [TYPE_SECTION_DEPOT_MODEL.operationMode]: true,\n [TYPE_SECTION_DEPOT_MODEL.reconciliation]: true,\n [TYPE_SECTION_DEPOT_MODEL.operationModeNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.operationModeActive]: true,\n [TYPE_SECTION_DEPOT_MODEL.operationModeEdit]: true,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCenters]: true,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCentersNew]: true,\n [TYPE_SECTION_MODEL.depotDefaultRegionControlCentersEdit]: true,\n [TYPE_SECTION_MODEL.provider]: true,\n [TYPE_SECTION_MODEL.providerNew]: true,\n [TYPE_SECTION_MODEL.providerEdit]: true,\n [TYPE_SECTION_MODEL.depotsEditPrice]: true,\n [TYPE_SECTION_MODEL.depotsPriceApplyTo]: true,\n [TYPE_SECTION_MODEL.depotsMenu]: true,\n [TYPE_SECTION_MODEL.depotpaymewallet]: true,\n [TYPE_SECTION_MODEL.depotpaymewalletNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfo]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotusers]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotusersEdit]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotusersNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotusersConfirmPassword]: true,\n [TYPE_SECTION_MODEL.depotsCategories]: true,\n [TYPE_SECTION_MODEL.depotsCategoriesEdit]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrations]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsNew]: true,\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsEdit]: true,\n [TYPE_SECTION_MODEL.depotSquareAssociatedLocation]: true,\n [TYPE_SECTION_MODEL.generalSettings]: true,\n [TYPE_SECTION_MODEL.courierAppSettings]: true,\n [TYPE_SECTION_MODEL.businessAppSettings]: true,\n [TYPE_SECTION_MODEL.personalSettings]: true,\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n [TYPE_SECTION_MODEL.telegramSettings]: true,\n [MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration]: true,\n [TYPE_SECTION_MODEL.restaurantPaymeWallet]: true,\n [TYPE_SECTION_MODEL.restaurantPaymeWalletNew]: true,\n [TYPE_SECTION_MODEL.geoSettings]: true,\n [TYPE_SECTION_MODEL.courierManagement]: true,\n [TYPE_SECTION_MODEL.regions]: true,\n [TYPE_SECTION_MODEL.regionsEdit]: true,\n [TYPE_SECTION_MODEL.regionsNew]: true,\n [TYPE_SECTION_MODEL.integrations]: true,\n [TYPE_SECTION_MODEL.operationsManagement]: true,\n [TYPE_SECTION_MODEL.providers]: true,\n [TYPE_SECTION_MODEL.providersEdit]: true,\n [TYPE_SECTION_MODEL.providersNew]: true,\n [TYPE_SECTION_MODEL.deliveryProviders]: true,\n [TYPE_SECTION_MODEL.deliveryProvidersNew]: true,\n [TYPE_SECTION_MODEL.deliveryProvidersEdit]: true,\n [TYPE_SECTION_MODEL.serviceCities]: true,\n [TYPE_SECTION_MODEL.serviceCitiesNew]: true,\n [TYPE_SECTION_MODEL.serviceCitiesEdit]: true,\n [TYPE_SECTION_MODEL.searchShortcuts]: true,\n [TYPE_SECTION_MODEL.fleet]: true,\n [TYPE_SECTION_MODEL.fleetEdit]: true,\n [TYPE_SECTION_MODEL.fleetTelemetry]: true,\n [TYPE_SECTION_MODEL.fleetNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.marketplace]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyalty]: true,\n [MARKETPLACE_SETTINGS_MODEL.delivery]: true,\n [MARKETPLACE_SETTINGS_MODEL.com]: true,\n [MARKETPLACE_SETTINGS_MODEL.deepLink]: true,\n [MARKETPLACE_SETTINGS_MODEL.pages]: true,\n [MARKETPLACE_SETTINGS_MODEL.pagesEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.pagesNew]: true,\n [TYPE_SECTION_MODEL.marketplace]: true,\n [TYPE_SECTION_MODEL.marketplaceSettings]: true,\n [TYPE_SECTION_MODEL.pages]: true,\n [TYPE_SECTION_MODEL.pagesEdit]: true,\n [TYPE_SECTION_MODEL.pagesNew]: true,\n [TYPE_SECTION_MODEL.searchShortcutsNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.marketplaceNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.marketplaceEdit]: true,\n [TYPE_SECTION_MODEL.namedPlaces]: true,\n [TYPE_SECTION_MODEL.namedPlacesNew]: true,\n [TYPE_SECTION_MODEL.namedPlacesEdit]: true,\n [SHIFTS_MODEL.history]: true,\n [SHIFTS_MODEL.providers]: true,\n [SHIFTS_MODEL.historyEdit]: true,\n [SHIFTS_MODEL.shiftHistory]: true,\n [SHIFTS_MODEL.currentShiftUsers]: true,\n [SHIFTS_MODEL.currentShiftDepotEdit]: true,\n [SHIFTS_MODEL.currentShiftDepots]: true,\n [SHIFTS_MODEL.currentShiftProviderHistory]: true,\n [SHIFTS_MODEL.currentShiftProviderHistoryOrder]: true,\n [SHIFTS_MODEL.currentShiftHistory]: true,\n [TYPE_SECTION_MODEL.controlCenters]: true,\n [TYPE_SECTION_MODEL.controlCentersEdit]: true,\n [TYPE_SECTION_MODEL.controlCentersActivate]: true,\n [TYPE_SECTION_MODEL.controlCentersDeactivate]: true,\n [TYPE_SECTION_MODEL.controlCentersChangeuser]: true,\n [MARKETPLACE_SETTINGS_MODEL.businessCategories]: true,\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesEdit]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageInfo]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGallery]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryEdit]: true,\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.menuTemplate]: true,\n [MARKETPLACE_SETTINGS_MODEL.menuTemplateNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.menuTemplateEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.marketplaceSettings]: true,\n [MARKETPLACE_SETTINGS_MODEL.cancelReason]: true,\n [MARKETPLACE_SETTINGS_MODEL.cancelReasonEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.cancelReasonNew]: true,\n [TYPE_SECTION_MODEL.operationTiming]: true,\n [TYPE_SECTION_MODEL.operationTimingEdit]: true,\n [TYPE_SECTION_MODEL.operationTimingNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.offers]: true,\n [MARKETPLACE_SETTINGS_MODEL.offersNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.offersEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.giftCard]: true,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]: true,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit]: true,\n [TYPE_SECTION_MODEL.courierDeliveryFees]: true,\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]: true,\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplateEdit]: true,\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.referral]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsRegistrationBonus]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaigns]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsExecutions]: true,\n [MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice]: true,\n [MARKETPLACE_SETTINGS_MODEL.driverTip]: true,\n [MARKETPLACE_SETTINGS_MODEL.serviceFee]: true,\n [MARKETPLACE_SETTINGS_MODEL.listPromotion]: true,\n [MARKETPLACE_SETTINGS_MODEL.listPromotionNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.listPromotionEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZones]: true,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.translations]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.sku]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsDeepLinkEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideExtra]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideOption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideSuboption]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuCategoryOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuSuboptionsOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuOptionsOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuExtraOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuProductOverride]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.gallery]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenu]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideExtra]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideOption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideSuboption]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryNew]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryEdit]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations]: true,\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku]: true,\n [RECONCILIATIONS_MODEL.periodsEdit]: true,\n [RECONCILIATIONS_MODEL.periodsView]: true,\n [MARKETPLACE_SETTINGS_MODEL.appBuilder]: false,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkAction]]: {\n [DEPOTMENU_SETTING_CHECK]: true,\n [COPY_TELEGRAM_COMMAND]: true,\n USER_SHIFT_DOWNLOAD_PDF: true,\n [EXECUTE_COMPAIGN]: true,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n [`${[TYPE_SECTION_MODEL.users]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.depots]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotusers]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotIntegrations]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.provider]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.telegram]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.operationMode]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.reconciliation]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.offers]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.regions]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.providers]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.serviceCities]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.searchShortcuts]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.marketplace]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.fleet]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.namedPlaces]}DeleteButton`]: true,\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: true,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftDepots]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.businessCategories]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.cancelReason]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.menuTemplate]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.listPromotion]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.deliveryZones]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}DeleteButton`]: true,\n\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]}DeleteButton`]: false,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}DeleteButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]}DeleteButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.gallery]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MESSAGE_MODEL.messageGallery]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.operationTiming]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.users]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.menuTemplate]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.depots]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotusers]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotIntegrations]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.provider]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.reconciliation]}AddButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.telegram]}DeleteButton`]: false,\n [`${[TYPE_SECTION_DEPOT_MODEL.operationMode]}DeleteButton`]: true,\n [`${[TYPE_SECTION_DEPOT_MODEL.operationMode]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.offers]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.regions]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.providers]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.serviceCities]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.operationTiming]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.marketplace]}AddButton`]: true,\n [`${[TYPE_SECTION_MESSAGE_MODEL.messageGallery]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.searchShortcuts]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.namedPlaces]}AddButton`]: true,\n [`${[SHIFTS_MODEL.providers]}AddButton`]: false,\n [`${[SHIFTS_MODEL.history]}AddButton`]: true,\n [`${[SHIFTS_MODEL.currentShiftUsers]}AddButton`]: true,\n [`${[SHIFTS_MODEL.currentShiftDepots]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.businessCategories]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.cancelReason]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.listPromotion]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.deliveryZones]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.campaigns]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.gallery]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.fleet]}AddButton`]: true,\n\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]}AddButton`]: true,\n\n [`${[RECONCILIATIONS_MODEL.settings]}AddButton`]: true,\n [`${[RECONCILIATIONS_MODEL.settings]}DeleteButton`]: true,\n [`${[RECONCILIATIONS_MODEL.periods]}AddButton`]: true,\n [`${[RECONCILIATIONS_MODEL.periods]}DeleteButton`]: true,\n\n\n courierShiftControl: true,\n grCode: true\n },\n [ROLES_MANAGER_TYPE.sectionItemEdit]: {\n\n }\n}\n\nexport const configurationForDeliveryManagerWithDepot = {\n id: environment.USER_ROLES.deliveryManager,\n ...defaultRolesManagerConfig,\n [ROLES_MANAGER_TYPE.sectionItemEdit]: getDepotSectionItemEditConfiguration(),\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n ...defaultRolesManagerConfig[ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]],\n [`${[TYPE_SECTION_MODEL.users]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.users]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.cloudPrinters]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.cloudPrinters]}AddButton`]: true,\n [`${[TYPE_SECTION_MODEL.deliveryProviders]}AddButton`]: true,\n courierShiftControl: true,\n grCode: true,\n },\n [ROLES_MANAGER_TYPE.menu]: {\n ...defaultRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n [TYPE_SECTION_MODEL.deliveryProviders]: true,\n [TYPE_SECTION_MODEL.deliveryProvidersEdit]: true,\n [TYPE_SECTION_MODEL.deliveryProvidersNew]: true,\n [TYPE_SECTION_MODEL.userConfirmPassword]: true,\n [TYPE_SECTION_MODEL.personalSettings]: true,\n [TYPE_SECTION_MODEL.users]: true,\n [TYPE_SECTION_MODEL.usersNew]: true,\n [TYPE_SECTION_MODEL.usersEdit]: true,\n [TYPE_SECTION_MODEL.cloudPrinters]: true,\n [TYPE_SECTION_MODEL.cloudPrintersNew]: true,\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: true,\n \"/\": true,\n \"/orders\": true,\n \"/new-order\": true,\n \"/edit-order\": true,\n \"/edit-customer-order\": true,\n \"/assistance\": true,\n \"/menu\": true,\n \"/settings\": true,\n \"/marketplace-settings\": true,\n \"/info\": true,\n \"/reports\": true,\n \"/pendingorders\": false,\n },\n [ROLES_MANAGER_TYPE.readonlyPage]: {\n ...getDepotReadonlySectionPages(),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: false,\n },\n}\nexport const configurationForDeliveryManager = {\n id: environment.USER_ROLES.deliveryManager,\n ...initRolesManagerConfig,\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n ...initRolesManagerConfig[ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]],\n courierShiftControl: true,\n grCode: true,\n },\n [ROLES_MANAGER_TYPE.menu]: {\n ...initRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n [TYPE_SECTION_MODEL.userConfirmPassword]: true,\n [TYPE_SECTION_MODEL.personalSettings]: true,\n [TYPE_SECTION_MODEL.users]: true,\n [TYPE_SECTION_MODEL.usersNew]: true,\n [TYPE_SECTION_MODEL.usersEdit]: true,\n [TYPE_SECTION_MODEL.cloudPrinters]: true,\n [TYPE_SECTION_MODEL.cloudPrintersNew]: true,\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: true,\n \"/\": true,\n \"/orders\": true,\n \"/new-order\": true,\n \"/edit-order\": true,\n \"/edit-customer-order\": true,\n \"/assistance\": true,\n \"/menu\": true,\n \"/settings\": true,\n \"/marketplace-settings\": false,\n \"/info\": true,\n \"/reports\": true,\n \"/pendingorders\": false,\n },\n}\n\n\nexport function getDepotSectionItemEditConfiguration() {\n const isCanEdit = !!getRestaurantConfigPropValue(\"isCanEditBusinessInfo\");\n\n return {\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: {\n \"header\": isCanEdit,\n \"name\": isCanEdit,\n \"message\": isCanEdit,\n \"about\": isCanEdit,\n \"kosher\": isCanEdit,\n \"always_deliver\": isCanEdit,\n \"email\": isCanEdit,\n \"description\": isCanEdit,\n \"phone\": isCanEdit,\n \"minimum\": isCanEdit,\n \"zipcode\": isCanEdit,\n \"address_notes\": isCanEdit,\n \"address\": isCanEdit,\n \"enabled\": isCanEdit,\n \"message_enabled\": isCanEdit,\n \"disable_scheduled_orders\": isCanEdit,\n \"disable_takeaway_scheduled_orders\": isCanEdit,\n \"allow_gift\": isCanEdit,\n \"minimum_takeaway\": isCanEdit,\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: {\n \"images\": isCanEdit,\n \"name\": isCanEdit,\n \"price\": isCanEdit,\n \"description\": isCanEdit,\n \"upselling\": isCanEdit,\n \"sku\": isCanEdit,\n \"price_before_discount\": isCanEdit,\n \"max\": isCanEdit,\n \"vegan\": isCanEdit,\n \"gluten_free\": isCanEdit,\n \"allow_comments\": isCanEdit,\n \"vegetarian\": isCanEdit,\n \"categoryIngredients\": isCanEdit,\n \"spicy\": isCanEdit,\n \"categoryExtras\": isCanEdit,\n \"enable_schedule\": isCanEdit,\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"reduce_price_for_half_option\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"reduce_price_for_half_option\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: {\n \"name\": isCanEdit\n },\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: {\n \"name\": isCanEdit,\n \"type\": isCanEdit,\n \"rate_type\": isCanEdit,\n \"rate\": isCanEdit,\n \"minimum\": isCanEdit,\n \"limit\": isCanEdit,\n \"start\": isCanEdit,\n \"end\": isCanEdit,\n \"coupon\": isCanEdit,\n \"single_user\": isCanEdit,\n \"order_type\":isCanEdit,\n \"enable_schedule\": isCanEdit,\n \"discount_target\": isCanEdit,\n \"calculation_base\": isCanEdit,\n \"show_in_marketplace\": isCanEdit,\n \"address\": isCanEdit,\n \"product_id\": isCanEdit,\n \"schedule\": isCanEdit,\n },\n\n\n\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: {\n \"header\": isCanEdit,\n \"name\": isCanEdit,\n \"message\": isCanEdit,\n \"about\": isCanEdit,\n \"kosher\": isCanEdit,\n \"always_deliver\": isCanEdit,\n \"email\": isCanEdit,\n \"description\": isCanEdit,\n \"phone\": isCanEdit,\n \"minimum\": isCanEdit,\n \"zipcode\": isCanEdit,\n \"address_notes\": isCanEdit,\n \"address\": isCanEdit,\n \"disable_cutlery\":isCanEdit,\n \"cutlery_sku\":isCanEdit,\n \"general_item_sku\": isCanEdit,\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: {\n \"images\": isCanEdit,\n \"name\": isCanEdit,\n \"price\": isCanEdit,\n \"description\": isCanEdit,\n \"upselling\": isCanEdit,\n \"sku\": isCanEdit,\n \"price_before_discount\": isCanEdit,\n \"max\": isCanEdit,\n \"vegan\": isCanEdit,\n \"gluten_free\": isCanEdit,\n \"allow_comments\": isCanEdit,\n \"vegetarian\": isCanEdit,\n \"categoryIngredients\": isCanEdit,\n \"spicy\": isCanEdit,\n \"categoryExtras\": isCanEdit,\n \"enable_schedule\": isCanEdit,\n \"enabled\": isCanEdit,\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"reduce_price_for_half_option\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: {\n \"name\": isCanEdit,\n \"description\": isCanEdit,\n \"price\": isCanEdit,\n \"min\": isCanEdit,\n \"max\": isCanEdit,\n \"sku\": isCanEdit,\n \"respect_to\": isCanEdit,\n \"with_half_option\": isCanEdit,\n \"allow_suboption_quantity\": isCanEdit,\n \"limit_suboptions_by_max\": isCanEdit,\n \"conditioned\": isCanEdit,\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: {\n \"name\": isCanEdit\n },\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: {\n \"name\": isCanEdit,\n \"type\": isCanEdit,\n \"rate_type\": isCanEdit,\n \"rate\": isCanEdit,\n \"minimum\": isCanEdit,\n \"limit\": isCanEdit,\n \"start\": isCanEdit,\n \"end\": isCanEdit,\n \"coupon\": isCanEdit,\n \"single_user\": isCanEdit,\n \"order_type\":isCanEdit,\n \"enable_schedule\": isCanEdit\n }\n }\n}\n\nexport function getDepotLinksConfiguration() {\n const isCanEdit = !!getRestaurantConfigPropValue(\"isCanEditBusinessInfo\");\n\n return {\n [`${ORDERING_MENU_TYPE_SECTION_MODEL.gallery}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftDepots]}DeleteButton`]: false,\n [`${[TYPE_SECTION_MODEL.cloudPrinters]}DeleteButton`]: true,\n [`${[TYPE_SECTION_MODEL.cloudPrinters]}AddButton`]: true,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}AddButton`]: isCanEdit,\n\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}DeleteButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]}AddButton`]: true,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption]}AddButton`]: isCanEdit,\n [`${[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]}AddButton`]: isCanEdit\n }\n}\n\nexport function getPendingOrdersIsDesktop() {\n return window.innerWidth >= 1600;\n}\n\nexport function getPendingOrdersIsIpad() {\n return document.documentElement.clientWidth > 600 && document.documentElement.clientWidth < 1025 && document.documentElement.clientWidth < document.documentElement.clientHeight;\n}\n\nexport function getIsIOS(){\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nexport const defaultDepotColors = [\n \"#191919\",\n \"#686868\",\n \"#3f3f3f\",\n \"#545454\",\n \"#707070\",\n \"#6a6a6a\",\n \"#808080\",\n \"#949494\",\n \"#a9a9a9\",\n \"#bdbebd\",\n \"#d3d3d3\",\n \"#e9e9e9\"\n];\n\nexport const shiftCourierErrorMessage = {\n [COURIER_STATE.startShift]: \"couriers.START_SHIFT_ERROR\",\n [COURIER_STATE.startBackup]: \"couriers.START_BACKUP_ERROR\",\n [COURIER_STATE.endShift]: \"couriers.END_SHIFT_ERROR\",\n [COURIER_STATE.endBackup]: \"couriers.END_BACKUP_ERROR\",\n [COURIER_STATE.cancelShift]: \"couriers.CANCEL_ERROR\",\n [COURIER_STATE.finishShift]: \"couriers.FINISH_ERROR\",\n [COURIER_STATE.goAwayShift]: \"couriers.GOAWAY_ERROR\"\n}\n\nexport const shiftCourierTooltipText = {\n [COURIER_STATE.startShift]: \"couriers.START_SHIFT_TOOLTIP\",\n [COURIER_STATE.startBackup]: \"couriers.START_BACKUP_TOOLTIP\",\n [COURIER_STATE.endShift]: \"couriers.END_SHIFT_TOOLTIP\",\n [COURIER_STATE.endBackup]: \"couriers.END_BACKUP_TOOLTIP\",\n [COURIER_STATE.cancelShift]: \"couriers.CANCEL_TOOLTIP\",\n [COURIER_STATE.finishShift]: \"couriers.FINISH_TOOLTIP\",\n [COURIER_STATE.goAwayShift]: \"couriers.GOAWAY_TOOLTIP\"\n}\n\nexport const pusherEvents = {\n courier_lock_update: PUSHER_COURIER_LOCK_UPDATE,\n group_update: PUSHER_GROUP_UPDATE,\n new_order: PUSHER_NEW_ORDER,\n order_state_update: PUSHER_ORDER_STATE_UPDATE,\n update_order: PUSHER_UPDATE_ORDER,\n cycle_state_update: PUSHER_CYCLE_STATE_UPDATE,\n cycle_dispatched: PUSHER_CYCLE_DISPATCHED,\n cycle_reorder: PUSHER_CYCLE_REORDER,\n cycle_route_update: PUSHER_CYCLE_ROUTE_UPDATE,\n courier_shift_created: PUSHER_COURIER_SHIFT_CREATED,\n manual_associate_update: PUSHER_MANUAL_ASSOCIATE_UPDATE,\n group_reorder: PUSHER_GROUP_REORDER,\n manual_unassociate_update: PUSHER_MANUAL_UNASSOCIATE_UPDATE,\n set_away: PUSHER_SET_AWAY,\n manual_unassociate_update_list: PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST,\n user_updated: PUSHER_USER_UPDATED,\n user_deleted: PUSHER_USER_DELETED,\n resaurant_state_update: PUSHER_RESTAURANT_STATE_UPDATE,\n group_lock_update: PUSHER_GROUP_LOCK_UPDATE,\n assistance_update: PUSHER_ASSISTANCE_UPDATE,\n depot_cycle_refresh: PUSHER_DEPOT_CYCLE_REFRESH,\n notification_added: NOTIFICATION_ADD,\n notification_deleted: NOTIFICATION_DELETE,\n notification_service_restart: NOTIFICATIONS_RESTART,\n consumer_order_arrived: PUSHER_CONSUMER_ORDER_ARRIVED,\n depots_services_refresh: PUSHER_DEPOT_SERVICES_REFRESH\n};\n\nexport const excludedUrls = [\"/login\", \"\", \"/square/oauth\"];\n\n\nexport const defaultInitConfig = {\n activeState: false,\n consumerActiveOrders: false,\n consumerOrderMenu: false,\n notifications: false,\n pendingPreOrders: false,\n restaurant: false,\n users: false,\n externalProviders: true,\n authSupportChat: false,\n}\n\nexport const mainModuleInitConfig = {\n ...defaultInitConfig,\n activeState: true,\n notifications: true,\n restaurant: true,\n};\n\nexport const restaurateurModuleInitConfig = {\n ...defaultInitConfig,\n activeState: true,\n consumerOrderMenu: true,\n consumerActiveOrders: true,\n pendingPreOrders: true,\n restaurant: true,\n users: true,\n externalProviders: true\n};\n\nexport const groupUpdateConfig = {\n ...defaultInitConfig,\n activeState: true\n}\n\nexport const depotCycleRefreshConfig = {\n ...defaultInitConfig,\n activeState: true,\n consumerOrders: true,\n pendingPreOrders: true,\n}\n\nexport const controlCenterUpdateConfig = {\n ...defaultInitConfig,\n activeState: true\n}\n\nexport const accountTopNotificationColor = {\n color: \"#2F7CF6\",\n secondColor: \"#1D68DF\"\n};\n\nexport const defaultRoleSelectorConfig = {\n [USER_ROLES.controlCenterManager]: true,\n [USER_ROLES.deliveryManager]: true,\n [USER_ROLES.courier]: true,\n [USER_ROLES.supervisor]: true,\n [USER_ROLES.supportOperator]: true\n}\n\nexport const REQUEST_METHOD = {\n get: \"get\",\n post: \"post\",\n put: \"put\"\n}\n\nexport const EXCLUDED_CHECK_ERROR_APIS = [\n `${environment.backendAPI}orders/place`,\n `${environment.authOauth}oauth2/token`\n];\n\nexport const DND_TYPES = {\n group_bar_order: \"group_bar_order\",\n groups_bar_group: \"groups_bar_group\",\n groups_bar_order: \"groups_bar_order\"\n}\n\nexport const includedMarkerTypesToCheck = [\n TYPE_MARKER.courier,\n TYPE_MARKER.place,\n TYPE_MARKER.restaurant,\n TYPE_MARKER.serviceCity,\n];\n\nexport const ADMIN_ORDERS_TABS = {\n orders: \"orders\",\n chat: \"chat\",\n reviews: \"reviews\",\n customers: \"customers\",\n sales: \"sales\",\n}\n\nexport const currentShiftSwitchModeItems = [\n {\n title: \"shifts.CURRENT_SHIFT_MODE_USER\", link: SHIFTS_MODEL.currentShiftUsers\n },\n {\n title: \"shifts.CURRENT_SHIFT_MODE_DEPOT\", link: SHIFTS_MODEL.currentShiftDepots\n }\n]\n\nexport const rates = [1,2,3,4,5];\n\nexport const DEFAULT_PERIOD_STATE = {\n [PERIOD_TYPE.today]: false,\n [PERIOD_TYPE.today]: false,\n [PERIOD_TYPE.week]: false,\n [PERIOD_TYPE.month]: false,\n [PERIOD_TYPE.year]: false\n};\n\nexport const getDefaultReviewsFilter = () => ({\n start: null,\n end: null,\n deliveryRating: null,\n rating: null,\n periodFilter: DEFAULT_PERIOD_STATE,\n ...getPeriodByType(PERIOD_TYPE.today)\n});\n\nexport const getDefaultCustomersFilter = () => ({\n search: null\n});\n\nexport const getDefaultSalesFilter = () => ({\n start: null,\n end: null,\n periodFilter: DEFAULT_PERIOD_STATE,\n ...getPeriodByType(PERIOD_TYPE.today)\n});\n\nexport const getDefaultAdminHistoryFilter = () => ({\n search: \"\",\n ...getPeriodByType(PERIOD_TYPE.today)\n});\n\nexport const CUSTOMER_WALLET_OPERATION_TYPE = {\n bonusCardsList: \"bonusCardsList\",\n bonusCard: \"bonusCard\",\n accrue: \"accrue\",\n spend: \"spend\",\n block: \"block\"\n};\n\nexport const SALES_TYPE = {\n marketplace: \"marketplace\",\n product: \"product\",\n business: \"business\",\n suboption: \"suboption\",\n template: \"template\",\n};\n\nexport const defaultCustomerServiceSalesItem = () => ({\n id: \"ROOT\", type: SALES_TYPE.marketplace, name: i18n.t(\"sales.MARKETPLACE\")\n});\n\nexport const getDefaultBatchRow = (id) => ({\n temporaryId: id,\n name: \"\",\n business_id: \"\",\n phone_valid: {\n is_valid: false,\n error_message: \"\",\n original_value: \"\",\n value: {\n InternationalNumber: \"\",\n NationalFormatedNumber: \"\",\n CountryCode: \"\",\n CountryPrefix: \"\"\n }\n },\n address_valid: {\n is_valid: false,\n error_message: \"\",\n original_city: \"\",\n original_street: \"\",\n original_notes: \"\",\n address: {\n city: \"\",\n street: \"\",\n entrance: \"\",\n postal: \"\",\n state: \"\",\n country: \"\",\n notes: \"\",\n organization: \"\",\n placeId: \"\",\n flat: \"\",\n floor: \"\"\n },\n location: {\n lat: 0,\n lng: 0\n }\n },\n datetime: {\n is_valid: false,\n error_message: \"\",\n original_date: \"\",\n original_time: \"\",\n original_datetime: new Date().toISOString(),\n },\n delivery_type: 1,\n notes: \"\"\n});\n\nexport const getDeliveryTypes = () => ([\n { key: DELIVERY_TYPE.delivery, value: i18n.t('orders.summary.DELIVERY_LABEL')},\n { key: DELIVERY_TYPE.takeAway, value: i18n.t('orders.summary.TAKEAWAY_LABEL') },\n { key: DELIVERY_TYPE.dinein, value: i18n.t('orders.summary.DINEIN_LABEL') },\n]);\n\nexport const deliveryIconNames = {\n [PENDING_ORDER_TYPE.delivery]: \"carbonScooter\",\n [PENDING_ORDER_TYPE.takeAway]: \"carbonTakeaway\",\n [PENDING_ORDER_TYPE.dinein]: \"dinein\",\n}","export const GET_ORDER_INFO_AND_MENU = 'GET_ORDER_INFO_AND_MENU';\nexport const SET_EDIT_CUSTOMER_ORDER_INFO = 'SET_EDIT_CUSTOMER_ORDER_INFO';\nexport const SET_EDIT_CUSTOMER_ORDER_MENU = 'SET_EDIT_CUSTOMER_ORDER_MENU';\nexport const SET_EDIT_CUSTOMER_ORDER_SUMMARY = 'SET_EDIT_CUSTOMER_ORDER_SUMMARY';\nexport const GET_EDIT_CUSTOMER_ORDER_SUMMARY = 'GET_EDIT_CUSTOMER_ORDER_SUMMARY';\nexport const SET_EDIT_CUSTOMER_ORDER_PRODUCTS = 'SET_EDIT_CUSTOMER_ORDER_PRODUCTS';\nexport const SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE = 'SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE';\nexport const CONFIRM_BATCH_ORDER = 'CONFIRM_BATCH_ORDER';\nexport const PROCESS_BATCH_ORDER = 'PROCESS_BATCH_ORDER';\nexport const SET_EDIT_CUSTOMER_ORDER_LOADING = 'SET_EDIT_CUSTOMER_ORDER_LOADING';\nexport const SET_EDIT_CUSTOMER_ORDER_COURIER_TIP = 'SET_EDIT_CUSTOMER_ORDER_COURIER_TIP';\nexport const SET_EDIT_CUSTOMER_ORDER_PAYMENTS = 'SET_EDIT_CUSTOMER_ORDER_PAYMENTS';\nexport const SET_BULK_EMAIL = 'SET_BULK_EMAIL';\nexport const SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY = 'SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY';\nexport const SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME = 'SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME';\nexport const SET_EDIT_CUSTOMER_ORDER_CUTLERY = 'SET_EDIT_CUSTOMER_ORDER_CUTLERY';\nexport const SET_EDIT_CUSTOMER_ORDER_CONFIRM = 'SET_EDIT_CUSTOMER_ORDER_CONFIRM';\nexport const SET_EDIT_CUSTOMER_ORDER_NEW_CONFIRM = 'SET_EDIT_CUSTOMER_ORDER_NEW_CONFIRM';\nexport const RESET_CUSTOMER_ORDER_EDIT_INFO = 'RESET_CUSTOMER_ORDER_EDIT_INFO';\nexport const SET_EDIT_CUSTOMER_ORDER_ADDRESS = 'SET_EDIT_CUSTOMER_ORDER_ADDRESS';\nexport const SET_EDIT_CUSTOMER_GIFT_DATA = 'SET_EDIT_CUSTOMER_GIFT_DATA';\nexport const SET_EDIT_CUSTOMER_ENABLED_PAYMENTS = 'SET_EDIT_CUSTOMER_ENABLED_PAYMENTS';\nexport const SET_ORDER_TIME_SLOTS = 'SET_ORDER_TIME_SLOTS';\nexport const CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE = 'CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE';\nexport const CONFIRM_EDIT_CUSTOMER_ORDER_FINAL = 'CONFIRM_EDIT_CUSTOMER_ORDER_FINAL';\nexport const SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING = 'SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING';\nexport const CHECK_USER_BY_PHONE = 'CHECK_USER_BY_PHONE';\nexport const CREATE_CONSUMER_USER = 'CREATE_CONSUMER_USER';\nexport const SET_PREVIOUS_ORDERS = 'SET_PREVIOUS_ORDERS';\nexport const GET_PREVIOUS_ORDERS = 'GET_PREVIOUS_ORDERS';\nexport const GET_BUSINESS_BY_FILTERS = 'GET_BUSINESS_BY_FILTERS';\nexport const GET_BUSINESS_MENU = 'GET_BUSINESS_MENU';\nexport const REPEAT_ORDER = 'REPEAT_ORDER';\nexport const CONFIRM_ORDER_WITH_EDITED_WEIGHT = 'CONFIRM_ORDER_WITH_EDITED_WEIGHT';\nexport const ORDER_PRICE_QUICK_EDIT = 'ORDER_PRICE_QUICK_EDIT';\nexport const GET_USER_CARDS_BY_ID = 'GET_USER_CARDS_BY_ID';\nexport const SET_PREVIOUS_ORDERS_ADDRESS = 'SET_PREVIOUS_ORDERS_ADDRESS';\nexport const SET_IS_SINGLE_ORDER = 'SET_IS_SINGLE_ORDER';\nexport const DELETE_TEMPLATE_DRAFT = 'DELETE_TEMPLATE_DRAFT';\nexport const SET_BUSINESS_BY_FILTERS = 'SET_BUSINESS_BY_FILTERS';\nexport const SET_EDIT_ORDER_COMMENT = 'SET_EDIT_ORDER_COMMENT';\nexport const SET_EDIT_ORDER_TERRITORY = 'SET_EDIT_ORDER_TERRITORY';\nexport const IMPORT_BATCH_TEMPLATE = 'IMPORT_BATCH_TEMPLATE';\nexport const GET_TEMPLATE_BATCH_BY_ID = 'GET_TEMPLATE_BATCH_BY_ID';\nexport const EXPORT_BATCH_TEMPLATE = 'EXPORT_BATCH_TEMPLATE';\nexport const SET_BATCH_CUSTOMERS_TABLE = 'SET_BATCH_CUSTOMERS_TABLE';\nexport const SET_CANCEL_PAYMENT_IDS = 'SET_CANCEL_PAYMENT_IDS';\nexport const UPDATE_BATCH_CUSTOMERS_TABLE_ROW = 'UPDATE_BATCH_CUSTOMERS_TABLE_ROW';\nexport const DELET_BATCH_CUSTOMERS_TABLE_ROW = 'DELET_BATCH_CUSTOMERS_TABLE_ROW';\nexport const SET_TEMPLATE_BATCH_DRAFT = 'SET_TEMPLATE_BATCH_DRAFT';\nexport const ADD_TEMPLATE_BATCH_DRAFT = 'ADD_TEMPLATE_BATCH_DRAFT';\nexport const UPDATE_TEMPLATE_BATCH_DRAFT = 'UPDATE_TEMPLATE_BATCH_DRAFT';\nexport const VERIFY_SINGLE_TABLE_ROW_BATCH_CUSTOMERS = 'VERIFY_SINGLE_TABLE_ROW_BATCH_CUSTOMERS';\nexport const DELETE_SINGLE_TABLE_ROW_BATCH_CUSTOMERS = 'DELETE_SINGLE_TABLE_ROW_BATCH_CUSTOMERS';\nexport const ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS = 'ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS';\nexport const CHANGE_TEMPORARY_CONSUMER = 'CHANGE_TEMPORARY_CONSUMER';\nexport const GET_ORDER_TIME_SLOTS = 'GET_ORDER_TIME_SLOTS';\nexport const GET_TEMPLATE_BATCH_DRAFTS = 'GET_TEMPLATE_BATCH_DRAFTS';\nexport const DELETE_BATCH_DRAW_TEMPLATE = 'DELETE_BATCH_DRAW_TEMPLATE';\nexport const UPDATE_BATCH_TEMPLATE_COMMENT = 'UPDATE_BATCH_TEMPLATE_COMMENT';\nexport const GET_TEMPLATE_BATCH_ORDER_PRICE = 'GET_TEMPLATE_BATCH_ORDER_PRICE';\nexport const UPDATE_SELECTED_BUSINESS_CONSUMER = 'UPDATE_SELECTED_BUSINESS_CONSUMER';\nexport const SET_INVOICE_RECIPIENT = 'SET_INVOICE_RECIPIENT';\n\nexport const resetCustomerOrderEditInfo = (payload = {}) => ({\n type: RESET_CUSTOMER_ORDER_EDIT_INFO, payload\n})\n\nexport const getOrderInfoAndMenu = payload => ({\n type: GET_ORDER_INFO_AND_MENU, data: payload,\n});\n\nexport const setEditCustomerOrderInfo = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_INFO, payload,\n});\n\nexport const setEditCustomerOrderData = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_MENU, payload\n});\n\nexport const setEditCustomerOrderSummary = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_SUMMARY, payload\n});\n\nexport const getEditCustomerOrderSummary = payload => ({\n type: GET_EDIT_CUSTOMER_ORDER_SUMMARY, payload\n});\n\nexport const setEditCustomerOrderProducts = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_PRODUCTS, payload\n});\n\nexport const setEditCustomerOrderDeliveryType = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_DELIVERY_TYPE, payload\n});\n\nexport const setEditCustomerOrderLoading = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_LOADING, payload\n});\n\nexport const setEditCustomerOrderCourierTip = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_COURIER_TIP, payload\n});\n\nexport const setEditCustomerOrderPayments = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_PAYMENTS, payload\n});\n\nexport const setBulkEmail = payload => ({\n type: SET_BULK_EMAIL, payload\n});\n\nexport const setInvoiceRecipinet = payload => ({\n type: SET_INVOICE_RECIPIENT, payload\n });\n\nexport const setEditCustomerOrderDeliveryStrategy = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_DELIVERY_STRATEGY, payload\n});\n\nexport const setEditCustomerOrderDeliveryTime = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_DELIVERY_TIME, payload\n});\n\nexport const setEditCustomerOrderCutlery = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_CUTLERY, payload\n});\n\nexport const setEditCustomerOrderConfirm = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_CONFIRM, payload\n});\n\nexport const setEditCustomerOrderAddress = payload => ({\n type: SET_EDIT_CUSTOMER_ORDER_ADDRESS, payload\n});\n\nexport const setEditCustomerOrderGiftOptions = payload => ({\n type: SET_EDIT_CUSTOMER_GIFT_DATA, payload\n});\n\nexport const setEditCustomerOrderEnabledPayments = payload => ({\n type: SET_EDIT_CUSTOMER_ENABLED_PAYMENTS, payload\n});\n\nexport const setOrderTimeSlots = payload => ({\n type: SET_ORDER_TIME_SLOTS, payload\n});\n\nexport const confirmEditCustomerOrderByStripe = payload => ({\n type: CONFIRM_EDIT_CUSTOMER_ORDER_BY_STRIPE, data: payload\n});\n\nexport const confirmEditCustomerOrderFinal = payload => ({\n type: CONFIRM_EDIT_CUSTOMER_ORDER_FINAL, data: payload\n});\n\nexport const setConfirmEditCustomerOrderLoading = payload => ({\n type: SET_CONFIRM_EDIT_CUSTOMER_ORDER_LOADING, payload\n});\n\nexport const setPreviousOrder = payload => ({\n type: SET_PREVIOUS_ORDERS, payload\n});\n\nexport const getPreviousOrder = payload => ({\n type: GET_PREVIOUS_ORDERS, data: payload\n});\n\nexport const setPreviousAddressByOrders = payload => ({\n type: SET_PREVIOUS_ORDERS_ADDRESS, payload\n});\n\nexport const setBusinessOrdersByFilters = payload => ({\n type: SET_BUSINESS_BY_FILTERS, payload\n});\n\nexport const setEditOrderComment = payload => ({\n type: SET_EDIT_ORDER_COMMENT, payload\n});\n\nexport const setEditOrderTerritory = payload => ({\n type: SET_EDIT_ORDER_TERRITORY, payload\n});\n\nexport const setBatchCustomersTable = payload => ({\n type: SET_BATCH_CUSTOMERS_TABLE, payload\n});\n\n\nexport const setCancelPaymentIds = payload => ({\n type: SET_CANCEL_PAYMENT_IDS, payload\n});\n\nexport const updateBatchCustomersTableRow = payload => ({\n type: UPDATE_BATCH_CUSTOMERS_TABLE_ROW, payload\n});\n\nexport const changeTemporaryConsumer = payload => ({\n type: CHANGE_TEMPORARY_CONSUMER, payload\n});\n\nexport const addNewBatchCustomersTableRow = payload => ({\n type: ADD_NEW_SINGLE_TABLE_ROW_BATCH_CUSTOMERS, payload\n});\n\nexport const deleteBatchCustomersTableRow = payload => ({\n type: DELET_BATCH_CUSTOMERS_TABLE_ROW, payload\n});\n\nexport const setTemplateBatchDrafts = payload => ({\n type: SET_TEMPLATE_BATCH_DRAFT, payload\n});\n\nexport const addTemplateBatchDrafts = payload => ({\n type: ADD_TEMPLATE_BATCH_DRAFT, payload\n});\n\nexport const setIsSingleOrder = payload => ({\n type: SET_IS_SINGLE_ORDER, payload\n});\n\nexport const deleteBatchTemplateDraft = payload => ({\n type: DELETE_TEMPLATE_DRAFT, payload\n});\n\nexport const updateTemplateBatchDraft = payload => ({\n type: UPDATE_TEMPLATE_BATCH_DRAFT, payload\n});","export { default } from \"./IconButton\";\n","import {callServer} from \"../utils/request-util\";\nimport environment from \"environment\";\nimport {getDefaultAdminOrdersSearchFilter} from \"../services/order\";\n\nexport function fetchActiveOrders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/activeorders\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchCycle() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function associateOrder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/associateOrder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function associateAssistance(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"assistance/associateOrder\",\n method: \"POST\",\n data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchAssistance() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"assistance\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function changeOrderState(id, state) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders/changeState\",\n method: \"POST\",\n data: { Id: id, State: state },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function courierReorder(orderId, courierId, index) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/reorder\",\n method: \"POST\",\n data: {\n OrderId: orderId,\n CourierId: courierId,\n Index: index\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function groupReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/reorder\",\n method: \"POST\",\n data,\n roles: [environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function associateOrders(courierId, orders) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/associateOrders/\" + courierId,\n method: \"POST\",\n data: {\n OrderId: orders\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function disbandGroup(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/disbandGroup/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function exchangeOrders(fromCourierId, toCourierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/exchange\",\n method: \"POST\",\n data: {\n FromCourierId: fromCourierId,\n ToCourierId: toCourierId\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function associateGroup(groupId, courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/associateGroup\",\n method: \"POST\",\n data: {\n GroupId: groupId,\n CourierId: courierId\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteOrder(orderId, token) {\n return new Promise((resolve, reject) => {\n callServer({\n headers: {\n Authorization: token\n },\n url: environment.backendAPI + \"orders/\" + orderId,\n method: \"DELETE\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function editOrder(order, isTakeAway) {\n if (isTakeAway) {\n delete order.location;\n delete order.address;\n }\n\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders\",\n method: \"PUT\",\n data: order,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createNewOrder(order, isTakeAway) {\n if (isTakeAway) {\n delete order.location;\n delete order.address;\n delete order.Location;\n delete order.Address;\n }\n\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders\",\n method: \"POST\",\n data: order,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then( response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function unlockGroup(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/unlock/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function lockGroup(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/lock/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function createNewOrderWithPlace(order) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders/place\",\n method: \"POST\",\n data: order,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error);\n }\n );\n });\n}\nexport function getGEOLocation(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"geolocation\",\n method: \"POST\",\n data: data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getGEOLocationStr(address) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"geolocation/str\",\n method: \"POST\",\n data: {\n Address: address\n },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchAdressesByPhone(phone) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + \"geolocation/phone\",\n method: \"POST\",\n data: { Phone: phone },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchAdressesByName(name) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + \"geolocation/consumers\",\n method: \"POST\",\n data: { Phone: name },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function setNewOrderCashPaid(data, id, paymentId) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + `consumerOrder/getPayment/${id}/${paymentId}`,\n method: \"POST\",\n data: data,\n roles: [\n environment.USER_ROLES.deliveryManager,environment.USER_ROLES.depot]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function callPrintAction(data, id) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + `consumerOrder/print/${id}`,\n method: \"POST\",\n data: data,\n roles: [\n environment.USER_ROLES.deliveryManager,environment.USER_ROLES.depot]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function setNewOrderManagerCashPaid(data, id, paymentId) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + `orders/getPayment/${id}/${paymentId}`,\n method: \"POST\",\n data: {...data, SchemaType: 1},\n roles: [\n environment.USER_ROLES.deliveryManager,environment.USER_ROLES.depot]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function setOrderNote(data, id) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + `consumerOrder/serviceNotes/${id}`,\n method: \"POST\",\n data: {ServiceNotes: data},\n roles: [environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function setOrderManagerNote(data, id) {\n return new Promise((resolve, reject)=> {\n callServer({\n url: environment.backendAPI + `orders/serviceNotes`,\n method: \"POST\",\n data: {Id: id, ServiceNotes: data, SchemaType: 1},\n roles: [environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function getAddressHistory(phoneNumber) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/consumerAddress/\" + phoneNumber,\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getPlace(placeId, city, street) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"geolocation/place\",\n method: \"POST\",\n data: {\n PlaceId: placeId,\n City: city,\n Street: street\n },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteAssistanceOrder(orderId, token) {\n const setting = token\n ? {\n headers: {\n Authorization: token\n },\n url: environment.backendAPI + \"assistance/\" + orderId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }\n : {\n url: environment.backendAPI + \"assistance/\" + orderId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n };\n\n return new Promise((resolve, reject) => {\n callServer(setting).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function approveAssistanceOrder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"assistance\",\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchReceipts(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"receipts/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getAdvancedInfo(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"receipts/raw/\" + orderId,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getDateOrders(date, territoryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/dateoders\",\n method: \"POST\",\n data: { Date: date, TerritoryId: territoryId },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getLastOrders(hours) {\n if (isNaN(hours)) {\n hours = 24;\n }\n\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/lastorders/\" + hours,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function reloadOrder(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders/rework/\" + id,\n method: \"POST\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function OrdersCsv(start, end, depotId, customerVersion, controlCenterId, includeMarketPlaceOrders, territoryId, recalculatePriceForBusiness,includePartnerOrders,basedOnTargetDate, isCustomTime) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/orders\",\n method: \"POST\",\n responseType: \"blob\",\n data: {\n StartDate: start,\n EndDate: end,\n DepotId: depotId,\n CustomerVersion: customerVersion,\n ControlCenterId: controlCenterId,\n IncludeMarketPlaceOrders: includeMarketPlaceOrders,\n TerritoryId: territoryId,\n RecalculatePriceForBusiness: recalculatePriceForBusiness,\n BasedOnTargetDate: basedOnTargetDate,\n IsCustomTime: isCustomTime,\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function AccountOrdersCsv(start, end, depotId, customerVersion, controlCenterId, includeMarketPlaceOrders, territoryId, recalculatePriceForBusiness,includePartnerOrders,basedOnTargetDate, isCustomTime) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/accountorders\",\n method: \"POST\",\n responseType: \"blob\",\n data: {\n StartDate: start,\n EndDate: end,\n DepotId: depotId,\n CustomerVersion: customerVersion,\n ControlCenterId: controlCenterId,\n TerritoryId: territoryId,\n RecalculatePriceForBusiness: recalculatePriceForBusiness,\n IncludePartnerOrders : includePartnerOrders,\n BasedOnTargetDate : basedOnTargetDate,\n IsCustomTime : isCustomTime,\n }\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function setOrderDeliveredBy(orderId, newCourierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"history/updateOrderDeliveredBy/\" + orderId,\n method: \"POST\",\n data: { NewCourierId: newCourierId },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\n\nexport function fetchConsumerActiveOrders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerActiveOrders\",\n method: \"GET\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerOrders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder\",\n method: \"GET\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addConsumerOrder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function cancelConsumerOrder(orderId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/cancel/\" + orderId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchPendingPreOrders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerPreOrder\",\n method: \"GET\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchAdminOrders(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/order\",\n method: \"POST\",\n data: data || getDefaultAdminOrdersSearchFilter(),\n roles: [environment.USER_ROLES.supportOperator, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerInfo(consumerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumer/\"+ consumerId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchCourierInfo(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/courierInfo/\" + orderId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchCancelerInfo(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/cancelerInfo/\" + orderId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchBusinessInfo(businessId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/business/\"+ businessId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchAdminOrderById(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/order/\"+ id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerCardsById(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/cards/\"+ id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function reshipmentOrder(orderId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/reshipment/\"+ orderId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getProductPrice(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/productPrice\",\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot, environment.USER_ROLES.supportOperator],\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getOrderPrice(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/orderPrice\",\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot, environment.USER_ROLES.supportOperator],\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getOrderTimeSlots(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/preOrderSchedule\",\n method: \"POST\",\n // roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot, environment.USER_ROLES.supportOperator],\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function importTemplateBatchOrder(file){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"markeplaceBulkOrder/create\",\n method: \"POST\",\n data: file,\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function exportTemplateBatchOrder(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"markeplaceBulkOrder/exportTemplate\",\n method: \"GET\",\n responseType: \"blob\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBatchOrderRow(templateId, data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}`,\n method: \"PUT\",\n data,\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteBatchOrderRow(templateId, rowId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/${rowId}`,\n method: \"DELETE\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function createBatchOrderRow(templateId, data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}`,\n method: \"POST\",\n data,\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateBatchOrderComment(templateId, comment){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/comment`,\n method: \"PUT\",\n data: { Comment, comment},\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function getTemplateBatchDrafts(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"markeplaceBulkOrder\",\n method: \"GET\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteTemplateBatchDraft(templateId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}`,\n method: \"DELETE\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function getTemplateBatchDraftById(templateId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}`,\n method: \"GET\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function getTemplateBatchOrderPrice(templateId, body){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/orderPrice`,\n method: \"POST\",\n data: body\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateDeliveryBusinessBatchOrder(templateId, consumerId, body){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/orderPrice/${consumerId}`,\n method: \"POST\",\n data: body\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function processBatchOrder(templateId){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/process`,\n method: \"POST\",\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function submitBatchOrder(templateId, body){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `markeplaceBulkOrder/${templateId}/submitPayment`,\n method: \"POST\",\n data: body\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n\nexport function refundOrder(orderId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/refund/\"+ orderId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function cancelAdminOrder(orderId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/cancel/\"+ orderId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deliveryAdminOrder(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/delivered/\"+ orderId,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getOrderPaymentIntent(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/paymentIntent\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getOrderSetupIntent(Territory) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/setupIntent\",\n method: \"POST\",\n data: {Territory},\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function stripeVerifyCardOrder(body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/processCard\",\n method: \"POST\",\n data: body,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setCreatedOrders(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/orders\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getPaymentIntent(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/paymentIntent\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getCallCenterMenu(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/menu/\" + id,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setCaptureRemainder(id, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/capture/\" + id,\n method: \"POST\",\n data,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getAdminOrderPengingCount() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/count\",\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchOrderMenu(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot],\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateServiceNotes(id, serviceNotes) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders/updateservicenotes\",\n method: \"POST\",\n data: { Id: id, ServiceNotes: serviceNotes },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerOrderMenu() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenuMerged\",\n method: \"GET\",\n roles: [environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function consumerOrderAccept(orderId, value) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/accept/\" + orderId,\n method: \"POST\",\n data: {\n ReadinessTime: value\n },\n roles: [environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function consumerOrderAcknowledge(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/acknowledge_preorder/\" + orderId,\n method: \"POST\",\n roles: [environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function consumerOrderReject(orderId, value) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/reject/\" + orderId,\n method: \"POST\",\n data: {\n Reason: value\n },\n roles: [environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function consumerOrderDelaying(orderId, value) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/late/\" + orderId,\n method: \"POST\",\n data: { ReadinessTime: value },\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function consumerOrderCooking(orderId, value) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/cooking/\" + orderId,\n method: \"POST\",\n data: { ReadinessTime: value },\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function consumerOrderRepack(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/repack/\" + orderId,\n method: \"POST\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function consumerOrderReady(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/ready/\" + orderId,\n method: \"POST\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function consumerOrderPickUp(orderId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/pickUp/\" + orderId,\n method: \"POST\",\n roles: [environment.USER_ROLES.depot]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerOrderReadinessTimes() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/readinessTimes\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchConsumerOrderReadinessTimesAccept(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/readinessTimes/\" + id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function consumerOrderSearch(filter){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/search\",\n method: \"POST\",\n roles: [environment.USER_ROLES.depot],\n data: {\n Search: filter.search || null,\n Start: filter.search ? null : filter.start,\n End: filter.search ? null : filter.end\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n\n}\n\nexport function getDeliverPriceByAddress(address){\n return new Promise((resolve, reject) => {\n resolve({ status: 200, data: 0 });\n });\n}\n\nexport function getMergedBusinessMenu(){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenuMerged\",\n method: \"GET\",\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getMergedBusinessMenuById(id){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"businessMenuMerged/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.depot, environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supportOperator],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getReviewsReport(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/reviews\",\n method: \"POST\",\n responseType: \"blob\",\n data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}\n","export const INIT_SECTION_ITEMS_HEIGHTS = \"INIT_SECTION_ITEMS_HEIGHTS\";\nexport const REFRESH_SECTION_ITEMS_HEIGHTS = \"REFRESH_SECTION_ITEMS_HEIGHTS\";\nexport const SAVE_SECTION_ITEM_HEIGHT = \"SAVE_SECTION_ITEM_HEIGHT\";\nexport const UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT =\n \"UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT\";\nexport const SET_SECTION_ITEMS_LOADING = \"SET_SECTION_ITEMS_LOADING\";\nexport const SAVE_SECTION_ITEM = \"SAVE_SECTION_ITEM\";\n\nexport function actionInitSectionItemsHeights() {\n return {\n type: INIT_SECTION_ITEMS_HEIGHTS\n };\n}\n\nexport function actionRefreshSectionItemsHeights() {\n return {\n type: REFRESH_SECTION_ITEMS_HEIGHTS\n };\n}\n\nexport function actionSaveSectionItemHeight(data) {\n return {\n type: SAVE_SECTION_ITEM_HEIGHT,\n data: data\n };\n}\n\nexport function actionSaveSectionItemRowHeightDefault(data) {\n return {\n type: UPDATE_SECTION_ITEM_ROW_HEIGHT_DEFAULT,\n data: data\n };\n}\n\nexport function actionSetSectionItemsLoading(data) {\n return {\n type: SET_SECTION_ITEMS_LOADING,\n data: data\n };\n}\n\nexport function actionSaveSectionItem(data) {\n return {\n type: SAVE_SECTION_ITEM,\n data: data\n };\n}\n","import { CONTROL_TYPE, FILTER_TYPE } from '../utils/enums';\n\nexport const FILTER_OPTION_TYPE = {\n controlCenter: \"controlCenter\"\n}\n\nexport default class FilterOptionsModel {\n constructor() {\n this.options = {};\n }\n\n addOptions(\n name,\n type,\n label,\n filterFunc,\n disabled,\n selected,\n isManualUpdate = false,\n editFunc,\n typeControlStyle,\n isCustomItems = false,\n options,\n customSettings\n ) {\n let option = {};\n\n switch (type) {\n case CONTROL_TYPE.checkbox:\n option = this.createFilterCheckOptionModel(\n label,\n filterFunc,\n disabled,\n selected\n );\n break;\n case CONTROL_TYPE.groupCheckbox:\n option = this.createFilterGroupCheckOptionModel(label, filterFunc, selected);\n break;\n case CONTROL_TYPE.select:\n option = this.createFilterSelectOptionModel(\n label,\n filterFunc,\n disabled,\n selected\n );\n break;\n case CONTROL_TYPE.multiselect:\n option = this.createFilterMultiSelectOptionModel(\n label,\n filterFunc,\n disabled,\n selected\n );\n break;\n case CONTROL_TYPE.usersPopup:\n option = this.createFilterPopupOptionModel(\n label,\n filterFunc,\n disabled,\n selected\n );\n break;\n case CONTROL_TYPE.slider:\n option = this.createFilterSlideOptionModel(\n label,\n filterFunc,\n disabled,\n selected\n );\n break;\n case CONTROL_TYPE.text:\n option = this.createFilterTextOptionModel(\n filterFunc,\n disabled,\n selected,\n label,\n );\n break;\n case CONTROL_TYPE.date:\n option = this.createFilterDateOptionModel(\n label,\n filterFunc,\n disabled,\n selected,\n options\n );\n break;\n case CONTROL_TYPE.link:\n option = this.createFilterLinkOptionModel(\n label,\n editFunc,\n typeControlStyle\n );\n break;\n case CONTROL_TYPE.label:\n option = this.createFilterLabelOptionModel(label);\n break;\n case CONTROL_TYPE.dateLink:\n option = this.createFilterDateLinkOptionModel(label, customSettings);\n break;\n default:\n console.log(\"Unknown option type!\");\n return;\n }\n\n option.isManualUpdate = isManualUpdate;\n option.isCustomItems = isCustomItems;\n this.options[name] = option;\n this.options[name].name = name;\n return option;\n }\n\n createFilterCheckOptionModel(label, filterFunc, disabled, selected) {\n let model = {\n filterType: FILTER_TYPE.or,\n label: label || \"\",\n type: CONTROL_TYPE.checkbox,\n disabled: disabled || false,\n selected: selected || false\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterGroupCheckOptionModel(label, filterFunc, selected) {\n let model = {\n filterType: FILTER_TYPE.or,\n label: label || \"\",\n type: CONTROL_TYPE.groupCheckbox,\n selected: selected || false\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterPopupOptionModel(label, filterFunc, disabled, selected) {\n return {\n label: label || \"\",\n filterType: FILTER_TYPE.or,\n disabled: disabled || false,\n type: CONTROL_TYPE.usersPopup,\n selected: selected,\n isClearUser: true\n };\n }\n\n createFilterSelectOptionModel(label, filterFunc, disabled, selected) {\n let model = {\n label: label || \"\",\n filterType: FILTER_TYPE.or,\n disabled: disabled || false,\n type: CONTROL_TYPE.select,\n selected: selected,\n items: [],\n mappingLambda: null,\n addItem: (key, value) => model.items.push({ key, value }),\n isShow: null,\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterMultiSelectOptionModel(label, filterFunc, disabled, selected, selectedValues) {\n let model = {\n label: label || \"\",\n filterType: FILTER_TYPE.or,\n disabled: disabled || false,\n type: CONTROL_TYPE.multiselect,\n selected: selected,\n selectedValues: selectedValues,\n items: [],\n mappingLambda: null,\n addItem: (key, value) => model.items.push({ key, value }),\n isShow: null,\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterSlideOptionModel(label, filterFunc, disabled, selected, min, max) {\n let model = {\n label,\n filterType: FILTER_TYPE.and,\n disabled: disabled || false,\n type: CONTROL_TYPE.slider,\n selected,\n sliderOptions: {\n disabled: disabled || false,\n floor: min || 0,\n ceil: max || 0,\n rightToLeft: false,\n showSelectionBar: true\n },\n setMinMax: (min, max) => {\n model.sliderOptions.floor = min;\n model.sliderOptions.ceil = max;\n }\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterTextOptionModel(filterFunc, disabled, selected) {\n let model = {\n filterType: FILTER_TYPE.and,\n disabled: disabled || false,\n type: CONTROL_TYPE.text,\n selected: selected\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterDateOptionModel(label, filterFunc, disabled, selected, options) {\n let model = {\n label: label || \"\",\n filterType: FILTER_TYPE.and,\n disabled: disabled || false,\n type: CONTROL_TYPE.date,\n selected: selected,\n format: options?.format,\n };\n\n if (filterFunc) model.filterFunction = filterFunc.bind(model);\n\n return model;\n }\n\n createFilterDateLinkOptionModel(label, customSettings) {\n const model = {\n label: label || \"\",\n type: CONTROL_TYPE.dateLink,\n startKey: customSettings.startKey,\n endKey: customSettings.endKey,\n }\n return model;\n }\n\n createFilterLinkOptionModel(label, editFunc, typeControlStyle) {\n let model = {\n label: label || \"\",\n type: CONTROL_TYPE.link,\n typeControlStyle: typeControlStyle\n };\n\n if (editFunc) model.editFunc = editFunc.bind(model);\n\n return model;\n }\n\n createFilterLabelOptionModel(label) {\n let model = {\n label: label || \"\",\n type: CONTROL_TYPE.label\n };\n\n return model;\n }\n\n isSelectedFilters() {\n for (const key in this.options) {\n if (!this.options.hasOwnProperty(key)) continue;\n if (this.options[key].selected) return true;\n }\n return false;\n }\n\n getSelectedFilters(filterType) {\n let result = [];\n for (var key in this.options) {\n if (!this.options.hasOwnProperty(key)) continue;\n const option = this.options[key];\n if(option.isCustomItems) {\n option.selected.forEach(optionSelected => {\n if(optionSelected.isCheckAllGroup) {\n if (this.getSelectFilter(optionSelected, filterType, true)) {\n result.push(optionSelected);\n }\n } else {\n optionSelected.items.forEach(element => {\n if (this.getSelectFilter(option, filterType)) {\n result.push(element);\n }\n });\n }\n });\n } else {\n if (this.getSelectFilter(option, filterType)) {\n result.push(option);\n }\n }\n }\n\n return result;\n }\n\n getSelectFilter(option, filterType, isOnlyType) {\n return (isOnlyType || option.selected || option.selected === 0) &&\n (!filterType || filterType === option.filterType) &&\n (isOnlyType || typeof option.filterFunction === \"function\")\n }\n}\n","import i18n from \"../i18n\";\nimport Store from \"../store/store\";\n\nimport Pusher from \"./pusher\";\nimport { getDepots } from \"./restaurant\";\nimport { getControlCenterActive, getUserById, initUserModel } from \"./userModel\";\n\nimport { actionRefreshSectionModel } from \"../store/reducers/routing/routing-actions\";\nimport { isSameObjects } from \"../utils/objects-util\";\nimport { getUserConnectionData } from \"../utils/auth-util\";\nimport UserPilotService from \"./userPilotService\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class User {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use User.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new User(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getCurrentUserInfo = () => {\n if (!this.currentUserInfo) {\n const connData = getUserConnectionData();\n\n if(connData) {\n const user = getUserById(connData.unique_name);\n if(user) {\n const activeControlCenter = getControlCenterActive() || {};\n const controlCenterId = user.controlCenterId || activeControlCenter.controlCenterId;\n User.instance.setCurrentUserInfo({ ...user, controlCenterId }); //Set current user info\n User.instance.setBaseConstants(); //Check base constants\n }\n }\n }\n\n return this.currentUserInfo;\n };\n\n getCurrentUserConfigurationProp(prop, isFromConfiguration = false) {\n const config = (this.currentUserInfo || {}).configuration || {};\n return (isFromConfiguration && config[prop]) || (config.visualSettings || {})[prop];\n }\n\n getBaseConstant(name) {\n return this.baseConstants && this.baseConstants[name];\n }\n\n setCurrentUserConfiguration(value) {\n this.currentUserInfo.configuration = value;\n if(value && value.language && i18n.language !== value.language) {\n this.setLanguage();\n } \n }\n\n setCurrentUserInfo(user, isForceUpdate = false) {\n const newUserInfo = initUserModel(user);\n if(isForceUpdate || \n !isSameObjects((this.currentUserInfo || {}).userId, (newUserInfo || {}).userId)\n ) {\n this.currentUserInfo = initUserModel(user);\n this.setLanguage();\n }\n\n UserPilotService.instance.init();\n }\n\n setLanguage() {\n const { configuration } = this.currentUserInfo || {};\n const { language } = configuration || {};\n \n if(language && i18n.language !== language) {\n i18n.changeLanguage(language || \"\").then(()=> {\n Store.store.dispatch(actionRefreshSectionModel({\n location: {...window.location}, \n isRefresh: true\n }));\n }); \n }\n }\n\n skipObjectWithControlCenter(obj) {\n if (!obj) \n return;\n const id = typeof obj === \"string\" ? obj : (obj.ControlCenterId || obj.controlCenterId);\n return id && \n Pusher.instance.getControlCenterChannel() && \n !Pusher.instance.getCurrentControlCenters().includes(id);\n }\n\n setBaseConstants() {\n if(!this.baseConstants && getUserConnectionData()) {\n this.baseConstants = {};\n const depots = getDepots();\n this.baseConstants.isDepotMode = depots.length > 1;\n this.baseConstants.isSingleDepotMode = depots.length === 1; \n }\n } \n}\n","import {ADD, DELETE, EDIT, EXPORT, GET} from '../common-actions';\n\nexport const LOAD_RECONCILIATIONS_PERIODS = \"LOAD_RECONCILIATIONS_PERIODS\";\nexport const LOAD_RECONCILIATIONS_PERIOD = \"LOAD_RECONCILIATIONS_PERIOD\";\nexport const ADD_RECONCILIATIONS_PERIODS = \"ADD_RECONCILIATIONS_PERIODS\";\nexport const RECONCILIATIONS_PERIODS = \"RECONCILIATIONS_PERIODS\"\nexport const RECONCILIATIONS_PERIODS_GET = \"RECONCILIATIONS_PERIODS\" + GET\nexport const RECONCILIATIONS_PERIODS_EDIT = \"RECONCILIATIONS_PERIODS\" + EDIT\nexport const RECONCILIATIONS_PERIOD_GET = \"RECONCILIATIONS_PERIOD\" + GET\n\nexport const RECONCILIATIONS_PERIODS_XLS = \"RECONCILIATIONS_PERIODS_XLS\";\nexport const RECONCILIATIONS_PERIODS_INVOICE = \"RECONCILIATIONS_PERIODS_INVOICE\";\nexport const RECONCILIATIONS_PERIODS_TABLE_XLS_EXPORT = \"RECONCILIATIONS_PERIODS_TABLE_XLS\" + EXPORT;\nexport const RECONCILIATIONS_PERIODS_TABLE_INVOICE_EXPORT = \"RECONCILIATIONS_PERIODS_TABLE_INVOICE\" + EXPORT;\nexport const RECONCILIATIONS_PERIODS_ADD = \"RECONCILIATIONS_PERIODS\" + ADD\nexport const RECONCILIATIONS_PERIODS_EXPORT = 'RECONCILIATIONS_PERIODS' + EXPORT;\nexport const RECONCILIATIONS_PERIODS_DELETE = \"RECONCILIATIONS_PERIODS\" + DELETE\nexport const RECONCILIATIONS_PERIODS_RECALCULATE = \"RECONCILIATIONS_PERIODS_RECALCULATE\";\nexport const RECONCILIATIONS_PERIODS_RELOAD = \"RECONCILIATIONS_PERIODS_RELOAD\";\nexport const RECONCILIATIONS_PERIODS_COLLAPSE_TABLE = \"RECONCILIATIONS_PERIODS_COLLAPSE_TABLE\";\nexport const RECONCILIATIONS_PERIODS_UNMOUNT_TABLE = \"RECONCILIATIONS_PERIODS_UNMOUNT_TABLE\";\nexport const RECONCILIATIONS_PERIODS_APPROVE = \"RECONCILIATIONS_PERIODS_APPROVE\";\n\nexport const LOAD_RECONCILIATIONS_CONFIGURATIONS = \"LOAD_RECONCILIATIONS_CONFIGURATIONS\";\nexport const ADD_RECONCILIATIONS_CONFIGURATIONS = \"ADD_RECONCILIATIONS_CONFIGURATIONS\";\nexport const UPDATE_RECONCILIATIONS_CONFIGURATIONS = \"UPDATE_RECONCILIATIONS_CONFIGURATIONS\";\nexport const UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE = \"UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE\";\nexport const UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS = \"UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS\";\n\nexport const RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET = \"RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET\";\nexport const RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET = \"RECONCILIATIONS_CONFIGURATIONS_WITHOUT_TERRITORY_DEPOTS_GET\";\nexport const RECONCILIATIONS_CONFIGURATIONS = \"RECONCILIATIONS_CONFIGURATIONS\"\nexport const RECONCILIATIONS_CONFIGURATIONS_IMPORT = RECONCILIATIONS_CONFIGURATIONS + \"_IMPORT\";\nexport const RECONCILIATIONS_CONFIGURATIONS_EXPORT = RECONCILIATIONS_CONFIGURATIONS + \"_EXPORT\";\nexport const RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET = \"RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET\"\nexport const RECONCILIATIONS_CONFIGURATIONS_GET = \"RECONCILIATIONS_CONFIGURATIONS\" + GET\nexport const RECONCILIATIONS_CONFIGURATIONS_ADD = \"RECONCILIATIONS_CONFIGURATIONS\" + ADD\nexport const RECONCILIATIONS_CONFIGURATIONS_EDIT = \"RECONCILIATIONS_CONFIGURATIONS\" + EDIT\nexport const RECONCILIATIONS_CONFIGURATIONS_DELETE = \"RECONCILIATIONS_CONFIGURATIONS\" + DELETE\n\nexport const DEPOT_RECONCILIATIONS_CONFIGURATIONS = \"DEPOT_RECONCILIATIONS_CONFIGURATIONS\";\nexport const DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET = \"DEPOT_RECONCILIATIONS_CONFIGURATIONS\" + GET;\nexport const DEPOT_RECONCILIATIONS_CONFIGURATIONS_EDIT = \"DEPOT_RECONCILIATIONS_CONFIGURATIONS\" + EDIT;\n\nexport const RECONCILIATIONS_CONFIGURATIONS_CONFIG = \"RECONCILIATIONS_CONFIGURATIONS_CONFIG\";\nexport const RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET = RECONCILIATIONS_CONFIGURATIONS_CONFIG + GET;\nexport const RECONCILIATIONS_CONFIGURATIONS_CONFIG_EDIT = RECONCILIATIONS_CONFIGURATIONS_CONFIG + EDIT;\n\nexport function actionLoadReconciliationsConfigurations(data) {\n return { type: LOAD_RECONCILIATIONS_CONFIGURATIONS, data };\n}\nexport function actionAddReconciliationsConfigurations(data) {\n return { type: ADD_RECONCILIATIONS_CONFIGURATIONS, data };\n}\n\nexport function actionUpdateReconciliationsConfigurations(data) {\n return { type: UPDATE_RECONCILIATIONS_CONFIGURATIONS, data };\n}\n\nexport function actionUpdateReconciliationsConfigurationsMERGE(data) {\n return { type: UPDATE_RECONCILIATIONS_CONFIGURATIONS_MERGE, data };\n}\nexport function actionUpdateReconciliationsConfigurationSettings(data) {\n return { type: UPDATE_RECONCILIATIONS_CONFIGURATIONS_SETTINGS, data };\n}\nexport function actionUpdateReconciliationsConfigurationsDepots(data) {\n return { type: RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET, data };\n}\n\nexport function actionUpdateReconciliationsCollapseTable(data) {\n return { type: RECONCILIATIONS_PERIODS_COLLAPSE_TABLE, data };\n}\n\nexport function actionLoadReconciliationsPeriods(data) {\n return { type: LOAD_RECONCILIATIONS_PERIODS, data };\n}\nexport function actionLoadReconciliationsPeriod(data) {\n return { type: LOAD_RECONCILIATIONS_PERIOD, data };\n}\nexport function actionAddReconciliationsPeriods(data) {\n return { type: ADD_RECONCILIATIONS_PERIODS, data };\n}\n","import { CROP_MODE, GRAVITY_MODE } from './enums';\nimport { getKeyByValue } from './objects-util';\n\nexport function convertBlobToBase64(blob) {\n return new Promise((resolve) => {\n var reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = function() {\n resolve(reader.result);\n };\n });\n}\n\nexport function getConvertedCloudUrl(defaultUrl, size = 35) {\n if(!defaultUrl) return null; \n const urlSplit = defaultUrl.split(\"upload/\");\n if(urlSplit.length < 2) return defaultUrl;\n const props = size ? `c_scale,h_${size},w_${size}` : \"c_scale\";\n return `${urlSplit[0]}upload/${props}/${urlSplit[1]}`;\n}\n\nexport function getConvertedCloudUrlBySettings(\n defaultUrl, \n width = 100, \n height = 35, \n cropMode = getKeyByValue(CROP_MODE, 0),\n gravityMode = getKeyByValue(GRAVITY_MODE, 0),\n quality = 90\n) {\n if(!defaultUrl) return null; \n const urlSplit = defaultUrl.split(\"upload/\");\n if(urlSplit.length < 2) return defaultUrl;\n return urlSplit[0] + \"upload/\" + \n \"h_\" + height +\n \",w_\" + width +\n \",c_\" + cropMode +\n \",g_\" + gravityMode +\n \",q_\" + quality + \n \"/\" + urlSplit[1];\n}\n\nexport function getImageSettings(settings) {\n return {\n crop_mode: 0,\n gravity_mode: 0,\n quality: 90,\n quality_mode: 0,\n ...settings || {}\n }\n}\n\nexport function getBlobFromUrl(myImageUrl) {\n return new Promise((resolve, reject) => {\n if(!myImageUrl) resolve(myImageUrl);\n let request = new XMLHttpRequest();\n request.open('GET', myImageUrl, true);\n request.responseType = 'blob';\n request.onload = () => {\n resolve(request.response);\n };\n request.onerror = reject;\n request.send();\n })\n}\n\nexport function fetchMarkerAvatarBase64(url, isFull = false, id) {\n return new Promise(resolve => {\n const cloudUrl = isFull ? url : getConvertedCloudUrl(url, 35);\n if(!cloudUrl) \n resolve(url);\n getBlobFromUrl(cloudUrl).then(blob=> {\n convertBlobToBase64(blob).then(image=> {\n resolve(id ? { id, image } : image)\n }, ()=> resolve(null))\n }, ()=> resolve(null));\n });\n}\n\nexport function isBase64Image(image) {\n return image && image.includes(\"data:image/\");\n}\n\nexport function isBase64Video(video) {\n return video && video.includes(\"data:video/\");\n}\n\nexport function imageExists(image_url) {\n if(!image_url) return false;\n const http = new XMLHttpRequest();\n http.open('HEAD', image_url, false);\n http.send();\n return http.status !== 404 && http.status !== 400;\n}\n\nexport async function downloadImage(\n imageSrc,\n nameOfDownload = 'image.png',\n) {\n const response = await fetch(imageSrc);\n\n const blobImage = await response.blob();\n\n const href = URL.createObjectURL(blobImage);\n\n const anchorElement = document.createElement('a');\n anchorElement.href = href;\n anchorElement.download = nameOfDownload;\n\n document.body.appendChild(anchorElement);\n anchorElement.click();\n\n document.body.removeChild(anchorElement);\n window.URL.revokeObjectURL(href);\n}","import {callServer} from '../utils/request-util';\nimport environment from 'environment';\n\nexport function fetchUsers() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.supportOperator\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchUser(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/\" + id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getUsersByIds(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"userByIds\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchCourierLocations() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/courierLocations\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.supervisor\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchCourierAvatarBase64(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/avatar/\" + courierId,\n method: \"GET\",\n responseType: \"blob\"\n }).then(\n response => {\n resolve(response);\n },\n error => {\n resolve(null);\n }\n );\n });\n}\n\nexport function approveOrders(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}cycle/approveCycle/${courierId}`,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function courierQRCode(courierId, applicationType) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/deviceQRCode/\" + courierId,\n method: \"POST\",\n data: {\n ApplicationType: applicationType\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function depotQRCode(depotId,userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: `${environment.backendAPI}depot/${depotId}/user/${userId}/deviceQRCode`,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function sendCourierInvitation(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/deviceinvitation/\" + courierId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getAvailableControlCenters(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"controlCenters/availableControlCenters/\" + courierId,\n method: \"POST\",\n roles: [\n environment.USER_ROLES.all,\n environment.USER_ROLES.supervisor,\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot,\n environment.USER_ROLES.courier,\n environment.USER_ROLES.supportOperator,\n environment.USER_ROLES.controlCenterManager,\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function goAway(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/goaway/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function cancelCycle(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/cancelCycle/\" + courierId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function finishCycle(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/finishCycle/\" + courierId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function startShift1(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/startShift\",\n method: \"POST\",\n data: {\n ...data\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function startShifts(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/startMultipleShifts\",\n method: \"POST\",\n data: {\n ...data\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function endShift(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/endShift\",\n method: \"POST\",\n data: {\n CourierId: courierId\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function groupCourier(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/buildoptimalroute/\" + id,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function cycleGroupCourier(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/group/\" + id,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function groupCourierForGroup(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/buildoptimalroute/\" + id,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\n\nexport function groupFutureRoute() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"groups/group\",\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function disbandCycle(courierId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/disbandCycle/\" + courierId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function unlockCourierGroup(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/unlock/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function lockCourierGroup(groupId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/lock/\" + groupId,\n method: \"POST\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchShiftActiveUsers(controlCenterId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/availableCouriers\" + ((controlCenterId && `/${controlCenterId}`) || \"\"),\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function courierToGroup(orderId, groupId, newOrderIndex) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/unassociateOrder\",\n method: \"POST\",\n data: {\n OrderId: orderId,\n GroupId: groupId,\n Index: newOrderIndex\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function editUser(\n userId,\n firstName,\n lastName,\n phoneNumber,\n email,\n workerId,\n hourlyRate,\n allowOpenShift,\n roles,\n capacity,\n vehicleType,\n defaultControlCenterId,\n salaryCalculationMode,\n creationDate,\n allowedControlCenters,\n salaryCalculationProfileId\n) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/\" + userId,\n method: \"PUT\",\n data: {\n AllowedControlCenters: allowedControlCenters || [],\n FirstName: firstName || \"\",\n LastName: lastName || \"\",\n PhoneNumber: phoneNumber || \"\",\n Email: email || \"\",\n WorkerId: workerId || \"\",\n Capacity: capacity || 0,\n HourlyRate: hourlyRate || 0,\n\t\t AllowOpenShift: allowOpenShift || false,\n Roles: Object.keys(roles)\n .filter(key=> roles[key])\n .map(key=> ({ Name: key.toFirstCharUpperCase() })),\n VehicleType: vehicleType,\n DefaultControlCenterId: defaultControlCenterId || \"\",\n\t\t SalaryCalculationMode: salaryCalculationMode,\n CreationDate: creationDate,\n SalaryCalculationProfileId: salaryCalculationProfileId\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addUser(\n firstName,\n lastName,\n phoneNumber,\n email,\n workerId,\n hourlyRate,\n allowOpenShift,\n roles,\n capacity,\n vehicleType,\n defaultControlCenterId,\n salaryCalculationMode,\n creationDate\n) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user\",\n method: \"POST\",\n data: {\n FirstName: firstName || \"\",\n LastName: lastName || \"\",\n PhoneNumber: phoneNumber || \"\",\n Email: email || \"\",\n WorkerId: workerId || \"\",\n Capacity: capacity || 0,\n HourlyRate: hourlyRate || 0,\n\t\t AllowOpenShift: allowOpenShift || false,\n Roles: Object.keys(roles)\n .filter(key=> roles[key])\n .map(key=> ({ Name: key.toFirstCharUpperCase() })),\n VehicleType: vehicleType,\n DefaultControlCenterId: defaultControlCenterId,\n\t\t SalaryCalculationMode:salaryCalculationMode,\n CreationDate: creationDate\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function removeUser(userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/\" + userId,\n method: \"DELETE\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function resetUserPassword(userId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.authAPI + \"profile/resetPassword/\" + userId,\n method: \"POST\",\n data: data,\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.supervisor]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getCourierByUserName(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/\" + id,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getUser(userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/\" + userId,\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setCurrentUser(\n firstName,\n lastName,\n phoneNumber,\n email,\n isCourier,\n isManager,\n password,\n language,\n visualSettings\n) {\n return new Promise((resolve, reject) => {\n let roles = [];\n if (isCourier) {\n roles.push({ Name: environment.USER_ROLES.courier });\n }\n if (isManager) {\n roles.push({ Name: environment.USER_ROLES.deliveryManager });\n }\n\n callServer({\n url: environment.authAPI + \"profile\",\n method: \"PUT\",\n skipRetry: true,\n data: {\n FirstName: firstName || \"\",\n LastName: lastName || \"\",\n PhoneNumber: phoneNumber || \"\",\n Email: email || \"\",\n Roles: roles,\n CurrentPassword: password,\n Configuration: {\n Language: language,\n VisualSettings: visualSettings\n }\n },\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function setUserAvatarBase64(userId, avatar) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/avatar/\" + userId,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"image/png\"\n },\n data: avatar,\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function resetPassword(pass, oldPass) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.authAPI + \"profile/resetPassword\",\n method: \"POST\",\n data: {\n Password: pass,\n CurrentPassword: oldPass\n }\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getReportDeliveryTime(skipHours) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/deliverytime/\" + skipHours,\n method: \"GET\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getReportDeliveryTimeByDate(startDate, endDate, controlCenterId, userId, controlCenterIds, territoryId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/deliverytime\",\n method: \"POST\",\n data: {\n StartDate: startDate,\n EndDate: endDate,\n ControlCenterId: controlCenterId,\n ControlCenterIds: controlCenterIds,\n UserId: userId,\n TerritoryId: territoryId,\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateUsersPagination({ num, count, query, roles, controlCenterId }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/page\",\n method: \"POST\",\n data: {\n Page: num,\n Count: count,\n Query: query,\n Roles: roles,\n ControlCenterId: controlCenterId\n },\n roles: [environment.USER_ROLES.deliveryManager, environment.USER_ROLES.depot]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateCurrentShiftUser({ courierId, startTime, endTime, allowedDepots, shiftType, controlCenterId, vehicleId }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/shift/\" + courierId,\n method: \"PUT\",\n data: {\n ShiftType: shiftType || 0,\n StartTime: startTime || '',\n vehicleId: vehicleId || null,\n EndTime: endTime || '',\n ControlCenterId: controlCenterId || null,\n AllowedDepots: allowedDepots || []\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateCurrentShiftDepotCouriers({ depotId, courierIds }) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"cycle/shift/assignment/\" + depotId,\n method: \"PUT\",\n data: {\n CourierIds: courierIds || []\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getShiftsProvider(startDate, endDate, controlCenterId, provider, page, count, filters) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/providersPage\",\n method: \"POST\",\n data: {\n StartDate: startDate,\n EndDate: endDate,\n ControlCenterId: controlCenterId,\n UserId: provider,\n Page: page,\n PageSize: count,\n ...filters\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getShifts(startDate, endDate, controlCenterId, userId, controlCenterIds, territoryId,shiftType) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"history/shifts\",\n method: \"POST\",\n data: {\n StartDate: startDate,\n EndDate: endDate,\n ControlCenterId: controlCenterId,\n ControlCenterIds: controlCenterIds,\n UserId: userId,\n TerritoryId: territoryId,\n ShiftType: shiftType\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function updateShift(shifts) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"history/updateShift\",\n method: \"POST\",\n data: shifts,\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function deleteShift(shiftId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/shift/\" + shiftId,\n method: \"DELETE\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function getShift(shiftId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"query/shift/\" + shiftId,\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function shiftPdf(shiftId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/shift/\" + shiftId,\n method: \"GET\",\n responseType: \"blob\",\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function shiftProviderPdf(dateStart, dateEnd, providerId, controlCenterId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/providerShift\",\n method: \"POST\",\n responseType: \"blob\",\n data: {\n StartDate: dateStart,\n EndDate: dateEnd,\n ControlCenterId: controlCenterId,\n UserId: providerId,\n },\n roles: [environment.USER_ROLES.deliveryManager]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function couriersCsv(start, end, depotId, controlCenterId, userId,shiftType) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/couriers\",\n method: \"POST\",\n responseType: \"blob\",\n data: {\n StartDate: start,\n EndDate: end,\n DepotId: depotId,\n ControlCenterId: controlCenterId,\n UserId: userId,\n ShiftType: shiftType\n },\n roles: [\n environment.USER_ROLES.deliveryManager,\n environment.USER_ROLES.depot\n ]\n }).then(\n response => {\n resolve(response);\n },\n error => {\n reject(error.response);\n }\n );\n });\n}\n\nexport function fetchExternalCycle() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchExternalOrderReorder(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/reorder\",\n method: \"POST\",\n data,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchExternalProviders() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/providers\",\n method: \"GET\",\n skipRetry: true,\n roles: [environment.USER_ROLES.supervisor, environment.USER_ROLES.deliveryManager, environment.USER_ROLES.controlCenterManager, environment.USER_ROLES.depot],\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchShiftProviders(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"history/providersSummary\",\n method: \"POST\",\n data,\n skipRetry: true\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchShiftProvidersOrders(orderIds) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"history/orders\",\n method: \"POST\",\n data: {\n Ids: orderIds\n },\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchDeliveryProviders(depotId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/\" + depotId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function editDeliveryProvider(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/\" + depotId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createVirtualDeliveryProvider(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/virtual/\" + depotId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateVirtualDeliveryProvider(depotId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/virtual/\" + depotId,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteVirtualDeliveryProvider(depotId, providerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/virtual/\" + depotId + \"/\" + providerId,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function reorderDeliveryProviders(depotId, providers) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"deliveryProvider/\" + depotId + \"/reorder\",\n method: \"POST\",\n data: providers\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function fetchExternalProvidersByIds(ids) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/providers\",\n method: \"POST\",\n data: {\n OrderIds: ids\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchExternalAssignmentsByIds(ids) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/assignments\",\n method: \"POST\",\n data: {\n OrderIds: ids\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\nexport function createExternalCycle(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/create\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addExternalCycle(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/add\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function deleteMultiOrders(ids, token) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"orders/multiDelete\",\n // headers: {\n // Authorization: token,\n // },\n method: \"POST\",\n data: {\n ids,\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function removeExternalCycle(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/remove\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function confirmExternalCycle(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/confirm/\" + id,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function cancelExternalCycle(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/cancel/\" + id,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getExternalCycleDriverPhone(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"externalCycle/phone/\" + id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function freshDeskRestoreId(userId, restoreId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/freshdeskrestoreid/\" + userId,\n method: \"POST\",\n data: { RestoreId: restoreId }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function freshDeskRestoreIdRemove(userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"user/freshdeskrestoreid/\" + userId,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n","import { EDIT } from \"../common-actions\";\n\nexport const LOAD_MARKERS = \"LOAD_MARKERS\";\nexport const LOAD_ORDER_MARKERS = \"LOAD_ORDER_MARKERS\";\nexport const LOAD_COURIER_MARKERS = \"LOAD_COURIER_MARKERS\";\nexport const LOAD_DEPOT_MARKERS = \"LOAD_DEPOT_MARKERS\";\nexport const MARKER_UPDATE = \"MARKER_UPDATE\";\nexport const UPDATE_ORDER_MARKER = \"UPDATE_ORDER_MARKER\";\nexport const UPDATE_ORDERS_MARKERS = \"UPDATE_ORDERS_MARKERS\";\nexport const UPDATE_EXTERNAL_CYCLES_MARKERS = \"UPDATE_EXTERNAL_CYCLES_MARKERS\";\nexport const UPDATE_EXTERNAL_CYCLES_MARKERS_EDIT = UPDATE_EXTERNAL_CYCLES_MARKERS + EDIT;\nexport const UPDATE_COURIER_MARKER = \"UPDATE_COURIER_MARKER\";\nexport const UPDATE_COURIERS_MARKERS = \"UPDATE_COURIERS_MARKERS\";\nexport const UPDATE_ALL_COURIERS_MARKERS = \"UPDATE_ALL_COURIERS_MARKERS\";\nexport const UPDATE_DEPOT_MARKER = \"UPDATE_DEPOT_MARKER\";\nexport const UPDATE_DEPOTS_MARKERS = \"UPDATE_DEPOTS_MARKERS\";\nexport const NEW_ORDER_MARKER = \"NEW_ORDER_MARKER\";\nexport const UPDATE_COURIER_LOCATION_MARKER = \"UPDATE_COURIER_LOCATION_MARKER\";\nexport const REMOVE_MARKER = \"REMOVE_MARKER\";\nexport const REMOVE_MARKERS = \"REMOVE_MARKERS\";\nexport const UPDATE_SHOW_COURIER_MARKER = \"UPDATE_SHOW_COURIER_MARKER\";\nexport const SET_SHAKE_MARKER = \"SET_SHAKE_MARKER\";\nexport const SHAKE_MARKER = \"SHAKE_MARKER\";\nexport const CHECK_MARKERS = \"CHECK_MARKERS\";\n\nexport function actionLoadMarkers(data) {\n return { type: LOAD_MARKERS, data };\n}\n\nexport function actionLoadOrderMarkers(data) {\n return {\n type: LOAD_ORDER_MARKERS,\n data\n };\n}\n\nexport function actionLoadCourierMarkers(data) {\n return {\n type: LOAD_COURIER_MARKERS,\n data\n };\n}\n\nexport function actionLoadDepotMarkers(data) {\n return {\n type: LOAD_DEPOT_MARKERS,\n data\n };\n}\n\nexport function actionUpdateOrderMarker(data) {\n return {\n type: UPDATE_ORDER_MARKER,\n data\n };\n}\n\nexport function actionUpdateOrdersMarkers(data) {\n return {\n type: UPDATE_ORDERS_MARKERS,\n data\n };\n}\n\nexport function actionUpdateCourierMarker(data) {\n return {\n type: UPDATE_COURIER_MARKER,\n data\n };\n}\n\nexport function actionUpdateAllCouriersMarkers(data) {\n return {\n type: UPDATE_ALL_COURIERS_MARKERS,\n data\n };\n}\n\nexport function actionUpdateDepotMarker(data) {\n return {\n type: UPDATE_DEPOT_MARKER,\n data\n };\n}\n\nexport function actionUpdateDepotsMarkers(data) {\n return {\n type: UPDATE_DEPOTS_MARKERS,\n data\n };\n}\n\nexport function actionNewOrderMarker(data) {\n return {\n type: NEW_ORDER_MARKER,\n data\n };\n}\n\nexport function actionUpdateCourierLocationMarker(data) {\n return {\n type: UPDATE_COURIER_LOCATION_MARKER,\n data\n };\n}\n\nexport function actionRemoveMarker(data) {\n return {\n type: REMOVE_MARKER,\n data\n };\n}\n\nexport function actionRemoveMarkers() {\n return {\n type: REMOVE_MARKERS\n };\n}\n\nexport function actionUpdateShowCourierMarker(data) {\n return {\n type: UPDATE_SHOW_COURIER_MARKER,\n data\n };\n}\n\nexport function actionUpdateCouriersMarkers(data) {\n return {\n type: UPDATE_COURIERS_MARKERS,\n data\n };\n}\n\nexport function actionSetShakeMarker(data) {\n return {\n type: SET_SHAKE_MARKER,\n data\n };\n}\n\nexport function actionShakeMarker(data) {\n return {\n type: SHAKE_MARKER,\n data\n };\n}\n\nexport function actionCheckMarkers() {\n return { type: CHECK_MARKERS };\n}\n\nexport function actionExternalCyclesMarkersUpdate(data) {\n return { type: UPDATE_EXTERNAL_CYCLES_MARKERS, data };\n}\n\nexport function actionMarkerUpdate(data) {\n return { type: MARKER_UPDATE, data }\n}\n","import environment from \"environment\";\n\nimport { PUBLIC_DATA_KEYS, TYPE_STORAGE } from \"./enums\";\nimport Interval from \"../services/interval\";\nimport Pusher from \"../services/pusher\";\nimport {\n getStoreData,\n getDecodedData,\n removeData,\n checkDataExpires,\n removeStoredData\n} from \"../services/dataStorage\";\nimport BaseNotification from \"../services/baseNotification\";\nimport User from \"../services/user\";\nimport SentryService from \"../services/sentryService\";\nimport UserPilotService from \"../services/userPilotService\";\n\nexport function getAuthorization() {\n const tokenType = getStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.tokenType,\n true\n );\n const accessToken = getStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.accessToken,\n true\n );\n return `${tokenType} ${accessToken}`;\n}\n\nexport function getUserConnectionData() {\n return getDecodedData(PUBLIC_DATA_KEYS.accessToken, true);\n}\n\nexport function getCurrentUserName() {\n return getStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.currentUserName,\n true\n );\n}\n\nexport function getRememberMe() {\n const rememberMe = getStoreData(\n TYPE_STORAGE.local,\n PUBLIC_DATA_KEYS.rememberMe,\n true\n );\n return String(rememberMe) === \"true\";\n}\n\nexport function getRefreshToken() {\n return getStoreData(\n getRememberMe() ? TYPE_STORAGE.local : TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.refreshToken,\n true\n );\n}\n\nexport function getAccessToken() {\n return getStoreData(\n getRememberMe() ? TYPE_STORAGE.local : TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.accessToken,\n true\n );\n}\n\nexport function removeAccessToken() {\n removeData(PUBLIC_DATA_KEYS.accessToken);\n}\n\nexport function checkAccessToken() {\n if (checkDataExpires(PUBLIC_DATA_KEYS.accessToken, true)) {\n removeAccessToken();\n return false;\n }\n return true;\n}\n\nexport function checkRefreshToken() {\n return !!getRefreshToken();\n}\n\nexport function getUserRole() {\n const token = getUserConnectionData();\n if(!token || Object.keys(token).length === 0) \n return null;\n return token ? (Array.isArray(token.role) ? token.role : [token.role]) : [];\n}\n\nexport function isAuthorized(authorizedRoles) {\n if(!authorizedRoles) return true;\n const roles = getUserRole();\n return authorizedRoles.some(value=> roles.includes(value) || value === environment.USER_ROLES.all);\n}\n\nexport function logout() {\n try {\n SentryService.instance.stop();\n User.instance.setCurrentUserInfo(null); \n Interval.instance.stop(); \n Pusher.instance.destroyPusher();\n removeStoredData();\n BaseNotification.instance.clearInterval();\n UserPilotService.instance.stop();\n } catch(error) {\n console.log(\"Error logout\");\n console.log(error);\n }\n}\n","import React from \"react\";\nimport \"./index.scss\";\nimport classNames from \"classnames\";\n\nimport preloader from \"../../../assets/images/preloader.GIF\";\n\nexport const WaiterSpan = ({\n useClass,\n processing,\n spanText,\n handleOnClick,\n isShake\n}) => {\n return (\n <>\n \n {processing && (\n \"preloader\"/\n )}\n \n {spanText}\n \n \n \n );\n};\n","import React from \"react\";\nimport \"./index.scss\";\nimport classNames from \"classnames\";\nimport preloader from \"../../../assets/images/preloader.GIF\";\n\nexport const WaiterButtonSpan = ({\n useWrapClass,\n useTextClass,\n useClass,\n useSvgClass,\n processing,\n spanText,\n handleOnClick,\n isShake,\n useSvg,\n disabled\n}) => (\n
\n {useSvg && (\n \n \n \n )}\n {processing && (\"preloader\")}\n
\n {!!spanText && ({spanText})}\n
\n);\n","import React from \"react\";\nimport \"./index.scss\";\nimport classNames from \"classnames\";\nimport preloader from \"../../../assets/images/preloader.GIF\";\n\nexport const ButtonDiv = ({\n useClass,\n useIcon,\n processing,\n handleOnClick,\n isShake\n}) => (\n
\n
\n {processing && (\"preloader\")}\n
\n);\n","import React, {useRef, useState} from 'react';\nimport {withTranslation} from 'react-i18next';\nimport {connect} from 'react-redux';\nimport classNames from 'classnames';\n\nimport {WAITER_TYPES} from '../../../utils/enums';\nimport {\n actionResetTooltipData,\n actionUpdateTooltipData,\n} from '../../../store/reducers/tooltipPortal/tooltipPortal-actions';\n\nimport Svg from './Svg';\nimport {Button} from './Button';\nimport {WaiterSpan} from './Span';\nimport {WaiterButtonSpan} from './ButtonSpan';\nimport {ButtonDiv} from './ButtonDiv';\n\nimport 'react-toastify/dist/ReactToastify.css';\n\nconst Waiter = ({\n type,\n useSvg,\n useClass,\n useIcon,\n useWrapClass,\n useTextClass,\n spanText,\n tooltipText,\n tooltipIsHTML,\n useSvgClass,\n disabled,\n inProcess,\n handleOnClick,\n errorMessage,\n stopPropagation,\n updateTooltipData, resetTooltipData\n}) => {\n const isDisable = disabled || inProcess;\n const hoverRef = useRef();\n const [isShake, setShake] = useState(false);\n const [processing, setProcessing] = useState(false);\n const isProcessing = processing || inProcess;\n\n const onClick = e => {\n !!tooltipText && resetTooltipData({ event: e, context: this });\n if (isDisable) return;\n if (stopPropagation && e) e.stopPropagation();\n setProcessing(true);\n\n if (handleOnClick) {\n Promise.resolve(handleOnClick()).then(() => {\n //Fix unmounted component error\n if(hoverRef && hoverRef.current) {\n setProcessing(false);\n }\n }, error => {\n setProcessing(false);\n setShake(true);\n setTimeout(() => {\n setShake(false);\n // toast.error(errorMessage || error || \"Error\");\n }, 500);\n }\n )\n } else {\n //Fix unmounted component error\n if(hoverRef && hoverRef.current) {\n setProcessing(false);\n }\n }\n };\n\n const handleOnMouseEnter = e => {\n if(window.innerWidth < 900) {\n return\n }\n !!tooltipText && updateTooltipData({ tooltipText, ref: hoverRef.current, tooltipIsHTML })\n }\n\n const handleOnMouseLeave = e => {\n !!tooltipText && resetTooltipData({ event: e, context: this })\n }\n\n return (\n
\n {type === WAITER_TYPES.buttonSvg && (\n
\n \n
\n )}\n {type === WAITER_TYPES.button && (\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: data=> dispatch(actionResetTooltipData(data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(Waiter));\n","import { GET, UPDATE } from \"../common-actions\";\n\nexport const EXTERNAL_CYCLES = \"EXTERNAL_CYCLES\";\nexport const EXTERNAL_CYCLES_GET = EXTERNAL_CYCLES + GET;\nexport const EXTERNAL_CYCLES_UPDATE = EXTERNAL_CYCLES + UPDATE;\nexport const EXTERNAL_CYCLES_UPDATE_LIST = EXTERNAL_CYCLES_UPDATE + \"_LIST\";\nexport const EXTERNAL_CYCLES_UPDATE_FROM_COURIER_LOCATIONS = EXTERNAL_CYCLES + \"_UPDATE_FROM_COURIER_LOCATIONS\";\nexport const EXTERNAL_CYCLE_UPDATE = \"EXTERNAL_CYCLE_UPDATE\";\nexport const EXTERNAL_CYCLE_DISBAND = \"EXTERNAL_CYCLE_DISBAND\";\nexport const EXTERNAL_CYCLE_REMOVE = \"EXTERNAL_CYCLE_REMOVE\";\nexport const EXTERNAL_CYCLE_CONFIRM = \"EXTERNAL_CYCLE_CONFIRM\";\nexport const ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE = \"ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE\";\nexport const DELETE_MULTI_ORDER = \"DELETE_MULTI_ORDER\";\nexport const ADD_ORDER_TO_EXTERNAL_CYCLE = \"ADD_ORDER_TO_EXTERNAL_CYCLE\";\nexport const DISBAND_ORDER_FROM_EXTERNAL_CYCLE = \"DISBAND_ORDER_FROM_EXTERNAL_CYCLE\";\nexport const EXTRACT_EXTERNAL_CYCLE_DATA = \"EXTRACT_EXTERNAL_CYCLE_DATA\";\nexport const PUSHER_EXTERNAL_CYCLE_CREATED = \"PUSHER_EXTERNAL_CYCLE_CREATED\";\nexport const PUSHER_EXTERNAL_CYCLE_UPDATED = \"PUSHER_EXTERNAL_CYCLE_UPDATED\";\nexport const PUSHER_EXTERNAL_CYCLE_FINISHED = \"PUSHER_EXTERNAL_CYCLE_FINISHED\";\n\nexport function actionExternalCyclesGet(data) {\n return { type: EXTERNAL_CYCLES_GET, data, additionalParams: { batched: true } };\n}\n\nexport function actionExternalCyclesUpdate(data) {\n return { type: EXTERNAL_CYCLES_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionExternalCyclesUpdateList(data) {\n return { type: EXTERNAL_CYCLES_UPDATE_LIST, data, additionalParams: { batched: true } };\n}\n\nexport function actionExternalCycleUpdate(data) {\n return { type: EXTERNAL_CYCLE_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionAssociateOrderToExternalCycle(data) {\n return { type: ASSOCIATE_ORDER_TO_EXTERNAL_CYCLE, data };\n}\n\nexport function actionDisbandOrderFromExternalCycle(data) {\n return { type: DISBAND_ORDER_FROM_EXTERNAL_CYCLE, data };\n} \n\nexport function actionExtractExternalCycleData(data) {\n return { type: EXTRACT_EXTERNAL_CYCLE_DATA, data };\n}\n\nexport function actionExternalCycleUpdateFromCourierLocations(data) {\n return { type: EXTERNAL_CYCLES_UPDATE_FROM_COURIER_LOCATIONS, data };\n}\n\nexport function actionExternalCycleRemove(data) {\n return { type: EXTERNAL_CYCLE_REMOVE, data };\n}\n\nexport function actionExternalCycleConfirm(data) {\n return { type: EXTERNAL_CYCLE_CONFIRM, data };\n}\n\nexport function actionExternalCycleDisband(data) {\n return { type: EXTERNAL_CYCLE_DISBAND, data };\n}\n","import { ADD, DELETE, UPDATE } from \"../common-actions\";\n\nexport const NOTIFICATION = \"NOTIFICATION\";\nexport const NOTIFICATIONS = \"NOTIFICATIONS\";\nexport const NOTIFICATIONS_LOAD = NOTIFICATIONS + \"_LOAD\";\nexport const NOTIFICATIONS_UPDATE = NOTIFICATIONS + \"_UPDATE\";\nexport const NOTIFICATIONS_RESTART = NOTIFICATIONS + \"_RESTART\";\nexport const NOTIFICATION_ADD = NOTIFICATION + ADD;\nexport const NOTIFICATION_DELETE = NOTIFICATION + DELETE;\nexport const ALARMS = \"ALARMS\";\nexport const ALARMS_ADD = ALARMS + ADD;\nexport const ALARMS_UPDATE_ACTIVE = ALARMS + UPDATE + \"_ACTIVE\";\nexport const ALARMS_UPDATE = ALARMS + UPDATE;\nexport const ALARMS_DELETE = ALARMS + DELETE;\nexport const ALARMS_RESTART = ALARMS + \"_RESTART\";\nexport const ALARMS_BAR_SET_SHOW = \"ALARMS_BAR_SET_SHOW\";\nexport const ACCOUNT_TOP_NOTIFICATION = \"ACCOUNT_TOP_NOTIFICATION\";\nexport const ACCOUNT_TOP_NOTIFICATION_UPDATE = \"ACCOUNT_TOP_NOTIFICATION\" + UPDATE;\n\nexport function actionNotificationUpdate(data) {\n return { type: NOTIFICATIONS_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionAlarmUpdate(data) {\n return { type: ALARMS_UPDATE, data, additionalParams: { batched: true } };\n}\n\nexport function actionAlarmUpdateActive(data) {\n return {\n type: ALARMS_UPDATE_ACTIVE,\n data\n };\n}\n\nexport function actionAlarmAdd(data) {\n return {\n type: ALARMS_ADD,\n data\n };\n}\n\nexport function actionAlarmDelete(data) {\n return {\n type: ALARMS_DELETE,\n data\n };\n}\n\nexport function actionAlarmRestart(data) {\n return {\n type: ALARMS_RESTART,\n data\n };\n}\n\nexport function actionAlarmsBarSetShow(data) {\n return {\n type: ALARMS_BAR_SET_SHOW,\n data\n };\n}\n\nexport function actionAccountTopNotification(data) {\n return { type: ACCOUNT_TOP_NOTIFICATION_UPDATE, data };\n}\n","import { ADD, DELETE, EDIT, GET, UPDATE } from \"../common-actions\";\n\nexport const BILLING_INFO = \"BILLING_BASE_INFO\";\nexport const BILLING_INFO_GET = BILLING_INFO + GET;\nexport const BILLING_INFO_UPDATE = BILLING_INFO + UPDATE;\nexport const BILLING_INFO_UPDATE_DATA = BILLING_INFO_UPDATE + \"_DATA\";\nexport const BILLING_INFO_PLANS_GET = BILLING_INFO + \"_PLANS_GET\";\nexport const BILLING_INFO_PLANS_SET = BILLING_INFO + \"_PLANS_SET\";\nexport const BILLING_INFO_USAGE = \"BILLING_INFO_USAGE\";\nexport const BILLING_INFO_USAGE_GET = BILLING_INFO_USAGE + GET;\nexport const GET_BILLING_CARDS = \"GET_BILLING_CARDS\";\nexport const BILLING_CARD = \"BILLING_CARD\";\nexport const BILLING_CARD_ADD = BILLING_CARD + ADD;\nexport const BILLING_CARD_DELETE = BILLING_CARD + DELETE;\nexport const BILLING_CARD_EDIT = BILLING_CARD + EDIT;\nexport const BILLING_CARD_SET = BILLING_CARD + \"_SET\";\nexport const BILLING_ADDRESSES = \"BILLING_ADDRESSES\";\nexport const BILLING_ADDRESSES_GET = BILLING_ADDRESSES + GET;\nexport const BILLING_ADDRESSES_ADD = BILLING_ADDRESSES + ADD;\nexport const BILLING_ADDRESSES_DELETE = BILLING_ADDRESSES + DELETE;\nexport const BILLING_ADDRESSES_EDIT = BILLING_ADDRESSES + EDIT;\nexport const BILLING_ADDRESSES_SET_ADDRESS = BILLING_ADDRESSES + \"_SET_ADDRESS\";\nexport const SET_BILLING_CARDS = \"SET_BILLING_CARDS\";\nexport const ADD_NEW_BILLING_CARD = \"ADD_NEW_BILLING_CARD\";\nexport const DELETE_BILLING_CARD = \"DELETE_BILLING_CARD\";\nexport const SET_BILLING_ADDRESSES = \"SET_BILLING_ADDRESSES\";\nexport const ADD_NEW_BILLING_ADDRESS = \"ADD_NEW_BILLING_ADDRESS\";\nexport const DELETE_BILLING_ADDRESS = \"DELETE_BILLING_ADDRESS\";\nexport const SET_BILLING_IS_FETCH = \"SET_BILLING_IS_FETCH\";\n\nexport function updateBillingInfo(data) {\n return { type: BILLING_INFO_UPDATE, data };\n};\n\nexport const setBillingPayments = (data) => ({\n type: SET_BILLING_CARDS,\n payload: data\n});\n\nexport const deleteBillingPaymentAC = (payment) => ({\n type: DELETE_BILLING_CARD,\n payload: payment\n});\n\nexport const addNewBillingPayment = (payment) => ({\n type: ADD_NEW_BILLING_CARD,\n payload: payment\n});\n\nexport const setBillingAddresses = (data) => ({\n type: SET_BILLING_CARDS,\n payload: data\n});\n\nexport const deleteBillingAddressAC = (payment) => ({\n type: DELETE_BILLING_CARD,\n payload: payment\n});\n\nexport const addNewBillingAddress = (payment) => ({\n type: ADD_NEW_BILLING_CARD,\n payload: payment\n});\n\nexport const setIsBillingFetch = isFetch => ({\n type: SET_BILLING_IS_FETCH,\n payload: isFetch\n});\n\nexport function updateBillingInfoData(data) {\n return { type: BILLING_INFO_UPDATE_DATA, data };\n};","import React from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { WAITER_TYPES } from '../../../utils/enums';\n\nimport Waiter from '../Waiter/Waiter';\n\nconst IconButton = ({ text, hideTooltip, tooltipText, tooltipIsHTML, iconName, isIcon, isFullWH, active, disabled, onClick }) => (\n
\n {!isIcon && (\n \n )}\n {isIcon && iconName && (\n \n )}\n
\n);\n\nexport default withTranslation()(IconButton);\n","import React from 'react';\nimport {\n AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES,\n AUDIENCE_FILTER_SELECT_GROUP_TYPES,\n CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES,\n CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES,\n CAMPAIGN_PERIOD_TYPES,\n CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES,\n getAudienceFilterType,\n} from '../../../utils/enums.js';\nimport {toast} from 'react-toastify';\nimport classNames from 'classnames';\nimport Dropdown from '../Dropdown/index.js';\nimport {getAudienceFilterModel} from './SectionItemAudienceFilter.jsx';\nimport {getReconciliationsDepots, getTerritoriesEntity} from '../../../services/restaurant.js';\nimport i18n from 'i18next';\n\n// date\nexport const calculateStringTimespan = (value, period) => {\n if (!value || !period) return '00:00:00';\n let totalDays = 0;\n\n switch (period) {\n case CAMPAIGN_PERIOD_TYPES.hours:\n if (value > 24) {\n const hours = value.toString().padStart(2, '0');\n const days = Math.floor(hours / 24) || 0;\n const setDays = days ? days + '.' : '';\n return setDays + (hours - days * 24) + ':00:00';\n }\n\n return value.toString().padStart(2, '0') + ':00:00';\n case CAMPAIGN_PERIOD_TYPES.days:\n totalDays = value;\n break;\n case CAMPAIGN_PERIOD_TYPES.weeks:\n totalDays = value * 7;\n break;\n case CAMPAIGN_PERIOD_TYPES.months:\n totalDays = value * 30; // assuming 30 days in a month\n break;\n default:\n return '00:00:00';\n }\n\n return totalDays + '.00:00:00';\n};\n\nexport const calculateNumber = (value, period) => {\n if (!value || !period) return 0;\n\n if (!value?.includes('.')) {\n const [hours, minutes, seconds] = value?.split(':');\n return +hours + +minutes / 60 + +seconds / 3600;\n }\n\n // Convert the time value into hours\n const [days, time] = value?.split('.');\n const [hours, minutes, seconds] = time?.split(':');\n const totalHours = +days * 24 + +hours + +minutes / 60 + +seconds / 3600;\n\n // Calculate the number based on the given period\n switch (period) {\n case CAMPAIGN_PERIOD_TYPES.weeks:\n return totalHours / 168; // 168 hours in a week\n case CAMPAIGN_PERIOD_TYPES.months:\n return totalHours / 720; // 720 hours in a month (approximation)\n case CAMPAIGN_PERIOD_TYPES.days:\n return totalHours / 24;\n case CAMPAIGN_PERIOD_TYPES.hours:\n return totalHours;\n default:\n throw new Error('Invalid period. Please enter \"weeks\", \"months\", \"days\", or \"hours\".');\n }\n};\n\nexport const getPeriodByDuration = value => {\n if (!value) {\n return 0;\n }\n\n if (!value.includes('.')) {\n return CAMPAIGN_PERIOD_TYPES.hours;\n }\n\n const [days, time] = value.split('.');\n const [hours] = time.split(':');\n\n if (+hours || (+days && +hours)) {\n return CAMPAIGN_PERIOD_TYPES.hours;\n }\n\n if (+days % 30 === 0) {\n return CAMPAIGN_PERIOD_TYPES.months;\n } else if (+days % 7 === 0) {\n return CAMPAIGN_PERIOD_TYPES.weeks;\n } else if (+days % 1 === 0) {\n return CAMPAIGN_PERIOD_TYPES.days;\n }\n\n return CAMPAIGN_PERIOD_TYPES.hours;\n};\n\n// date end\n\n// territories select\n\nexport const getTerritoriesSelect = () => {\n const territories = getTerritoriesEntity() || [];\n territories.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n return (\n territories?.map(territory => {\n if (!territory?.entityId || !territory?.name) return [];\n\n return {\n key: territory.entityId,\n value: territory.name,\n };\n }) || []\n );\n};\n\nexport const getReconciliationsDepotsSelect = () => {\n\n const depots = getReconciliationsDepots();\n\n return (\n depots?.map(depot => {\n if (!depot?.depotId || !depot?.depotName) return [];\n\n return {\n key: depot.depotName,\n value: depot.depotId,\n };\n }) || []\n );\n};\n\n// utils\n\nexport const checkNullField = state => {\n for (let item of state) {\n if (Object.values(item).includes(null)) {\n return true;\n }\n }\n return false;\n};\n\nexport const handleMaxValueError = maxValue => {\n const errorString = i18n\n .t('basic.error.NUMBER_MAX_VALUE_ERROR')\n .replace(\"„{prop}“\", '')\n .replace('{max}', maxValue);\n\n return toast.error(errorString);\n};\n\nexport const handleMinValueError = minValue => {\n const errorString = i18n\n .t('basic.error.NUMBER_MIN_VALUE_ERROR')\n .replace(\"for '{prop}'\", '')\n .replace('{min}', minValue);\n\n return toast.error(errorString);\n};\n\n// utils end\n\n// components\n\nexport const SwitchAudienceType = ({ type, setType }) => {\n return (\n
\n {getAudienceFilterType().map(item => (\n setType(item.key)}\n >\n {item.value}\n
\n ))}\n
\n );\n};\n\nexport const SimpleItemSelect = ({ value, values, handleChange, width }) => {\n const getLabelValue = values?.find(el => el?.key === value);\n\n return (\n
\n handleChange(val)}\n />\n
\n );\n};\n\nexport const SimpleInputItem = ({ value, handleChange, width, type = 'number', isError }) => {\n return (\n
\n
\n handleChange(event.target.value)} />\n
\n
\n );\n};\n\n// components end\n\n// AudienceFilterItem utils\n\nexport const getDaysOffsetTypeByNumber = days => {\n if (days < AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.yesterday) return AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.before;\n if (days > AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.tomorrow) return AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after;\n\n return days;\n};\n\nexport const getTimeSpanModel = ({ data, isEqual }) => {\n if (isEqual) {\n return {\n ...getAudienceFilterModel(data),\n days_offset: data?.days_offset || AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.today,\n };\n }\n return {\n ...getAudienceFilterModel(data),\n string_value: data?.string_value || CAMPAIGN_PERIOD_TYPES.hours,\n timespan_value: data?.timespan_value || 0,\n };\n};\n\nexport const getLookupModel = data => ({\n ...getAudienceFilterModel(data),\n string_value: data?.string_value || null,\n});\n\nexport const getNumericModel = data => ({\n ...getAudienceFilterModel(data),\n double_value: data?.double_value || 0,\n});\n\nexport const getGroupType = selectGroup => {\n const isTimeSpan = Object.values(CAMPAIGN_TIME_SPAN_AUDIENCE_FILTER_TYPES).includes(selectGroup);\n if (isTimeSpan) return AUDIENCE_FILTER_SELECT_GROUP_TYPES.timeSpan;\n\n const isLookup = Object.values(CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES).includes(selectGroup);\n if (isLookup) return AUDIENCE_FILTER_SELECT_GROUP_TYPES.lookup;\n\n const isNumeric = Object.values(CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES).includes(selectGroup);\n if (isNumeric) return AUDIENCE_FILTER_SELECT_GROUP_TYPES.numeric;\n\n return null;\n};\n","import { GET, UPDATE } from \"../common-actions\";\n\nexport const CUSTOMER = \"CUSTOMER\";\nexport const CUSTOMER_GET = CUSTOMER + GET;\nexport const CUSTOMER_UPDATE = CUSTOMER + UPDATE;\nexport const CUSTOMER_WALLET_OPERATION = CUSTOMER + \"_WALLET_OPERATION\";\nexport const CUSTOMER_ADD_BONUS_CARD = CUSTOMER + \"_ADD_BONUS_CARD\";\nexport const CUSTOMER_UPDATE_LOYALTY_LEVEL = CUSTOMER + \"_UPDATE_LOYALTY_LEVEL\";\nexport const CUSTOMER_BLOCK_USER = CUSTOMER + \"_BLOCK_USER\";\nexport const CUSTOMER_UPDATE_COMMENT = CUSTOMER + \"_UPDATE_COMMENT\";\nexport const CUSTOMER_DELETE_VOUCHER = CUSTOMER + \"_DELETE_VOUCHER\";\nexport const CUSTOMER_WALLET_INFO_GET = CUSTOMER + \"_WALLET_INFO\" + GET;\nexport const CUSTOMER_BLOCK_USER_STATUS = CUSTOMER + \"_BLOCK_STATUS\" + GET;\nexport const CUSTOMER_ORDERS_GET = CUSTOMER + \"_ORDERS\" + GET;\nexport const CUSTOMERS = \"CUSTOMERS\";\nexport const CUSTOMERS_GET = CUSTOMERS + GET;\nexport const CUSTOMERS_UPDATE = CUSTOMERS + UPDATE;\nexport const CUSTOMER_REVIEWS = \"CUSTOMER_REVIEWS\";\nexport const CUSTOMER_REVIEWS_GET = CUSTOMER_REVIEWS + GET;\nexport const CUSTOMER_REVIEWS_UPDATE = CUSTOMER_REVIEWS + UPDATE;\n\nexport const actionCustomerReviewUpdate = (data) => ({ type: CUSTOMER_REVIEWS_UPDATE, data });\n\nexport const actionCustomersUpdate = (data) => ({ type: CUSTOMERS_UPDATE, data });\n\nexport const actionCustomerUpdate = (data) => ({ type: CUSTOMER_UPDATE, data });","export function latRad(lat) {\n const sin = Math.sin((lat * Math.PI) / 180);\n const radX2 = Math.log((1 + sin) / (1 - sin)) / 2;\n return Math.max(Math.min(radX2, Math.PI), -Math.PI) / 2;\n}\n\nexport function zoom(mapPx, worldPx, fraction) {\n return Math.floor(Math.log(mapPx / worldPx / fraction) / Math.LN2);\n}\n\nexport const fixedNumber = (n, digit) => {\n return Number(parseFloat(n).toFixed(digit));\n}\n\nexport const beautifyPrice = (n) => {\n const price = parseInt(n).toString();\n const stringPrice = n.toString();\n if(price.length > 3) {\n return `${price.slice(0, price.length-3)},${stringPrice.slice(price.length-3)}`\n }\n return n;\n}","export const SUPPORT_CHAT_SAGA_INIT = \"SUPPORT_CHAT_SAGA_INIT\";\nexport const PULL_SUPPORT_DIALOG = \"PULL_SUPPORT_DIALOG\";\nexport const MARK_RESOLVED_SUPPORT_DIALOG = \"MARK_RESOLVED_SUPPORT_DIALOG\";\nexport const CREATE_NEW_CHAT = \"CREATE_NEW_CHAT\";\nexport const GET_DIALOGS_SUPPORT = \"GET_DIALOGS_SUPPORT\";\nexport const AUTH_SUPPORT_CHAT = \"AUTH_SUPPORT_CHAT\";\n\nexport const SAVE_SUPPORT_CHAT_SESSION = \"SAVE_SUPPORT_CHAT_SESSION\";\nexport const SET_SHOW_SUPPORT_CHAT = \"SET_SHOW_SUPPORT_CHAT\";\nexport const SET_UNREAD_MESSAGES = \"SET_UNREAD_MESSAGES\";\nexport const SET_DIALOGS_SUPPORT_CHAT = \"SET_DIALOGS_SUPPORT_CHAT\";\nexport const ADD_DIALOG_SUPPORT_CHAT = \"ADD_DIALOG_SUPPORT_CHAT\";\nexport const PULLED_SUPPORT_DIALOG = \"PULLED_SUPPORT_DIALOG\";\n\nexport const FRESH_DESK_RESTORE_ID = \"FRESH_DESK_RESTORE_ID\";\nexport const SET_UNREAD_MESSAGE_SAGA = \"SET_UNREAD_MESSAGE_SAGA\";\n\nexport const initSupportChat = (data) => ({\n type: SUPPORT_CHAT_SAGA_INIT,\n payload: data,\n});\n\nexport const pullSupportChat = (chatId) => ({\n type: PULL_SUPPORT_DIALOG,\n payload: {chatId: chatId},\n});\n\nexport const markResolvedSupportChat = (chatId) => ({\n type: MARK_RESOLVED_SUPPORT_DIALOG,\n payload: {chatId: chatId},\n});\n\nexport const saveSupportChatSession = session => ({\n type: SAVE_SUPPORT_CHAT_SESSION,\n payload: session,\n});\n\nexport const setShowSupportChat = flag => ({\n type: SET_SHOW_SUPPORT_CHAT,\n payload: flag,\n});\n\nexport const setDialogsSupportChat = dialogs => ({\n type: SET_DIALOGS_SUPPORT_CHAT,\n payload: dialogs,\n});\n\nexport const addDialogsSupportChat = dialogs => ({\n type: ADD_DIALOG_SUPPORT_CHAT,\n payload: dialogs,\n});\n\nexport const setUnreadMessages = length => ({\n type: SET_UNREAD_MESSAGES,\n payload: length,\n});\n\nexport const pulledSupportChat = chatId => ({\n type: PULLED_SUPPORT_DIALOG,\n payload: chatId,\n});\n\nexport const createNewChat = depotId => ({\n type: CREATE_NEW_CHAT,\n payload: depotId,\n});\n\nexport const FDRestoreId = data => ({ type: FRESH_DESK_RESTORE_ID, data });","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport defaultAvatar from \"../../../assets/images/avatar.png\";\n\nimport Color from \"../../../services/color\";\nimport { getConvertedCloudUrl } from \"../../../utils/image-util\";\n\nexport const Avatar = ({ avatar, color, useIconColorClass, isLarge, isObject, hideIconColor, isDefaultImageEmpty, onClick, title }) => {\n const imgSize = isLarge ? 52 : 35;\n const imgUrl = isObject ? avatar : getConvertedCloudUrl(avatar, imgSize);\n\n return (\n
\n
onClick && onClick(e)}\n >\n {!hideIconColor && ()}\n {!!imgUrl && (\n {`avatar`}\n )}\n {!imgUrl && !isDefaultImageEmpty && ({`avatar`})}\n {!imgUrl && isDefaultImageEmpty && (
)}\n
\n {title &&
{title}
}\n
\n );\n};\n","import {\n COURIER_LOCATION_COLORS,\n COURIER_LOCATION_STATE,\n CYCLE_STATE\n} from \"../utils/enums\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nlet colors = {\n a: [\"#4caf50\", \"#357a38\"],\n b: [\"#f44336\", \"#aa2f26\"],\n d: [\"#9c27b0\", \"#6d1b7b\"],\n c: [\"#e91e63\", \"#a31545\"],\n e: [\"#673ab7\", \"#482880\"],\n o: [\"#64dd17\", \"#469a10\"],\n g: [\"#2196f3\", \"#1769aa\"],\n gg: [\"#00BFFF\", \"#1bc0f7\"],\n q: [\"#c8ff00\", \"#8cb200\"],\n w: [\"#9e9e9e\", \"#6e6e6e\"],\n i: [\"#009986\", \"#006b5e\"],\n s: [\"#ffc107\", \"#b28705\"],\n k: [\"#00e5ff\", \"#00a0b2\"],\n dd: [\"#e040fb\", \"#9c2daf\"],\n n: [\"#00e599\", \"#00a06b\"],\n f: [\"#4862cc\", \"#32448e\"],\n p: [\"#cddc39\", \"#8f9a28\"],\n h: [\"#00bcd4\", \"#008394\"],\n r: [\"#f9e33d\", \"#ae9e2b\"],\n l: [\"#64ffda\", \"#46b298\"],\n t: [\"#bf360c\", \"#852608\"],\n u: [\"#827717\", \"#5b5310\"],\n v: [\"#774f5e\", \"#533742\"],\n bb: [\"#ccff90\", \"#8eb265\"],\n x: [\"#ff6d00\", \"#b24c00\"],\n y: [\"#607d8b\", \"#435761\"],\n z: [\"#fff200\", \"#b2a900\"],\n aa: [\"#80d8ff\", \"#5997b2\"],\n j: [\"#7d9af9\", \"#576bae\"],\n cc: [\"#f06292\", \"#a84466\"],\n m: [\"#7c4dff\", \"#5736b2\"]\n};\nlet colorsForState = {\n green: [\"#69cc90\", \"#4f996c\"],\n yellow: [\"#ffe068\", \"#bfa84e\"],\n red: [\"#ed552b\", \"#b24020\"],\n blue: [\"#487ab8\", \"#365b8a\"]\n};\nlet colorKeys;\nlet usedColors = {};\nlet defaultColor = \"white\";\nlet currentColorIndex = 0;\nexport default class Color {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use Color.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new Color(singletonEnforcer);\n colorKeys = Object.keys(colors);\n colors[defaultColor] = [\"#fff\", \"#d8d8d8\"];\n\n return this[singleton];\n }\n\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n findMinUsesCount() {\n var min = usedColors[colorKeys[0]];\n for (var i = 1; i < colorKeys.length; i++) {\n var count = usedColors[colorKeys[i]];\n if (min > count) min = count;\n }\n return min;\n }\n\n isColorUsed(color) {\n return usedColors[color];\n }\n\n getColor() {\n var colorKey;\n var minCount = this.findMinUsesCount();\n\n do {\n colorKey = colorKeys[currentColorIndex++];\n if (currentColorIndex >= colorKeys.length) currentColorIndex = 0;\n } while (usedColors[colorKey] > minCount);\n usedColors[colorKey]++;\n return colorKey;\n }\n\n getCodesByColorKey(colorKey) {\n return colorKey\n ? colors[colorKey] || colorsForState[colorKey]\n : this.getDefaultCodes();\n }\n\n getCodeByColorKey(colorKey, isDefault = true) {\n var codes = this.getCodesByColorKey(colorKey);\n return codes ? codes[0] : (isDefault ? this.getDefaultCode() : null);\n }\n\n getDefaultCodes() {\n return this.getCodesByColorKey(defaultColor);\n }\n\n getDefaultCode() {\n var codes = this.getCodesByColorKey(defaultColor);\n return codes[0];\n }\n\n getColorForStateLocation(courier) {\n var resultColor = COURIER_LOCATION_COLORS.red;\n\n if(!courier) return resultColor;\n const travelData = courier.travelData || {};\n \n if (travelData.gpsDisabled) {\n return resultColor;\n }\n if ((courier.cycle || {}).state === CYCLE_STATE.started) {\n return COURIER_LOCATION_COLORS.yellow;\n }\n switch (travelData.state) {\n case COURIER_LOCATION_STATE.lost:\n case COURIER_LOCATION_STATE.standing:\n if (!travelData.stoppedAtAllowedLocation)\n resultColor = COURIER_LOCATION_COLORS.red;\n break;\n case COURIER_LOCATION_STATE.moving:\n resultColor = COURIER_LOCATION_COLORS.green;\n break;\n default:\n break;\n }\n\n return resultColor;\n }\n\n freeColor(colorKey) {\n usedColors[colorKey]--;\n if (usedColors[colorKey] < 0) usedColors[colorKey] = 0;\n }\n\n resetColors() {\n colorKeys.forEach(function(colorKey) {\n usedColors[colorKey] = 0;\n });\n currentColorIndex = 0;\n }\n\n getFontColorByBackground(bgColor) {\n const red = this.hexToRGB(bgColor).r;\n const green = this.hexToRGB(bgColor).g;\n const blue = this.hexToRGB(bgColor).b;\n const brightness = Math.sqrt((.241 * (red * red)) + (.671 * (green * green)) + (.068 * (blue * blue)));\n return brightness > 140 ? '#000000' : '#ffffff';\n }\n\n hexToRGB(hex) {\n // #ff00ff\n if (hex.length === 7) {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n return {r, g, b};\n }\n // #f0f\n const r = hex.slice(1, 2);\n const g = hex.slice(2, 3);\n const b = hex.slice(3, 4);\n return {\n r: parseInt(r + r, 16),\n g: parseInt(g + g, 16),\n b: parseInt(b + b, 16),\n };\n }\n}\n","import environment from \"environment\";\nimport DatabaseStorage from \"./databaseStorage\";\nimport { PUBLIC_DATA_KEYS } from \"../utils/enums\";\nimport { getUserConnectionData } from \"../utils/auth-util\";\nimport { TYPE_STORAGE } from \"../utils/enums\";\nimport { isEmpty } from \"../utils/objects-util\";\n\nconst DIVIDER = \"_\";\nconst TIME_KEY = \"time\";\nconst DIVIDER_TIME_KEY = DIVIDER + TIME_KEY;\n\nexport function getStoreData(type, id, isPublic) {\n const key = isPublic ? id : generateKey(id);\n\n switch (type) {\n case TYPE_STORAGE.local:\n case TYPE_STORAGE.session:\n const localStorageData = localStorage[key];\n return !localStorageData ? sessionStorage[key] : localStorageData;\n case TYPE_STORAGE.db:\n return DatabaseStorage.instance.then(instance =>\n instance.getStoreDataByKey(key)\n );\n default:\n break;\n }\n}\n\nexport function saveStoreData(type, id, isPublic, data, expires) {\n const key = isPublic ? id : generateKey(id);\n if (isNaN(expires)) expires = environment.dataExpiresTime;\n const date = new Date();\n const expireTime =\n expires === 0 ? 0 : date.setSeconds(date.getSeconds() + expires);\n\n return new Promise((resolve, reject)=> {\n switch (type) {\n case TYPE_STORAGE.local:\n localStorage.setItem(key + DIVIDER_TIME_KEY, expireTime);\n localStorage.setItem(key, data);\n resolve();\n break;\n case TYPE_STORAGE.session:\n sessionStorage.setItem(key + DIVIDER_TIME_KEY, expireTime);\n sessionStorage.setItem(key, data);\n resolve();\n break;\n case TYPE_STORAGE.db:\n return DatabaseStorage.instance.then(instance =>\n instance.addToStoreData(key, data)\n );\n default:\n resolve();\n break;\n }\n }); \n}\n\nexport function getStoreDataKeys() {\n return DatabaseStorage.instance.then(instance => instance.getStoreDataKeys());\n}\n\nexport function getStoreDataByKey(id) {\n return DatabaseStorage.instance.then(instance =>\n instance.getStoreDataByKey(id)\n );\n}\n\nexport function removeStoredData() {\n removeData(PUBLIC_DATA_KEYS.accessToken);\n removeData(PUBLIC_DATA_KEYS.refreshToken);\n removeData(PUBLIC_DATA_KEYS.tokenType);\n removeData(PUBLIC_DATA_KEYS.rememberMe);\n removeData(PUBLIC_DATA_KEYS.currentUserName);\n}\n\nexport function checkDataExpires(id, isPublic) {\n const timeKey = id.endsWith(DIVIDER_TIME_KEY)\n ? id\n : (isPublic ? id : generateKey(id)) + DIVIDER_TIME_KEY;\n const expireTime = getData(timeKey, true);\n return expireTime === 0 ? false : !expireTime || expireTime < new Date();\n}\n\nexport function getData(id, isPublic) {\n const key = isPublic ? id : generateKey(id);\n const localStorageData = localStorage[key];\n return !localStorageData ? sessionStorage[key] : localStorageData;\n}\n\nexport function saveUserData(response, rememberMe, currentUserName) {\n saveStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.tokenType,\n true,\n response.token_type,\n 0\n );\n saveStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.accessToken,\n true,\n response.access_token,\n response.expires_in || environment.token.lifecookies\n );\n saveStoreData(\n TYPE_STORAGE.local,\n PUBLIC_DATA_KEYS.rememberMe,\n true,\n rememberMe,\n 0\n );\n saveStoreData(\n !rememberMe ? TYPE_STORAGE.session : TYPE_STORAGE.local,\n PUBLIC_DATA_KEYS.refreshToken,\n true,\n response.refresh_token,\n 0\n );\n saveStoreData(\n TYPE_STORAGE.session,\n PUBLIC_DATA_KEYS.currentUserName,\n true,\n currentUserName,\n 0\n );\n}\n\nexport function getDecodedData(id, isPublic) {\n const data = getData(id, isPublic);\n let decodedData = {};\n\n if (data) {\n const splitted = decodeStr(data).split(\".\");\n splitted.forEach(encoded => {\n if (encoded.indexOf(\"-\") > -1 || encoded.indexOf(\"_\") > -1) return;\n try {\n const decoded = decodeURIComponent(window.atob(encoded))\n if(!isEmpty(decoded)) {\n Object.assign(decodedData, JSON.parse(decoded));\n }\n } catch (ex) {}\n });\n }\n return decodedData;\n}\n\nfunction decodeStr(input) {\n input = (input || \"\").replace(/-/g, '+').replace(/_/g, '/');\n\n const pad = input.length % 4;\n if(pad && pad !== 1) {\n input += new Array(5-pad).join('=');\n }\n\n return input;\n}\n\nexport function generateKey(id) {\n const restaurantKey = getUserConnectionData();\n return restaurantKey.rest + DIVIDER + id;\n}\n\nexport function generateIdsFromKeys(keys) {\n const restaurantKey = getUserConnectionData();\n const filteredKeys = keys.filter(key =>\n key.includes(restaurantKey.rest + DIVIDER)\n );\n return filteredKeys.map(key => key.replace(restaurantKey.rest + DIVIDER, \"\"));\n}\n\nexport function removeData(id) {\n let key, timeKey;\n if (id.endsWith(DIVIDER_TIME_KEY)) {\n key = id.substring(0, id.indexOf(DIVIDER_TIME_KEY));\n timeKey = id;\n } else {\n key = generateKey(id);\n timeKey = key + DIVIDER_TIME_KEY;\n const idTime = id + DIVIDER_TIME_KEY;\n localStorage.removeItem(id);\n localStorage.removeItem(idTime);\n sessionStorage.removeItem(id);\n sessionStorage.removeItem(idTime);\n }\n localStorage.removeItem(key);\n localStorage.removeItem(timeKey);\n sessionStorage.removeItem(key);\n sessionStorage.removeItem(timeKey);\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { isEmpty } from '../../../utils/objects-util';\n\nimport IconButton from '../IconButton';\nimport InlineTooltipText from '../InlineTooltipText';\n\nconst FormInfoDataItem = ({ title, value, icon, isInline = false, onClick, isNeverRtl = false, className, hideTooltip }) => {\n return (\n
\n
\n {`${title}${isInline ? ':' : ''}`}  \n {icon && }\n
\n
\n {hideTooltip && value}\n {!hideTooltip && }\n
\n
\n );\n};\n\nexport default FormInfoDataItem;\n","export const ORDEREDIT_UPDATE = \"ORDEREDIT_UPDATE\";\nexport const ORDEREDIT_ORIGINAL_ORDER_UPDATE =\n \"ORDEREDIT_ORIGINAL_ORDER_UPDATE\";\nexport const ORDER_CYCLE_REORDER = \"ORDER_CYCLE_REORDER\";\nexport const ORDEREDIT_SET_NEW_ORDER = \"ORDEREDIT_SET_NEW_ORDER\";\nexport const ORDEREDIT_SET_ORDER = \"ORDEREDIT_SET_ORDER\";\nexport const DND_SET_DATA = \"DND_SET_DATA\";\nexport const DND_CLEAR_DATA = \"DND_CLEAR_DATA\";\nexport const ORDEREDIT_SET_PAYMENT_INTENT = \"ORDEREDIT_SET_PAYMENT_INTENT\";\nexport const ORDEREDIT_SET_CANCEL_OFFER_IDS = \"ORDEREDIT_SET_CANCEL_OFFER_IDS\";\nexport const CHANGE_RECALCULATED_DISCOUNTS = \"CHANGE_RECALCULATED_DISCOUNTS\";\nexport const CHANGE_ORDER_COUPON = \"CHANGE_ORDER_COUPON\";\nexport const ORDEREDIT_ADD_PRODUCTS = \"ORDEREDIT_ADD_PRODUCTS\";\nexport const ORDEREDIT_SET_ORDER_SUMMARY = \"ORDEREDIT_SET_ORDER_SUMMARY\";\nexport const ORDEREDIT_GET_SUMMARY_ORDER = \"ORDEREDIT_GET_SUMMARY_ORDER\";\nexport const CHECK_MENU_CREATE_ORDER = \"CHECK_MENU_CREATE_ORDER\";\nexport const RESET_ORDEREDIT_DATA = \"RESET_ORDEREDIT_DATA\";\n\nexport function actionOrderEditUpdate(data) {\n return {\n type: ORDEREDIT_UPDATE,\n data: data\n };\n}\n\nexport function actionOriginalOrderUpdate(data) {\n return {\n type: ORDEREDIT_ORIGINAL_ORDER_UPDATE,\n data: data\n };\n}\n\nexport function actionOrderEditSetNewOrder(data) {\n return {\n type: ORDEREDIT_SET_NEW_ORDER,\n data: data\n };\n}\n\nexport function actionReorderCycle(data) {\n return {\n type: ORDER_CYCLE_REORDER,\n data: data\n };\n}\n\nexport function actionOrderEditSetOrder(data) {\n return {\n type: ORDEREDIT_SET_ORDER,\n data: data\n };\n}\n\nexport function actionDndSetData(data) {\n return {\n type: DND_SET_DATA,\n data: data\n };\n}\n\nexport function actionDndClearData() {\n return {\n type: DND_CLEAR_DATA\n };\n}\n\nexport function actionOrderEditAddProduct(data) {\n return {\n type: ORDEREDIT_ADD_PRODUCTS,\n data: data\n };\n}\n\nexport function setOrderEditSummary(data) {\n return {\n type: ORDEREDIT_SET_ORDER_SUMMARY,\n data,\n }\n}\n\nexport function setPaymentIntent(data) {\n return {\n type: ORDEREDIT_SET_PAYMENT_INTENT,\n data,\n }\n}","import Store from '../store/store';\n\nimport {\n DEFAULT_ORDERS_GROUPS,\n DELIVERY_STRATEGY,\n ICONS_COURIER_MARKER,\n ICONS_MARKER_TYPE,\n MODEL_TYPE,\n ORDER_STATE,\n ORDER_STATE_COLOR,\n SHIFT_TYPE,\n TYPE_MARKER,\n} from '../utils/enums';\nimport { getRelativeTime, getStaticTime } from '../utils/convertTime';\nimport { isSameObjects } from '../utils/objects-util';\n\nimport MarkerIcons from '../services/markericons';\nimport ColorService from '../services/color';\nimport {\n getCourierColor,\n getETATimeForOrder,\n getExternalCycleShortName,\n getShortName,\n getUserByOrder,\n isRTL,\n} from './userModel';\nimport {\n getAddress,\n getGroupColor,\n getUIName,\n isLastExternalCycleOrder,\n isLastGroupOrder,\n locationIsEmpty,\n} from './order';\nimport { getDepot, getDepotName, getExternalCycleDriverInfo, isDepotMode } from './restaurant';\nimport i18n from '../i18n';\nimport { getInitModel } from './initModels';\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\nvar orderDispatched = 0;\n\nexport default class Markers {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use Markers.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new Markers(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n createMarker(typeMarker, data, ...args) {\n let marker = null;\n\n switch (typeMarker) {\n case TYPE_MARKER.restaurant:\n marker = this.createMarkerRestaurant(data, ...args);\n break;\n case TYPE_MARKER.depotFromBusiness:\n marker = this.createMarkerDepotFromBusiness(data, ...args);\n break;\n case TYPE_MARKER.depot:\n marker = this.createMarkerDepot(data, ...args);\n break;\n case TYPE_MARKER.courier:\n marker = this.createMarkerCourier(data, ...args);\n break;\n case TYPE_MARKER.order:\n marker = this.createMarkerOrder(data, ...args);\n break;\n default:\n break;\n }\n\n return !marker || locationIsEmpty(marker.location) ? null : marker;\n }\n\n createMarkerByModelType(typeMarker, data, ...args) {\n let marker = null;\n\n switch (typeMarker) {\n case MODEL_TYPE.depot:\n marker = this.createMarkerDepot(data, ...args);\n break;\n case MODEL_TYPE.user:\n marker = this.createMarkerCourier(data, ...args);\n break;\n case MODEL_TYPE.serviceCities:\n marker = this.createMarkerServiceCity(data, ...args);\n break;\n case MODEL_TYPE.order:\n marker = this.createMarkerOrder(data, ...args);\n break;\n case MODEL_TYPE.namedPlaces:\n marker = this.createMarkerNamedPlace(data, ...args);\n break;\n case MODEL_TYPE.businessInfoModel:\n marker = this.createBusinessInfoMarker(data, ...args);\n break;\n default:\n break;\n }\n\n return !marker || locationIsEmpty(marker.location) ? null : marker;\n }\n\n createMarkerDepotFromBusiness(business, isWithContent = false) {\n return {\n id: business.id,\n businessId: business.id,\n location: business.location,\n icon: MarkerIcons.instance.addSvgRestouran(),\n cloudUrl: business.header || business.header_mini,\n applicableControlCenters: (business?.applicableControlCenters || []).filter(f=> f),\n content: isWithContent\n ? {\n title: business.name,\n phone: business.phone,\n address: getAddress(business)\n }\n : null,\n markerType: TYPE_MARKER.depot,\n zIndex: 0\n };\n }\n\n createMarkerDepot(depot, isWithContent = false) {\n return {\n id: depot.id,\n businessId: depot.businessId,\n location: depot.address && depot.address.location,\n icon: MarkerIcons.instance.addSvgRestouran(),\n cloudUrl: depot.logoUrl,\n applicableControlCenters: (depot.applicableControlCenters || []).filter(f=> f),\n content: isWithContent\n ? {\n title: depot.name,\n phone: depot.phone,\n address: getAddress(depot.address && depot.address.address)\n }\n : null,\n markerType: TYPE_MARKER.depot,\n zIndex: 0\n };\n }\n\n createMarkerCourier(user, isWithContent = false) {\n let marker = {};\n if(!user || !user.userId || !user.travelData || locationIsEmpty(user.travelData.location)) return null;\n\n user.color = user.color || ColorService.instance.getColor();\n const textValue = getShortName(user);\n const courierColor = getCourierColor(user);\n\n marker.id = user.userId;\n marker.groupId = user.userId;\n marker.icon = MarkerIcons.instance.addItemCourier(\n ICONS_COURIER_MARKER.courier,\n courierColor,\n textValue\n );\n marker.content = isWithContent ? this.getCourierContent(user) : null;\n marker.markerType = TYPE_MARKER.courier;\n marker.location = user.travelData.location;\n marker.controlCenterId = user.controlCenterId || (user.cycle && user.cycle.controlCenterId);\n marker.zIndex = 1;\n\n return marker;\n }\n\n createMarkerServiceCity(order, ...args) {\n return {\n id: order.id,\n location: getInitModel(MODEL_TYPE.location, order.location),\n icon: this.getIconMarker(null, '#007AFF', ICONS_MARKER_TYPE.empty, false),\n markerType: TYPE_MARKER.serviceCity,\n }\n }\n\n createMarkerOrder(order, group, user, active, isWithContent = false, depot) {\n if (!order || !group || !order.location || order.type) return;\n let color = active ? ORDER_STATE_COLOR.blue : getGroupColor(group, order);\n if(!group.isCourierGroup && depot && depot.color) {\n color = depot.color;\n }\n\n const icon = this.getIconMarker(\n order.state,\n color,\n order.markerType,\n group.isCourierGroup || false\n );\n\n return {\n id: order.id,\n orderId: order.orderId,\n icon,\n location: getInitModel(MODEL_TYPE.location, order.location),\n groupId: (group || {}).id,\n controlCenterId: order.controlCenterId,\n isLarge: (users, orders)=> isLastGroupOrder(order.id, orders, getUserByOrder(users, order)),\n markerType: TYPE_MARKER.order\n };\n }\n\n createExternalCycleMarkerOrder(order, externalCycle) {\n if (!order.location || order.type) return;\n return {\n id: order.id,\n orderId: order.orderId,\n icon: this.getIconMarker(order.state, ((externalCycle || {}).color || order.color || ORDER_STATE_COLOR.white), order.markerType, true),\n location: order.location,\n groupId: (externalCycle || {}).id,\n controlCenterId: order.controlCenterId,\n isExternalGroup: true,\n isLarge: (users, orders)=> isLastExternalCycleOrder(order, orders, externalCycle),\n markerType: TYPE_MARKER.order,\n zIndex: 2\n };\n }\n\n createExternalCycleMarkerCourier(externalCycle) {\n const marker = {};\n marker.id = externalCycle.id;\n marker.groupId = externalCycle.id;\n marker.icon = MarkerIcons.instance.addItemCourier(\n ICONS_COURIER_MARKER.courier,\n externalCycle.color,\n getExternalCycleShortName(externalCycle)\n );\n marker.content = {\n title: getExternalCycleDriverInfo(externalCycle, \"name\"),\n info: `${getExternalCycleDriverInfo(externalCycle, \"carModel\")} ${getExternalCycleDriverInfo(externalCycle, \"carNumber\")}`\n };\n marker.markerType = TYPE_MARKER.courier;\n marker.location = externalCycle.travelData && externalCycle.travelData.location;\n marker.isExternalGroup = true;\n marker.controlCenterId = externalCycle.controlCenterId || (externalCycle.travelData && externalCycle.travelData.controlCenterId);\n marker.zIndex = 1;\n\n return marker;\n }\n\n createMarkerRestaurant(id, title, location) {\n return {\n id: id,\n location: location,\n icon: MarkerIcons.instance.addSvgRestouran(),\n content: {\n title: title\n },\n markerType: TYPE_MARKER.restaurant,\n zIndex: 0\n };\n }\n\n createMarkerNamedPlace(place) {\n return {\n id: place.id,\n location: place.address ? place.address.location : null,\n icon: {\n url: MarkerIcons.instance.getPlaceIcon()\n },\n content: {\n title: place.name,\n address: place.address ? getAddress(place.address.address) : \"\"\n },\n draggable: true,\n markerType: TYPE_MARKER.place,\n zIndex: 100\n };\n }\n\n createBusinessInfoMarker(data) {\n return {\n id: data.id,\n icon: data.avatar\n ? MarkerIcons.instance.addSvgDepot(data.avatar)\n : MarkerIcons.instance.addSvgRestouran(),\n location: data.address && data.address.location,\n content: {\n title: data.name,\n address: getAddress(data.address && data.address.address)\n },\n markerType: TYPE_MARKER.depot,\n };\n }\n\n createMarkerByModel = (item, active, id) => {\n if (!item.location) return;\n const location = item.location;\n const addressUser = getAddress(item.address);\n const name = getUIName(item);\n\n let text = \"\";\n const orderId = item.orderId || \"\";\n if (isDepotMode() && item.depotId) {\n text = \"#\" + orderId + \" / \" + getDepotName(item);\n } else if (orderId || name) {\n text = \"#\" + orderId + \" / \" + name;\n }\n\n return {\n id: id || item.id,\n icon: MarkerIcons.instance.addItemType(\n ICONS_MARKER_TYPE.empty,\n active ? \"blue\" : \"white\"\n ),\n location: location,\n address: item.address,\n groupId: DEFAULT_ORDERS_GROUPS.Unsorted,\n content: {\n title: text,\n phone: item.consumerPhone ? item.consumerPhone : \"\",\n address: addressUser ? addressUser : \"\"\n },\n zIndex: active ? 10000 : null,\n markerType: TYPE_MARKER.order\n };\n };\n\n createDefaultMarker(data, markerType = TYPE_MARKER.order) {\n const marker = {\n id: data.id,\n location: {\n latitude: (data.location && (data.location.latitude || data.location.lat)) || 0,\n longitude: (data.location && (data.location.longitude || data.location.lng)) || 0\n },\n content: { title: data.title },\n markerType\n }\n\n switch (markerType) {\n case TYPE_MARKER.order:\n marker.icon = this.getIconMarker(null, null, ICONS_MARKER_TYPE.empty, false);\n break; \n case TYPE_MARKER.depot:\n marker.icon = MarkerIcons.instance.addSvgRestouran();\n break; \n default:\n break;\n }\n\n return marker;\n }\n\n getOrderContent(order) {\n if (!order) return {};\n const depotName = getDepotName(order);\n const contentTitle = isDepotMode() && depotName ? depotName : getUIName(order);\n const orderTime = getRelativeTime(\n Date.parse(order.date),\n i18n.t(\"covertTime.TIME_AGO_LABEL\"),\n isRTL()\n );\n\n return {\n title: `${order.orderId ? (\"#\" + order.orderId + \" / \") : \"\"} ${contentTitle} - ${orderTime}`,\n clientName: `${order.firstName} ${order.lastName}`.trim(),\n eta: getETATimeForOrder(order),\n strategy: order.deliveryStrategy,\n phone: order.consumerPhone,\n address: getAddress(order.address)\n };\n }\n\n getPendingOrderContent(order) {\n if (!order) return {};\n\n return {\n title: (order.id && (\"#\" + order.id)) || \"\",\n strategy: order.deliveryStrategy,\n phone: order.phone || \"\",\n address: getAddress(order.address)\n };\n }\n\n getDepotContent(depot) {\n if (!depot) return {};\n\n return {\n title: depot.name,\n phone: depot.phone,\n address: getAddress(depot.address.address)\n };\n }\n\n getCourierContent(user) {\n if (!user) return {};\n\n return {\n title: `${user.firstName} ${user.lastName}`,\n phone: user.phoneNumber\n };\n }\n\n getIconMarker(state, color, iconState, isMarkerCourier) {\n var iconMarker;\n if (state) {\n iconState = iconState || MarkerIcons.instance.convertStateToIcon(state, orderDispatched);\n iconMarker = (isMarkerCourier || state === ORDER_STATE.ready)\n ? MarkerIcons.instance.addItemType(iconState, color, false)\n : MarkerIcons.instance.addItemType(iconState, color, true);\n if (state === ORDER_STATE.onroute) orderDispatched++;\n } else if (isMarkerCourier) {\n iconMarker = MarkerIcons.instance.addItemType(ICONS_MARKER_TYPE.empty, color, false);\n } else {\n iconMarker = MarkerIcons.instance.addItemType(ICONS_MARKER_TYPE.empty, color, true);\n }\n\n return iconMarker;\n }\n\n getConvertedTargetTime(order) {\n return order.deliveryStrategy === DELIVERY_STRATEGY.concreteTime\n ? getStaticTime(order.targetTime, false, false)\n : null;\n }\n\n getRestaurantMarkers(restaurant, isFromState = false) {\n let markers = [];\n if (!restaurant) {\n if(!isFromState)\n return markers;\n const state = Store.store.getState();\n restaurant = state.restaurant.data;\n }\n\n if (isDepotMode()) {\n markers = restaurant.depots\n .map(depot => this.createMarker(TYPE_MARKER.depot, depot))\n .filter(marker=> marker);\n } else {\n const depot = getDepot(restaurant.depots, null, true);\n \n if(depot) {\n const depotMarker = this.createMarker(\n TYPE_MARKER.restaurant,\n depot.id,\n restaurant.friendlyName,\n (depot.address || {}).location\n );\n\n if(depotMarker) {\n markers.push(depotMarker);\n } \n } \n }\n\n return markers;\n }\n\n canShowMarker(courier, orders) {\n return (\n courier &&\n courier.travelData &&\n !locationIsEmpty(courier.travelData.location) &&\n courier.cycle &&\n (courier.cycle.shiftType === SHIFT_TYPE.Normal || (orders && orders.length))\n );\n }\n\n isNotSameMarkers = (newMarkers, markers, isCheckIcon = true, isCheckContent = false) => {\n return ((newMarkers || []).length !== (markers || []).length) || \n (newMarkers || []).some(newMarker=> {\n const oldMarker = (markers || [])\n .find(marker => marker && newMarker && (marker.id === newMarker.id || (marker.orderId && newMarker.orderId && marker.orderId === newMarker.orderId))); \n const isSame = (!oldMarker && !newMarker) ||\n (oldMarker && newMarker && isSameObjects(oldMarker.location, newMarker.location) &&\n (!isCheckIcon || isSameObjects(oldMarker.icon, newMarker.icon)) &&\n (!isCheckContent || isSameObjects(oldMarker.content, newMarker.content))\n );\n\n switch ((newMarker || {}).markerType) {\n case TYPE_MARKER.order:\n return !isSame || (oldMarker || {}).groupId !== (newMarker || {}).groupId;\n case TYPE_MARKER.courier:\n return !isSame || (oldMarker || {}).groupId !== (newMarker || {}).groupId;\n case TYPE_MARKER.depot:\n return !isSame;\n default:\n return false;\n }\n });\n }\n}\n","export const CHECK_USER_AUTHENTICATION = \"CHECK_USER_AUTHENTICATION\";\nexport const AUTHENTICATION = \"AUTHENTICATION\";\nexport const AUTHENTICATION_SUCCESS = \"AUTHENTICATION_SUCCESS\";\nexport const AUTHENTICATION_FAIL = \"AUTHENTICATION_FAIL\";\nexport const AUTHENTICATION_DEAUTHORIZE = \"AUTHENTICATION_DEAUTHORIZE\";\nexport const AUTHENTICATION_DEAUTHORIZE_FAIL =\n AUTHENTICATION_DEAUTHORIZE + \"_FAIL\";\nexport const AUTHENTICATION_SET = \"AUTHENTICATION_SET\";\nexport const LOGOUT = \"LOGOUT\";\n\nexport function actionAuthenticationSet(data) {\n return {\n type: AUTHENTICATION_SET,\n data: data\n };\n}\n","export const SECTION_MODEL_INIT = \"SECTION_MODEL_INIT\";\nexport const SECTION_MODEL_UPDATE = \"SECTION_MODEL_UPDATE\";\nexport const SECTION_MODEL_UPDATE_MODEL = \"SECTION_MODEL_UPDATE_MODEL\";\nexport const SECTION_MODEL_SCROLL_UPDATE = \"SECTION_MODEL_SCROLL_UPDATE\";\nexport const SECTION_MODEL_REFRESH = \"SECTION_MODEL_REFRESH\";\nexport const SECTION_MODEL_GET = \"SECTION_MODEL_GET\";\n\nexport function actionUpdateSectionModel(data) {\n return { type: SECTION_MODEL_UPDATE, data };\n}\n\nexport function actionUpdateSectionModelData(data) {\n return { type: SECTION_MODEL_UPDATE_MODEL, data };\n}\n\nexport function actionRefreshSectionModel(data) {\n return { type: SECTION_MODEL_REFRESH, payload: data };\n}","import environment from 'environment';\nimport {getUserRole} from '../utils/auth-util';\nimport {\n configurationForDeliveryManager,\n configurationForDeliveryManagerWithDepot,\n defaultRolesManagerConfig,\n getDepotLinksConfiguration,\n getDepotReadonlySectionPages,\n getDepotSectionItemEditConfiguration,\n initRolesManagerConfig,\n} from '../utils/constants';\nimport {\n BASIC_PATH,\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n ROLES_MANAGER_TYPE,\n SHIFTS_MODEL,\n TYPE_SECTION_MODEL,\n} from '../utils/enums';\nimport {currentUserIsDepotRole} from './userModel.js';\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\nexport default class RoleManager {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\"Instantiation failed: use RoleManager.getInstance() instead of new.\");\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new RoleManager(singletonEnforcer);\n this[singleton].setRolesManagerConfiguration();\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n isAuthorized(type, value) {\n if(!value) return\n const roles = getUserRole();\n if(!roles)\n return true;\n const rez = (this.rolesManagerConfiguration || [])\n .some(role=> roles.includes(role.id) && role[type][value.split(\"?\")[0]]);\n if(value === '/marketplace-settings/orderingmenu/orderingMenuCategories/new'){\n }\n return rez\n }\n\n isAccessorAuthorized(typeModel, accessor) {\n const roles = getUserRole();\n if(!roles) {\n return true;\n }\n\n return (this.rolesManagerConfiguration || [])\n .some((role) => {\n return roles.includes(role.id) &&\n (role[ROLES_MANAGER_TYPE.sectionItemEdit][typeModel] || {})[accessor] !== false;\n });\n }\n\n isReadonlyPage(typeModel) {\n const roles = getUserRole();\n if(!roles || !this.rolesManagerConfiguration) {\n return true;\n }\n\n return roles.every((role) => {\n const settings = this.rolesManagerConfiguration.find(s => s.id === role);\n return (settings && settings[ROLES_MANAGER_TYPE.readonlyPage] && settings[ROLES_MANAGER_TYPE.readonlyPage][typeModel]) === true || false;\n });\n }\n\n getFirstAuthorizedLink() {\n return Object.keys(defaultRolesManagerConfig[ROLES_MANAGER_TYPE.menu])\n .find(key=> this.isAuthorized(ROLES_MANAGER_TYPE.menu, key));\n }\n\n setRolesManagerConfiguration() {\n this.rolesManagerConfiguration = [\n currentUserIsDepotRole()\n ? configurationForDeliveryManagerWithDepot\n : configurationForDeliveryManager,\n {\n id: environment.USER_ROLES.controlCenterManager,\n ...defaultRolesManagerConfig,\n ...initRolesManagerConfig,\n [ROLES_MANAGER_TYPE.menu]: {\n ...initRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n [TYPE_SECTION_MODEL.controlCenters]: true,\n [TYPE_SECTION_MODEL.controlCentersEdit]: true,\n [SHIFTS_MODEL.historyEdit]: false,\n [SHIFTS_MODEL.currentShiftDepotEdit]: false,\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n ...initRolesManagerConfig[ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]],\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n },\n },\n {\n id: environment.USER_ROLES.supervisor,\n ...defaultRolesManagerConfig,\n ...initRolesManagerConfig,\n [ROLES_MANAGER_TYPE.menu]: {\n ...initRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n [TYPE_SECTION_MODEL.controlCenters]: true,\n [TYPE_SECTION_MODEL.controlCentersEdit]: true,\n },\n },\n {\n id: environment.USER_ROLES.supportOperator,\n ...defaultRolesManagerConfig,\n [ROLES_MANAGER_TYPE.menu]: {\n // ...initRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n \"/\": false,\n [BASIC_PATH.adminOrders]: true,\n \"/settings\": true,\n \"/marketplace-settings\": true,\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n [TYPE_SECTION_MODEL.personalSettings]: true,\n [SHIFTS_MODEL.historyEdit]: false,\n [SHIFTS_MODEL.currentShiftDepotEdit]: false,\n [MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration]: true,\n [MARKETPLACE_SETTINGS_MODEL.deepLink]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyalty]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaigns]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.campaignsExecutions]: true,\n [MARKETPLACE_SETTINGS_MODEL.appBuilder]: true,\n [MARKETPLACE_SETTINGS_MODEL.pages]: true,\n [MARKETPLACE_SETTINGS_MODEL.pagesNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.pagesEdit]: true,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n ...defaultRolesManagerConfig[ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]],\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.pages]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.campaigns]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.campaigns]}AddButton`]: true,\n },\n },\n {\n id: environment.USER_ROLES.courier,\n ...defaultRolesManagerConfig,\n [ROLES_MANAGER_TYPE.menu]: {\n ...defaultRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n '/': false,\n [BASIC_PATH.editCustomerOrder]: false,\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n },\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: {\n ...[initRolesManagerConfig[ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]],\n [`${[SHIFTS_MODEL.history]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.providers]}DeleteButton`]: false,\n [`${[SHIFTS_MODEL.currentShiftUsers]}DeleteButton`]: false,\n }\n },\n {\n id: environment.USER_ROLES.depot,\n ...defaultRolesManagerConfig,\n [ROLES_MANAGER_TYPE.menu]: {\n ...defaultRolesManagerConfig[ROLES_MANAGER_TYPE.menu],\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: true,\n \"/\": true,\n \"/orders\": true,\n \"/new-order\": true,\n \"/edit-order\": true,\n \"/edit-customer-order\": true,\n \"/assistance\": true,\n \"/menu\": true,\n \"/settings\": true,\n \"/marketplace-settings\": false,\n \"/info\": true,\n \"/pendingorders\": false,\n [TYPE_SECTION_MODEL.personalSettings]: true,\n [TYPE_SECTION_MODEL.users]: false,\n [TYPE_SECTION_MODEL.usersNew]: true,\n [TYPE_SECTION_MODEL.cloudPrinters]: true,\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: true,\n [TYPE_SECTION_MODEL.cloudPrintersNew]: true,\n\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.translations]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.sku]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption]: true,\n // // [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboptionEdit]: true,\n // // [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsDeepLinkEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.gallery]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: true,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink]: true,\n },\n [ROLES_MANAGER_TYPE.readonlyPage]: {\n ...getDepotReadonlySectionPages(),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: false,\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: false,\n },\n [ROLES_MANAGER_TYPE.sectionItemEdit]: getDepotSectionItemEditConfiguration(),\n [ROLES_MANAGER_TYPE[CONTROL_TYPE.linkIconComponent]]: getDepotLinksConfiguration()\n }\n ]\n }\n}\n","import ColorService from \"../services/color\";\nimport {\n ICONS_MARKER_TYPE,\n ICONS_COURIER_MARKER,\n ORDER_STATE\n} from \"../utils/enums\";\nimport { formatString } from \"../utils/objects-util\";\nimport PLACE_URL from \"../assets/images/icons/place_marker.png\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nlet cachedColors = {};\nlet whiteCode = ColorService.instance.getDefaultCode();\n\nlet TEMPLATE =\n '';\nTEMPLATE +=\n '';\nTEMPLATE +=\n '';\nTEMPLATE +=\n '';\n\nlet TEMPLATE_GROUP =\n '';\nTEMPLATE_GROUP +=\n '';\nTEMPLATE_GROUP +=\n '';\nTEMPLATE_GROUP +=\n '';\n\nlet TEMPLATE_EMPTY = \"\";\n\nvar TEMPLATE_POINT =\n '';\n\nlet TEMPLATE_CHECKED =\n '';\n\nlet TEMPLATE_CANCELED =\n '';\n\nlet TEMPLATE_RESTAURANT =\n '';\nTEMPLATE_RESTAURANT +=\n '\t\t';\nTEMPLATE_RESTAURANT +=\n '';\nTEMPLATE_RESTAURANT +=\n '';\n\nlet BTOA_TEMPLATE_RESTAURANT = window.btoa(TEMPLATE_RESTAURANT);\n\nlet TEMPLATE_RESTAURANT_WITH_AVATAR = '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\nTEMPLATE_RESTAURANT_WITH_AVATAR += '';\n\nlet TEMPLATE_COURIER =\n '';\nTEMPLATE_COURIER +=\n '';\nTEMPLATE_COURIER +=\n '{{ dataText }}';\n\nlet TEMPLATE_COURIER_LETTER =\n '';\nTEMPLATE_COURIER_LETTER +=\n '';\n\n//let PLACE_URL = \"../assets/images/icons/place_marker.png\";\n\nexport default class MarkerIcons {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use MarkerIcons.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new MarkerIcons(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getOrderIconSvg(svgData) {\n return {\n url: \"data:image/svg+xml;charset=UTF-8;base64,\" + window.btoa(svgData),\n fillOpacity: 1,\n strokeWeight: 0\n //anchor: new window.google.maps.Point(12, 31)\n };\n }\n\n addSvgEmpty(tmpTemplate) {\n var svgEmpty = tmpTemplate + TEMPLATE_EMPTY;\n return this.getOrderIconSvg(svgEmpty);\n }\n\n addSvgPoint(tmpTemplate) {\n var svgPoint = tmpTemplate + TEMPLATE_POINT;\n return this.getOrderIconSvg(svgPoint);\n }\n\n addSvgChecked(tmpTemplate) {\n var svgChecked = tmpTemplate + TEMPLATE_CHECKED;\n return this.getOrderIconSvg(svgChecked);\n }\n\n addSvgCanseled(tmpTemplate) {\n var svgCanseled = tmpTemplate + TEMPLATE_CANCELED;\n return this.getOrderIconSvg(svgCanseled);\n }\n\n addSvgRestouran() {\n return {\n url:\n \"data:image/svg+xml;charset=UTF-8;base64,\" + BTOA_TEMPLATE_RESTAURANT,\n fillOpacity: 1,\n strokeWeight: 0\n //anchor: new window.google.maps.Point(20, 20)\n };\n }\n\n addSvgDepot(avatarBase64) {\n return {\n url:\n \"data:image/svg+xml;charset=UTF-8;base64,\" +\n window.btoa(\n formatString(TEMPLATE_RESTAURANT_WITH_AVATAR, avatarBase64)\n ),\n fillOpacity: 1,\n strokeWeight: 0\n };\n }\n\n addSvgCourierLight(color) {\n var codes = ColorService.instance.getCodesByColorKey(color);\n return {\n path: \"M7,-7 a16,16 0 1,0 5,0\",\n fillColor: color ? codes[1] : whiteCode[1],\n fillOpacity: 1,\n strokeColor: color ? codes[0] : whiteCode[0],\n strokeWeight: 8\n };\n }\n\n addSvgCourier(color, textValue) {\n var codes = ColorService.instance.getCodesByColorKey(color);\n var svgData = TEMPLATE_COURIER.replace(\n \"{{ bgcolor }}\",\n codes ? codes[0] : whiteCode[0]\n ).replace(\"{{ circleColor }}\", codes ? codes[1] : whiteCode[1]);\n try {\n svgData = svgData\n .replace(\n \"{{ dataText }}\",\n textValue ? unescape(encodeURIComponent(textValue)) : \"\"\n )\n .replace(\n \"{{ position }}\",\n textValue && textValue.length > 1 ? \"12\" : \"16\"\n );\n return {\n url: \"data:image/svg+xml;charset=UTF-8;base64,\" + window.btoa(svgData),\n fillOpacity: 1,\n strokeWeight: 0,\n anchor: null //new window.google.maps.Point(20, 20)\n };\n } catch (e) {\n console.error(\"Error marker icons:* \", e)\n return {\n url: \"\",\n fillOpacity: 1,\n strokeWeight: 0,\n anchor: null //new window.google.maps.Point(20, 20)\n };\n }\n }\n\n addSvgCourierLetter(color) {\n var codes = ColorService.instance.getCodesByColorKey(color);\n var svgData = TEMPLATE_COURIER_LETTER.replace(\n \"{{ bgcolor }}\",\n codes ? codes[0] : whiteCode[0]\n ).replace(\"{{ circleColor }}\", codes ? codes[1] : whiteCode[1]);\n return {\n url: \"data:image/svg+xml;charset=UTF-8;base64,\" + window.btoa(svgData),\n fillOpacity: 1,\n strokeWeight: 0\n //anchor: new window.google.maps.Point(20, 20)\n };\n }\n\n addItemType(iconType, color, isGroup) {\n const isNotKey = (color && color.includes(\"#\"));\n var colorKey = iconType + (color || \"white\");\n var svgMarker = cachedColors[colorKey];\n if (svgMarker) return svgMarker;\n var tmpTemplate;\n var codes = isNotKey\n ? [color, \"#fff\"]\n : ColorService.instance.getCodesByColorKey(color);\n \n if (isGroup && codes && !isNotKey) {\n tmpTemplate = TEMPLATE_GROUP.replace(\"{{ stcolor }}\", codes[0]).replace(\n \"{{ circleColor }}\",\n codes[1]\n );\n } else {\n tmpTemplate = TEMPLATE.replace(\n \"{{ bgcolor }}\",\n codes ? codes[0] : whiteCode[0]\n ).replace(\"{{ circleColor }}\", codes ? codes[1] : whiteCode[1]);\n }\n switch (iconType) {\n case ICONS_MARKER_TYPE.empty:\n svgMarker = this.addSvgEmpty(tmpTemplate);\n break;\n case ICONS_MARKER_TYPE.point:\n svgMarker = this.addSvgPoint(tmpTemplate);\n break;\n case ICONS_MARKER_TYPE.canseled:\n svgMarker = this.addSvgCanseled(tmpTemplate);\n break;\n case ICONS_MARKER_TYPE.checked:\n svgMarker = this.addSvgChecked(tmpTemplate);\n break;\n default:\n break;\n }\n svgMarker.markerType = iconType;\n svgMarker.color = color;\n cachedColors[colorKey] = svgMarker;\n return svgMarker;\n }\n\n addItemCourier(iconType, color, textValue) {\n var svgMarker;\n switch (iconType) {\n case ICONS_COURIER_MARKER.courierletter:\n svgMarker = this.addSvgCourierLetter(color);\n break;\n case ICONS_COURIER_MARKER.courier:\n svgMarker = this.addSvgCourier(color, textValue);\n break;\n case ICONS_COURIER_MARKER.courierlight:\n svgMarker = this.addSvgCourierLight(color);\n break;\n default:\n break;\n }\n\n return svgMarker;\n }\n\n convertStateToIcon(orderState, orderDispatched) {\n var iconState = ICONS_MARKER_TYPE.empty;\n switch (orderState) {\n case ORDER_STATE.new:\n case ORDER_STATE.kitchen:\n case ORDER_STATE.ready:\n iconState = ICONS_MARKER_TYPE.empty;\n break;\n case ORDER_STATE.onroute:\n iconState =\n orderDispatched > 0\n ? ICONS_MARKER_TYPE.empty\n : ICONS_MARKER_TYPE.point;\n break;\n case ORDER_STATE.delivered:\n iconState = ICONS_MARKER_TYPE.checked;\n break;\n case ORDER_STATE.canceled:\n iconState = ICONS_MARKER_TYPE.canseled;\n break;\n default:\n break;\n }\n return iconState;\n }\n\n convertPickUpStateToIcon(orderState, orderDispatched) {\n var iconState = ICONS_MARKER_TYPE.empty;\n switch (orderState) {\n case ORDER_STATE.new:\n iconState =\n orderDispatched > 0\n ? ICONS_MARKER_TYPE.empty\n : ICONS_MARKER_TYPE.point;\n break;\n case ORDER_STATE.kitchen:\n iconState = ICONS_MARKER_TYPE.checked;\n break;\n default:\n break;\n }\n return iconState;\n }\n\n getPlaceIcon() {\n return PLACE_URL;\n }\n}\n","import PusherJS from \"pusher-js\";\nimport environment from \"environment\";\nimport Store from \"../store/store\";\n\nimport User from \"./user\";\nimport { getPusherChannelName } from \"./restaurant\";\nimport { isShowControlCenterSearch } from \"./userModel\";\n\nimport { getAuthorization } from \"../utils/auth-util\";\nimport { PUSHER_CONNECTION_STATE } from \"../utils/enums\";\n\nimport { PUSHER_COURIER_LOCK_UPDATE, PUSHER_COURIER_SHIFT_CREATED, PUSHER_DEPOT_CYCLE_REFRESH, PUSHER_USER_DELETED, PUSHER_USER_UPDATED } from \"../store/reducers/userModel/userModel-actions\";\nimport { PUSHER_ASSISTANCE_UPDATE, PUSHER_CONSUMER_ORDER_ARRIVED, PUSHER_CYCLE_REORDER, PUSHER_GROUP_LOCK_UPDATE, PUSHER_GROUP_REORDER, PUSHER_GROUP_UPDATE, PUSHER_NEW_ORDER, PUSHER_ORDER_STATE_UPDATE, PUSHER_UPDATE_ORDER } from \"../store/reducers/order/order-actions\";\nimport { PUSHER_CYCLE_DISPATCHED, PUSHER_CYCLE_ROUTE_UPDATE, PUSHER_CYCLE_STATE_UPDATE, PUSHER_MANUAL_ASSOCIATE_UPDATE, PUSHER_MANUAL_UNASSOCIATE_UPDATE, PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST, PUSHER_SET_AWAY } from \"../store/reducers/common-actions\";\nimport { PUSHER_DEPOT_SERVICES_REFRESH, PUSHER_RESTAURANT_STATE_UPDATE } from \"../store/reducers/restaurant/restaurant-actions\";\nimport { NOTIFICATIONS_RESTART, NOTIFICATION_ADD, NOTIFICATION_DELETE } from \"../store/reducers/notification/notification-actions\";\nimport { PUSHER_EXTERNAL_CYCLE_CREATED, PUSHER_EXTERNAL_CYCLE_FINISHED, PUSHER_EXTERNAL_CYCLE_UPDATED } from \"../store/reducers/externalCycles/externalCycles-actions\";\nimport {GET_DIALOGS_SUPPORT} from \"../store/reducers/supportChat/supprtChat-actions\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class Pusher {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use Pucher.getInstance() instead of new.\"\n );\n\n this.subscribeAllChannels = this.subscribeAllChannels.bind(this);\n this.initCheckPusherChannels = this.initCheckPusherChannels.bind(this);\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new Pusher(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n initPusher() {\n if(this.pusher) {\n if(this.pusher.connection && this.pusher.connection.state !== PUSHER_CONNECTION_STATE.connecting) {\n this.pusher.disconnect();\n this.pusher = null;\n } \n } else {\n this.pusher = new PusherJS(environment.pusherAppKey, {\n authEndpoint: environment.pusherAuthEndpoint,\n cluster: environment.pusherCluster,\n encrypted: true,\n disableStats: true,\n enabledTransports: [\"ws\"],\n auth: { headers: { Authorization: getAuthorization() } },\n });\n \n this.pusher.connection.bind(PUSHER_CONNECTION_STATE.connected, ()=> {\n this.subscribeAllChannels();\n this.initCheckPusherChannels();\n }); \n } \n }\n\n destroyPusher() {\n try {\n this.clearCheckPusherChannels();\n this.unsubscribeAllChannels();\n this.setControlCenterMultiChannel([]);\n \n if(this.pusher) {\n this.pusher.disconnect();\n } \n } catch (err) {\n }\n }\n\n initCheckPusherChannels() {\n this.intervalId = setInterval(this.checkPusherChannels.bind(this), 20000);\n }\n\n clearCheckPusherChannels() {\n if(this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n checkPusherChannels() {\n const currentUser = User.instance.getCurrentUserInfo();\n if(currentUser) {\n this.resubscribeUpdatedControlCenters();\n } \n }\n\n subscribeChannel(channelName) {\n const keys = Object.keys(this.pusherEvents()); \n if(channelName && !this.channelIsSubscribed(channelName) && !this.checkChannelState(channelName)) {\n if(this.pusher) {\n const channel = this.pusher.subscribe(channelName);\n keys.forEach(key => {\n const keyValue = this.pusherEvents()[key];\n if(key && keyValue) {\n channel.bind(key, (data) => {\n Store.store.dispatch({ type: keyValue, data});\n });\n }\n });\n } \n }\n }\n\n unsubscribeChannel(channelName) {\n const keys = Object.keys(this.pusherEvents());\n if(channelName && \n this.pusher && \n this.pusher.connection && \n this.pusher.connection.state === PUSHER_CONNECTION_STATE.connected\n ) {\n keys.forEach(key => {\n if(key && this.pusherEvents()[key]) {\n this.pusher.unsubscribe(channelName);\n } \n });\n }\n }\n\n setControlCenterMultiChannel(controlCenter) {\n this.controlCenterChannelMulti = controlCenter;\n }\n\n getControlCenterChannel() {\n return this.controlCenterChannel;\n }\n\n getControlCenterMultiChannel() {\n return this.controlCenterChannelMulti;\n }\n\n setShiftHistoryFilterStateChannel(shiftHistoryFilterState) {\n this.shiftHistoryFilterState = shiftHistoryFilterState;\n }\n\n getShiftHistoryFilterStateChannel() {\n return this.shiftHistoryFilterState;\n }\n\n setShiftProviderHistoryFilterStateChannel(shiftProviderHistoryFilterState) {\n this.shiftProviderHistoryFilterState = shiftProviderHistoryFilterState;\n }\n\n getShiftProviderHistoryFilterStateChannel() {\n return this.shiftProviderHistoryFilterState;\n }\n\n subscribeAllChannels() {\n if(!this.channels) {\n this.channels = this.getAllChannels();\n }\n \n this.channels.forEach(channel => {\n this.subscribeChannel(channel);\n });\n }\n\n unsubscribeAllChannels() {\n const channels = this.channels || this.getAllChannels();\n channels.forEach(channel => {\n this.unsubscribeChannel(channel);\n }); \n this.channels = null;\n this.controlCenterChannel = undefined;\n }\n\n resubscribeUpdatedControlCenters() {\n if(!this.getMainChannelName()) \n return;\n \n if(this.pusher) {\n const pusherChannels = this.pusher.allChannels();\n const controlCenterChannels = this.getAllChannels();\n\n pusherChannels.forEach(pusherChannel => {\n if(!controlCenterChannels.includes(pusherChannel.name)) {\n this.unsubscribeChannel(pusherChannel.name);\n }\n });\n\n controlCenterChannels.forEach(controlCenterChannel=> {\n const channel = this.pusher.channel(controlCenterChannel);\n if(!channel) {\n this.subscribeChannel(controlCenterChannel);\n }\n });\n } else {\n this.initPusher();\n }\n }\n\n getAllChannels() {\n const currentUser = User.instance.getCurrentUserInfo();\n\n let channels = [];\n if(this.getMainChannelName()) {\n channels.push(this.getMainChannelName());\n\n //check if current user has control center\n if(currentUser && currentUser.controlCenterId) {\n channels.push(`${this.getMainChannelName()}-${currentUser.controlCenterId}`);\n }\n\n //check if user select control center\n if(isShowControlCenterSearch() && this.controlCenterChannelMulti && this.controlCenterChannelMulti.length) {\n this.controlCenterChannelMulti.forEach(controlCenterChannel => {\n channels.push(`${this.getMainChannelName()}-${controlCenterChannel}`);\n })\n }\n }\n\n return channels;\n }\n\n getCurrentControlCenters = () => {\n const controlCenters = [];\n const currentUser = User.instance.getCurrentUserInfo();\n \n controlCenters.push(getPusherChannelName());\n if(currentUser && currentUser.controlCenterId) {\n controlCenters.push(currentUser.controlCenterId);\n }\n\n if(isShowControlCenterSearch() && this.controlCenterChannel) {\n controlCenters.push(this.controlCenterChannel);\n }\n\n return controlCenters;\n }\n\n checkChannelState(channelName, state = PUSHER_CONNECTION_STATE.connecting) {\n if(!channelName) return false;\n\n const channel = this.pusher && this.pusher.channel(channelName); \n return channel && \n channel.pusher && \n channel.pusher.connection && \n channel.pusher.connection.state === state;\n }\n\n channelIsSubscribed(channelName) {\n if(!channelName) return false;\n const channel = this.pusher && this.pusher.channel(channelName);\n return channel && channel.subscribed;\n }\n\n getMainChannelName = () => {\n const mainChannel = getPusherChannelName();\n return mainChannel && `private-${mainChannel}`;\n }\n\n pusherEvents = () => {\n return {\n courier_lock_update: PUSHER_COURIER_LOCK_UPDATE,\n group_update: PUSHER_GROUP_UPDATE,\n new_order: PUSHER_NEW_ORDER,\n order_state_update: PUSHER_ORDER_STATE_UPDATE,\n update_order: PUSHER_UPDATE_ORDER,\n cycle_state_update: PUSHER_CYCLE_STATE_UPDATE,\n cycle_dispatched: PUSHER_CYCLE_DISPATCHED,\n cycle_reorder: PUSHER_CYCLE_REORDER,\n cycle_route_update: PUSHER_CYCLE_ROUTE_UPDATE,\n courier_shift_created: PUSHER_COURIER_SHIFT_CREATED,\n manual_associate_update: PUSHER_MANUAL_ASSOCIATE_UPDATE,\n group_reorder: PUSHER_GROUP_REORDER,\n manual_unassociate_update: PUSHER_MANUAL_UNASSOCIATE_UPDATE,\n set_away: PUSHER_SET_AWAY,\n manual_unassociate_update_list: PUSHER_MANUAL_UNASSOCIATE_UPDATE_LIST,\n user_updated: PUSHER_USER_UPDATED,\n user_deleted: PUSHER_USER_DELETED,\n resaurant_state_update: PUSHER_RESTAURANT_STATE_UPDATE,\n group_lock_update: PUSHER_GROUP_LOCK_UPDATE,\n assistance_update: PUSHER_ASSISTANCE_UPDATE,\n depot_cycle_refresh: PUSHER_DEPOT_CYCLE_REFRESH,\n notification_added: NOTIFICATION_ADD,\n notification_deleted: NOTIFICATION_DELETE,\n notification_service_restart: NOTIFICATIONS_RESTART,\n consumer_order_arrived: PUSHER_CONSUMER_ORDER_ARRIVED,\n depots_services_refresh: PUSHER_DEPOT_SERVICES_REFRESH,\n external_cycle_created: PUSHER_EXTERNAL_CYCLE_CREATED,\n external_cycle_updated: PUSHER_EXTERNAL_CYCLE_UPDATED,\n external_cycle_finished: PUSHER_EXTERNAL_CYCLE_FINISHED,\n pending_chat_update: GET_DIALOGS_SUPPORT,\n }\n };\n}\n","import i18n from '../../../i18n';\n\nexport const UPDATE_TOOLTIP_DATA = 'UPDATE_TOOLTIP_DATA';\n\nexport function actionUpdateTooltipData(data) {\n if (data && data.ref) {\n const position = data.ref.getBoundingClientRect();\n\n if (data.tooltipText === i18n.t('datetimepicker.TITLE_BUTTON')) {\n position.x -= position.width / 2 + 10;\n }\n\n return {\n type: UPDATE_TOOLTIP_DATA,\n data: {\n tooltipText: data.tooltipText,\n position: position,\n isNeverRtl: data.isNeverRtl,\n tooltipIsHTML: data.tooltipIsHTML,\n },\n };\n } else {\n return { type: UPDATE_TOOLTIP_DATA, data: { position: null, tooltipText: '', isNeverRtl: false } };\n }\n}\n\nexport function actionResetTooltipData(data) {\n return { type: UPDATE_TOOLTIP_DATA, data: { ...data, position: null, tooltipText: '', isNeverRtl: false } };\n}\n","export default class ControlModel {\n constructor({ type, action, url, text, hideTooltip, tooltipText, icon, value, items, isLayout, isShow, openCourierShiftPopup, openDateRange, customStyles, customClassName, width, callback }) {\n this.type = type;\n this.action = action;\n this.url = url;\n this.text = text;\n this.tooltipText = tooltipText;\n this.icon = icon;\n this.value = value;\n this.items = items;\n this.width = width;\n this.isLayout = isLayout;\n this.isShow = isShow;\n this.openCourierShiftPopup = openCourierShiftPopup;\n this.callback = callback;\n this.customStyles = customStyles;\n this.customClassName = customClassName;\n this.openCourierShiftPopup = openCourierShiftPopup;\n this.openDateRange = openDateRange;\n this.hideTooltip = hideTooltip;\n }\n}\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport { getRelativeTime, isAfterDateByCurrent, timeToMinutesRelative } from \"../../../utils/convertTime\";\nimport { isRTL } from \"../../../services/userModel\";\n\nclass TimeBox extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n componentDidMount() {\n this.setRelativeTime();\n this.intervalId = setInterval(this.setRelativeTime.bind(this), 1000);\n }\n\n componentWillUnmount() {\n clearInterval(this.intervalId);\n }\n\n getTitle = (checkShortLabel = false) => {\n const { title, relativeTime, shortLabel } = this.props;\n return typeof title === \"function\"\n ? title(relativeTime)\n : (checkShortLabel ? ((!shortLabel && title) || \"\") : title);\n }\n\n setRelativeTime = () => {\n const { t, date, isRelativeFromCurrent, isHideTitle, shortLabel, onUpdate } = this.props;\n onUpdate && onUpdate();\n if (!date || !t) return;\n this.setState({\n relativeTime: isRelativeFromCurrent\n ? timeToMinutesRelative(date)\n : getRelativeTime(Date.parse(date), (!isHideTitle && this.getTitle()) || \"\", isRTL(), shortLabel)\n });\n };\n\n render() {\n const { relativeTime } = this.state;\n const { t, isRelativeFromCurrent, shortLabel, isAgoLabel, date, smallText } = this.props;\n\n return (\n
\n {!isRelativeFromCurrent && (\n
\n {this.getTitle(true) && (
{this.getTitle(true) || \"\"} 
)}\n
{relativeTime || \"\"}
\n {isAgoLabel && isAfterDateByCurrent(date) && !shortLabel && (
 {t(\"covertTime.TIME_AGO_LABEL\")}
)}\n
\n )}\n {isRelativeFromCurrent && !!relativeTime && (
\n
\n {date && this.getTitle() && (
 {date && this.getTitle()}
)}\n {!!relativeTime && (
 {relativeTime}
)}\n
 {shortLabel ? t(\"covertTime.TIME_MIN_SHORT\") : t(\"covertTime.TIME_MIN\")}
\n {isAgoLabel && isAfterDateByCurrent(date) && (
 {t(\"covertTime.TIME_AGO_LABEL\")}
)}\n
\n
)}\n
\n );\n }\n}\n\nexport default withTranslation()(TimeBox);\n","module.exports = __webpack_public_path__ + \"static/media/preloader.b36d1321.GIF\";","import React from \"react\";\nimport Modal from \"react-modal\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nexport const ModalPopup = ({\n isOpen,\n onClose,\n content,\n width,\n height,\n isOverModal,\n containerModalClass\n}) => (\n \n {content}\n \n);\n","import React, {createRef, PureComponent} from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {isRTL} from \"../../../services/userModel\";\nimport {sortItemsByProp} from \"../../../services/filter\";\nimport {defaultPromiseResolve, isEmpty} from \"../../../utils/objects-util\";\n\nimport IconButton from \"../IconButton\";\n\nclass Dropdown extends PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n beforeValue: '',\n valueText: props.value === 0 ? props.value : props.value || \"\",\n isOpen: false\n };\n\n this.ref = createRef();\n }\n\n componentDidMount() {\n document.addEventListener(\"click\", this.handleClickOutside, false);\n }\n\n componentWillUnmount() {\n try {\n document.removeEventListener(\"click\", this.handleClickOutside, false);\n } catch(e) {}\n }\n\n componentDidUpdate(prevProps, prevState) {\n\n const { value } = this.props;\n if (value !== prevProps.value) {\n this.setState({ valueText: value || \"\" });\n }\n }\n\n isExistValue = (values, propName, value) => {\n return values.find(item => !item.skipForExistCheck && this.getLabelItemValue(item, propName) === value);\n };\n\n onInputChange = inputValue => {\n const { values, searchBy, onChange, onRemove, canPrint = true } = this.props;\n if(!canPrint) return\n\n if(onChange)\n onChange(inputValue);\n if(onRemove && !inputValue)\n onRemove();\n this.setState({ valueText: inputValue || \"\", isOpen: true });\n\n const existValue = this.isExistValue(values, searchBy, inputValue)\n if(existValue) {\n this.handleOnSelectItem(existValue, true);\n }\n };\n\n handleClickOutside = event => {\n if (this.ref && this.ref.current && !this.ref.current.contains(event.target)) {\n this.setState({ isOpen: false });\n\n const { valueText, beforeValue } = this.state;\n const { isCanBeEmpty, values, searchBy, ignoreBeforeValue } = this.props;\n const isCanBeEmptyValue = isCanBeEmpty ?? true;\n\n const existValue = this.isExistValue(values, searchBy, valueText);\n\n if(!ignoreBeforeValue) {\n if((valueText === '' && !isCanBeEmptyValue) || (isCanBeEmptyValue && !existValue)) {\n this.setState({ valueText: beforeValue, isOpen: false });\n }\n }\n }\n };\n\n handleOnBlur = () => {\n const { valueText, beforeValue } = this.state;\n const { isCanBeEmpty } = this.props;\n const isCanBeEmptyValue = isCanBeEmpty ?? true;\n\n if(valueText === '' && !isCanBeEmptyValue) {\n this.setState({ valueText: beforeValue, isOpen: false });\n }\n }\n\n handleOnClick = () => {\n const { isOpen } = this.state;\n const { readonly, values, searchBy } = this.props;\n\n if(!readonly) {\n const { valueText, beforeValue } = this.state\n\n const existValue = this.isExistValue(values, searchBy, valueText)\n\n this.setState({ isOpen: !isOpen });\n this.setState({ beforeValue: existValue ? valueText : beforeValue});\n }\n };\n\n handleOnSelectItem = (item, withoutClose) => {\n const { onSelect } = this.props;\n const { isOpen } = this.state;\n this.setState({ valueText: this.getLabelItemValue(item), isOpen: withoutClose ? isOpen : false, textWasChanged: false }, () => onSelect(item));\n };\n\n getLabelItemValue = (item, prop) => {\n const labelField = prop || this.props.labelField;\n let labelValue = \"\";\n\n if(Array.isArray(labelField)) {\n labelField.forEach(element => {\n if(!isEmpty(item[element]))\n labelValue += ` ${item[element]}`;\n });\n } else {\n labelValue = item[labelField || \"value\"];\n }\n\n return labelValue || \"\";\n }\n\n getItems = () => {\n const { values, searchBy, sortBy, searchOff } = this.props;\n const { valueText } = this.state;\n\n const items = valueText && !searchOff && !this.isExistValue(values, searchBy, valueText)\n ? values.filter(item => this.getLabelItemValue(item, searchBy).toString()?.toLowerCase()?.includes(valueText?.toString()?.toLowerCase()))\n : values;\n\n return items && (sortBy ? sortItemsByProp(items, sortBy) : items);\n }\n\n handleOnFocus = () => {\n const { onFocus, readonly } = this.props;\n if(!readonly && onFocus) {\n onFocus();\n }\n }\n\n render() {\n const {\n placeholder,\n valueField,\n readonly,\n isRequired,\n isChanged,\n isColors,\n accentuationValue,\n isAccentuationByValue\n } = this.props;\n const { valueText, isOpen } = this.state;\n\n return (\n
\n
\n !readonly && this.onInputChange(e.currentTarget.value)}\n onFocus={this.handleOnFocus}\n onBlur={this.handleOnBlur}\n />\n {isColors && valueText && (\n \n )}\n
\n
\n
\n
\n
\n {this.getItems().map((item, index) => (\n
!item?.isGroupTitle && this.handleOnSelectItem(item)}\n >\n
{this.getLabelItemValue(item)}
\n {!isColors && ((accentuationValue && accentuationValue === this.getLabelItemValue(item)) ||\n (isAccentuationByValue && valueText === this.getLabelItemValue(item))) && (\n \n )}\n {isColors && (\n \n )}\n {isColors && ((accentuationValue && accentuationValue === this.getLabelItemValue(item)) ||\n (isAccentuationByValue && valueText === this.getLabelItemValue(item))) && (\n \n )}\n
\n ))}\n
\n
\n );\n }\n}\n\nexport default Dropdown;\n","import React, { useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport RoleAvatar from \"../RoleAvatar\";\n\nimport { USER_ROLES } from \"../../../utils/enums\";\n\nconst config = [\n {\n id: \"deliveryManager\",\n activeDepth: \"deliveryManager\",\n tooltip: \"USER_ROLE_MANAGER_TOOLTIP\"\n },\n {\n id: \"courier\",\n activeDepth: \"courier\",\n tooltip: \"USER_ROLE_COURIER_TOOLTIP\"\n },\n {\n id: \"supportOperator\",\n activeDepth: \"supportOperator\",\n tooltip: \"USER_ROLE_SUPPORT_OPERATOR_TOOLTIP\"\n },\n {\n id: \"supervisor\",\n activeDepth: \"supervisor\",\n tooltip: \"USER_ROLE_SUPERVISOR_TOOLTIP\"\n },\n {\n id: \"depot\",\n activeDepth: \"depot\",\n tooltip: \"USER_ROLE_DEPOT_TOOLTIP\"\n },\n {\n id: \"controlCenterManager\",\n activeDepth: \"controlCenterManager\",\n tooltip: \"USER_ROLE_CONTROL_CENTER_MANAGER_TOOLTIP\"\n }\n];\n\nconst UserRoleAvatar = ({ t, value }) => {\n const [isOpenMobile, toggleMobile] = useState(false);\n const countRoles = value => {\n return Object.values(value.roles).filter(item => Boolean(item)).length;\n };\n\n const getConfig = () => {\n if(value.roles) {\n const filteredConfig = config.filter(\n item => !!value.roles[USER_ROLES[item.activeDepth]]\n );\n const totalRoles = countRoles(value);\n let desktopConfig = [];\n let mobileConfig = [];\n if (totalRoles > 2 && window.innerWidth < 720) {\n for (let i = 0; i < filteredConfig.length; i++) {\n if (i < 2) {\n desktopConfig.push(filteredConfig[i]);\n } else {\n mobileConfig.push(filteredConfig[i]);\n }\n }\n return {\n desktopConfig,\n mobileConfig\n };\n }\n return {\n desktopConfig: filteredConfig,\n mobileConfig: []\n };\n }\n return {\n desktopConfig: [],\n mobileConfig: []\n }\n };\n\n const renderMobileAvatars = mobileConfig => {\n if (!mobileConfig.length) {\n return null;\n }\n return (\n
\n toggleMobile(!isOpenMobile)}\n >\n

\n {mobileConfig.length}\n

\n

more

\n \n {isOpenMobile && (\n
\n {mobileConfig.map(item => {\n return (\n \n );\n })}\n
\n )}\n
\n );\n };\n\n const { desktopConfig, mobileConfig } = getConfig();\n\n return (\n
\n {desktopConfig.filter(r => r.activeDepth !== USER_ROLES.depot).map(item => {\n return (\n \n );\n })}\n {renderMobileAvatars(mobileConfig)}\n
\n );\n};\n\nexport default withTranslation()(UserRoleAvatar);\n","import {getPattern} from \"./objects-util.js\";\nimport {CONTROL_TYPE, salaryCalculationMode, TYPE_PATTERN, USER_ROLES} from \"./enums.js\";\nimport i18n from \"../i18n.js\";\n\nexport const columnsDepotUserEdit = [\n {\n title: \"settings.users.USER_EDIT_NAME_LABEL\",\n accessor: \"fullName\",\n isEditable: true,\n pattern: getPattern(TYPE_PATTERN.userNameWithSpaces),\n patternError: i18n.t('settings.users.USER_NAME_PATTERN_ERROR'),\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.users.USER_EDIT_PHONE_LABEL\",\n accessor: \"phoneNumber\",\n isEditable: true,\n isFuncRequired: item => item.roles && item.roles[USER_ROLES.courier],\n hasError: error=> error === \"Invalid phone number\",\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.users.USER_EDIT_EMAIL_LABEL\",\n accessor: \"email\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.users.USER_WORKER_ID\",\n accessor: \"workerId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.users.USER_EDIT_HOURLY_RATE_LABEL\",\n accessor: \"hourlyRate\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.users.SALARY_PAYMENT_TYPE\",\n accessor: \"salaryCalculationMode\",\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier],\n connect: () => ({\n values: salaryCalculationMode(),\n }),\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.users.USER_EDIT_ROLE_LABEL\",\n accessor: \"roles\",\n isEditable: true,\n config: {\n [USER_ROLES.deliveryManager]: true,\n [USER_ROLES.courier]: true,\n [USER_ROLES.supportOperator]: true,\n },\n type: CONTROL_TYPE.roleSelector\n },\n {\n title: \"settings.users.USER_ALLOW_OPEN_SHIFT\",\n accessor: \"allowOpenShift\",\n isEditable: true,\n isShow: item=> item.roles && item.roles[USER_ROLES.courier],\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.users.MAX_ORDERS_PER_COURIER_LABEL\",\n accessor: \"capacity\",\n isEditable: true,\n isShow: item=> item.roles && item.roles[USER_ROLES.courier],\n type: CONTROL_TYPE.number\n },\n {\n title: 'settings.users.SALARY_CALCULATION_PROFILE_ID',\n accessor: 'salaryCalculationProfileId',\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier] && item.salaryCalculationMode === 1,\n type: CONTROL_TYPE.select,\n connect: (state) => {\n const shipmentTemplateSettings = state.restaurant.data.shipmentTemplateSettings || [];\n return { values: [{ key: null, value: '-' }].concat(shipmentTemplateSettings.map(item => ({ key: item.id, value: item.name || '-' }))) };\n }\n },\n {\n title: \"settings.users.USER_EDIT_VEHICLE_LABEL\",\n accessor: \"vehicleType\",\n isEditable: true,\n type: CONTROL_TYPE.vehicleSelector,\n isShow: function(item) {\n return item.roles && item.roles[USER_ROLES.courier];\n }\n },\n {\n title: \"settings.users.CREATION_DATE\",\n accessor: \"creationDate\",\n isEditable: true,\n type: CONTROL_TYPE.date\n }\n]\n\nexport const columnGlobalUserEdit = [\n {\n title: 'settings.users.USER_EDIT_NAME_LABEL',\n accessor: 'fullName',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.users.USER_EDIT_PHONE_LABEL',\n accessor: 'phoneNumber',\n isEditable: true,\n hasError: error => error === 'Invalid phone number',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.users.USER_EDIT_EMAIL_LABEL',\n accessor: 'email',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.users.USER_WORKER_ID',\n accessor: 'workerId',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.users.USER_EDIT_HOURLY_RATE_LABEL',\n accessor: 'hourlyRate',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.users.SALARY_PAYMENT_TYPE',\n accessor: 'salaryCalculationMode',\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier],\n connect: () => ({\n values: salaryCalculationMode()\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.users.USER_EDIT_ROLE_LABEL',\n accessor: 'roles',\n isEditable: true,\n type: CONTROL_TYPE.roleSelector,\n },\n {\n title: 'settings.users.USER_ALLOW_OPEN_SHIFT',\n accessor: 'allowOpenShift',\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier],\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.users.MAX_ORDERS_PER_COURIER_LABEL',\n accessor: 'capacity',\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier],\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.users.SALARY_CALCULATION_PROFILE_ID',\n accessor: 'salaryCalculationProfileId',\n isEditable: true,\n isShow: item => item.roles && item.roles[USER_ROLES.courier] && item.salaryCalculationMode === 1,\n type: CONTROL_TYPE.select,\n connect: (state) => {\n const shipmentTemplateSettings = state.restaurant.data.shipmentTemplateSettings || [];\n return { values: [{ key: null, value: '-' }].concat(shipmentTemplateSettings.map(item => ({ key: item.id, value: item.name || '-' }))) };\n }\n },\n {\n title: 'settings.users.USER_EDIT_VEHICLE_LABEL',\n accessor: 'vehicleType',\n isEditable: true,\n type: CONTROL_TYPE.vehicleSelector,\n isShow: function(item) {\n return item.roles && item.roles[USER_ROLES.courier];\n },\n },\n {\n title: 'settings.map.USERS_COURIER_EDIT_DEFAULT_CONTROL_CENTER',\n accessor: 'defaultControlCenterId',\n connect: state => ({\n values: [{ key: null, value: '-' }]\n .concat(state.restaurant.data.controlCenters || [])\n .map(center => ({ key: center.controlCenterId, value: center.name })),\n }),\n isShow: function(item) {\n return item.roles && item.roles[USER_ROLES.courier];\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.users.CREATION_DATE',\n accessor: 'creationDate',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.users.ALLOWED_CONTROL_CENTERS',\n accessor: 'allowedControlCenters',\n isEditable: true,\n isCanBeEmpty: true,\n type: CONTROL_TYPE.controlCentersList,\n },\n]","import React from 'react';\nimport i18n from '../../i18n';\n\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_PATTERN,\n TYPE_SECTION_MODEL,\n USER_ROLES,\n} from '../../utils/enums';\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport {getDefaultUserRolesValue, getFullName} from '../userModel';\nimport {getInitModel} from '../initModels';\nimport {getPattern} from '../../utils/objects-util';\nimport {USER_SETTING, USER_SETTING_PASSWORD, USERS_PAGINATION,} from '../../store/reducers/userModel/userModel-actions';\n\nimport {createControlModel} from '../controlModelFactory';\n\nimport {Avatar} from '../../app/components/Avatar/Avatar';\nimport GrCode from '../../app/components/GrCode';\nimport UserRoleAvatar from '../../app/components/UserRoleAvatar';\n\nimport {getUserNameById, isMobileWidth} from '../restaurant';\nimport {createBreadcrumbModel} from '../createBreadcrumbModel';\nimport {courierSettingsFilter} from '../filter.js';\nimport {getHistoryLocationParams} from '../../utils/routesHelper.js';\nimport {columnGlobalUserEdit} from \"../../utils/sectionModelHelper.js\";\nimport {COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET} from \"../../store/reducers/restaurant/restaurant-actions.js\";\n\nexport function createUsersSection() {\n return new SectionModel({\n filterOptions: createUsersSectionFilter(),\n columns: [\n {\n title: '',\n width: '55px',\n component: function(user) {\n return ;\n },\n accessor: 'avatarUrl',\n type: CONTROL_TYPE.image,\n hideWidth: '620',\n },\n {\n title: 'settings.users.USER_NAME_LABEL',\n width: '18%',\n component: user => getFullName(user),\n },\n {\n title: 'settings.users.USER_WORKER_ID',\n accessor: 'workerId',\n width: '13%',\n hideWidth: '620',\n },\n {\n title: 'settings.users.USER_PHONE_LABEL',\n width: '13%',\n accessor: 'phoneNumber',\n type: CONTROL_TYPE.text,\n hideWidth: '620',\n },\n {\n title: 'settings.users.USER_ROLES_LABEL',\n component: function(user) {\n return ;\n },\n accessor: 'roles',\n type: CONTROL_TYPE.text,\n hideWidth: '400',\n },\n {\n title: '',\n width: '35px',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.userConfirmPassword,\n isShow: item => {\n if(!item.roles) {\n return false;\n }\n const roles = Object.keys(item.roles).map(v => item.roles[v]).filter(Boolean);\n return !(roles.length === 1 && item.roles[USER_ROLES.courier]);\n },\n iconName: 'passwordIcon',\n wrapOnMobileWidth: '992',\n tooltipText: i18n.t('settings.users.USER_TOOLS_MANAGER_CHANGE_PASSWORD_TOOLTIP'),\n },\n {\n title: '',\n width: '40px',\n component: function(user) {\n return ;\n },\n accessor: '',\n wrapOnMobileWidth: '992',\n type: CONTROL_TYPE.linkIconComponent,\n link: 'grCode',\n },\n {\n title: '',\n width: '40px',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.usersEdit,\n iconName: 'editItem',\n iconFullWH: true,\n hideWidth: '620',\n wrapOnMobileWidth: '992',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n },\n ],\n key: 'userId',\n actionName: USER_SETTING,\n typeModel: TYPE_SECTION_MODEL.users,\n hideHeaderItemControls: true,\n actionPagination: USERS_PAGINATION,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.usersNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: 'settings.users.USERS',\n breadcrumbs: [createBreadcrumbModel({ label:'header.menu.SETTINGS_LABEL' })],\n isForceUpdate: true,\n mappingLambda: state => state.userModel.data,\n });\n}\n\nexport function createUserEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: args.columns || columnGlobalUserEdit,\n key: 'userId',\n actionName: USER_SETTING,\n actionLoad: COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET,\n initNewItemModel: item => {\n return item\n ? {\n ...item,\n fullName: getFullName(item),\n roles: {\n ...getDefaultUserRolesValue(),\n ...item.roles,\n },\n }\n : getInitModel(MODEL_TYPE.user);\n },\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.edit ? TYPE_SECTION_MODEL.usersEdit : TYPE_SECTION_MODEL.usersNew,\n parentUrl: TYPE_SECTION_MODEL.users,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.SETTINGS_LABEL'\n }),\n createBreadcrumbModel({\n label: 'settings.users.USERS',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getUserNameById(id);\n },\n mappingLambda: state => state.userModel.data || [],\n });\n}\n\nexport function createUserPasswordEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.users.CONFIRM_USER_NAME_LABEL',\n accessor: 'userName',\n pattern: getPattern(TYPE_PATTERN.userName),\n patternError: i18n.t('settings.users.USER_NAME_PATTERN_ERROR'),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.map.NEW_PASSWORD_LABEL',\n accessor: 'newPassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n {\n title: 'settings.map.RETYPE_PASSWORD_LABEL',\n accessor: 'retypePassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n ],\n key: 'userId',\n actionName: USER_SETTING_PASSWORD,\n initNewItemModel: user => {\n return {\n userId: user.userId,\n userName: user.userName || '',\n newPassword: '',\n retypePassword: '',\n };\n },\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.userConfirmPassword,\n parentUrl: TYPE_SECTION_MODEL.users,\n mappingLambda: state => state.userModel.data || [],\n });\n}\n\nfunction createUsersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(user) {\n return courierSettingsFilter(this.selected, user);\n });\n\n filterOptionsModel.addOptions(\n USER_ROLES.courier,\n CONTROL_TYPE.checkbox,\n 'settings.users.USER_ROLE_COURIER_TOOLTIP',\n user => !!user.roles.courier\n );\n\n filterOptionsModel.addOptions(\n USER_ROLES.deliveryManager,\n CONTROL_TYPE.checkbox,\n 'settings.users.USER_ROLE_MANAGER_TOOLTIP',\n user => !!user.roles.deliveryManager\n );\n\n filterOptionsModel.addOptions(\n USER_ROLES.supportOperator,\n CONTROL_TYPE.checkbox,\n 'settings.users.USER_ROLE_SUPPORT_OPERATOR_TOOLTIP',\n user => !!user.roles.supportOperator\n );\n\n filterOptionsModel.addOptions(\n USER_ROLES.supervisor,\n CONTROL_TYPE.checkbox,\n 'settings.users.USER_ROLE_SUPERVISOR_TOOLTIP',\n user => !!user.roles.supervisor\n );\n\n filterOptionsModel.addOptions(\n USER_ROLES.controlCenterManager,\n CONTROL_TYPE.checkbox,\n 'settings.users.USER_ROLE_CONTROL_CENTER_MANAGER_TOOLTIP',\n user => !!user.roles.controlCenterManager\n );\n\n return filterOptionsModel;\n}\n","import React, { useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport InvitationPopup from \"../InvitationPopup\";\nimport IconButton from \"../IconButton\";\n\nconst GrCodeDepot = ({ t, userInfo }) => {\n const [invitationPopupIsOpen, setInvitationPopupIsOpen] = useState(null);\n\n const handleInvitationOpen = () => {\n setInvitationPopupIsOpen(true);\n };\n\n const handleInvitationPopup = () => {\n setInvitationPopupIsOpen(false);\n };\n\n\n return (\n
\n {!!userInfo && (\n \n )}\n {invitationPopupIsOpen && (\n \n )}\n
\n );\n};\n\nexport default withTranslation()(GrCodeDepot);\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport SectionItemNumber from \"../SectionItemNumber\";\n\nconst RegionDeliveryPrice = ({\n item,\n t,\n handleOnChange,\n handleOnDeleteItem,\n inlineType\n}) => (\n
\n handleOnChange({ ...item, ...itemValue })}\n />\n
handleOnDeleteItem(item.id)} />\n
\n);\n\nexport default withTranslation()(RegionDeliveryPrice);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport \"./index.scss\";\n\nimport { DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK } from \"../../../store/reducers/userModel/userModel-actions\";\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport IconButton from \"../IconButton\";\n\nconst SquareUpControl = ({ t, getDepotSquareAssociatedLocation, id }) => {\n const handleOnClick = () => {\n return new Promise(resolve=> {\n resolve(); \n if(id) {\n getDepotSquareAssociatedLocation({ id });\n }\n });\n }\n\n return (\n \n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n getDepotSquareAssociatedLocation: data=> dispatch(createAction(DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(SquareUpControl));","import React from \"react\";\nimport Waiter from \"../Waiter/Waiter\";\nimport {WAITER_TYPES} from \"../../../utils/enums\";\n\nimport \"./style.scss\";\nimport classnames from \"classnames\";\n\nconst TextWithTooltip = ({text, tooltip, width, inOneString}) => {\n return (\n
\n \n
\n )\n};\n\nexport default TextWithTooltip;","import React from 'react';\nimport i18n from '../../i18n';\n\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\n\nimport GrCodeDepot from '../../app/components/GrCodeDepot';\n\nimport {getAddress} from '../order';\nimport {\n getBusinesMenuCategoriesFilter,\n getDepotDefaultRegionControlCenterNameFilter,\n getDepotFilter,\n getDepotIntegrationsSectionFilter,\n getProvidersSectionFilter,\n sortByProp,\n sortItemsByProp,\n} from '../filter';\nimport {\n CONTROL_TYPE,\n CREDIT_ACCEPT,\n EXTERNAL_COURIER_PROVIDER,\n getDepotIntegrationAddTypes,\n getDepotIntegrationTypes,\n getMerchantDeliveryCostCalculationModeItems,\n getNewBusinessMenuTypes,\n INTEGRATION_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n NEW_BUSINESS_MENU_TYPE,\n PRICE_CALCULATION_MODE,\n sellerBankCodes,\n sellerIncList,\n sellerPersonBusinessTypes,\n TYPE_ACTION,\n TYPE_MENU,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport {getFullName} from '../userModel';\nimport {getInitModel} from '../initModels';\nimport {\n generateRandomString,\n getAllDepotRegions,\n getDepotDefaultRegionControlCenterName,\n getDepotNameById,\n getDepots,\n getDepotUserNameById,\n getExternalCycleLogo,\n getMenuCredentials,\n getMenuTemplateBusinessCategoryNameById,\n getRegionCenter,\n getRestaurantConfigPropValue,\n isMobileWidth,\n} from '../restaurant';\nimport {\n BUSINESS_CATEGORY,\n BUSINESS_CATEGORY_GET,\n BUSINESS_CATEGORY_UPDATE,\n COPY_TELEGRAM_COMMAND,\n DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING,\n DEPOT_INIT_DATA_GET,\n DEPOT_MENU_COPY,\n DEPOT_SETTING,\n DEPOTMENU_SETTING,\n DEPOTPAYMECREDIT_SETTING,\n DEPOTPAYMEWALLET_SETTING,\n DEPOTPRICE_SETTING,\n DEPOTPRICE_SETTING_APPLY_TO,\n DEPOTUSERS_SETTING,\n DEPOTUSERS_SETTING_PASSWORD,\n GET_DEPOT_PRICE,\n GET_DEPOT_USERS,\n LOAD_DEPOT_USER_BY_ID,\n MENU_TEMPLATE_GET,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {createControlModel} from '../controlModelFactory';\nimport {getHistoryLocationParams} from '../../utils/routesHelper';\nimport {defaultPromiseResolve} from '../../utils/objects-util';\n\nimport {Avatar} from '../../app/components/Avatar/Avatar';\nimport RegionDeliveryPrice from '../../app/components/RegionDeliveryPrice';\nimport {defaultDepotColors} from '../../utils/constants';\nimport IconButton from '../../app/components/IconButton';\nimport SquareUpControl from '../../app/components/SquareUpControl';\nimport {\n DEPOT_INTEGRATIONS,\n DEPOT_INTEGRATIONS_GET,\n DEPOT_INTEGRATIONS_UPDATE,\n DEPOT_PROVIDER,\n DEPOT_PROVIDER_UPDATE,\n DEPOT_PROVIDERS,\n DEPOT_PROVIDERS_GET,\n DEPOT_PROVIDERS_REORDER,\n DEPOT_PROVIDERS_UNMOUNT,\n DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT,\n DEPOT_SQUARE_ASSOCIATED_LOCATION,\n DEPOT_SQUARE_ASSOCIATED_REVOKE,\n} from '../../store/reducers/userModel/userModel-actions';\nimport {createBreadcrumbModel} from '../createBreadcrumbModel';\nimport UserRoleAvatar from '../../app/components/UserRoleAvatar';\nimport TextWithTooltip from '../../app/components/TextWithTooltip';\nimport {columnsDepotUserEdit} from \"../../utils/sectionModelHelper.js\";\n\nexport function createDepotMenuCopy() {\n return new SectionModel({\n columns: [\n {\n title: 'settings.createMenu.CHOOSE_OPTION',\n accessor: 'type',\n type: CONTROL_TYPE.select,\n isEditable: true,\n values: getNewBusinessMenuTypes(),\n },\n {\n title: 'settings.createMenu.CHOOSE_TEMPLATE',\n accessor: 'template_id',\n type: CONTROL_TYPE.select,\n isEditable: true,\n isShow: data => data.type === NEW_BUSINESS_MENU_TYPE.template || data.type === NEW_BUSINESS_MENU_TYPE.fromtemplate,\n connect: state => {\n const menuTemplates = state.menuTemplate.data.templates || [];\n return {\n values: menuTemplates.map(el => ({ value: el?.name, key: el.business_id })),\n };\n },\n onPropChange: (selected, column, onPropChange)=> {\n onPropChange({ [column.accessor]: selected[\"key\"], global_template_id: null });\n }\n },\n {\n title: \"settings.createMenu.CHOOSE_GLOBAL_TEMPLATE\",\n accessor: \"global_template_id\",\n type: CONTROL_TYPE.select,\n isEditable: true,\n isShow: data => data.type === NEW_BUSINESS_MENU_TYPE.template || data.type === NEW_BUSINESS_MENU_TYPE.fromtemplate,\n isHideByLength: true,\n connect: state => ({\n values: (state.menuTemplate.data.globalTemplates || [])\n .map(el => ({ value: el?.name, key: el.business_id }))\n }),\n onPropChange: (selected, column, onPropChange)=> {\n onPropChange({ [column.accessor]: selected[\"key\"], template_id: null });\n }\n },\n {\n title: 'settings.createMenu.CHOOSE_BUSINESS',\n accessor: 'business_id',\n type: CONTROL_TYPE.select,\n isEditable: true,\n isShow: data => data.type === NEW_BUSINESS_MENU_TYPE.business,\n connect: state => {\n const depots = (state.restaurant.data && state.restaurant.data.depots) || [];\n return {\n values: depots\n .filter(depot => depot.businessId)\n .map(depot => ({ id: depot.id, key: depot.businessId, value: depot?.name, selected: false }))\n ?.sort((a, b) => (a.value?.toLowerCase() > b.value?.toLowerCase() ? 1 : -1)),\n };\n },\n },\n ],\n actionLoad: MENU_TEMPLATE_GET,\n actionName: DEPOT_MENU_COPY,\n initNewItemModel: item => getInitModel(MODEL_TYPE.depotsMenuCopy, item),\n typeAction: TYPE_ACTION.edit,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy,\n parentUrl: TYPE_SECTION_MODEL.depots,\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createDepotsSectionModel() {\n return new SectionModel({\n filterOptions: createDepotsSectionFilter(),\n columns: [\n {\n title: \"settings.map.DEPOT_EDIT_NAME_LABEL\",\n width: '240px',\n fixedWidth: '240px',\n component: function(depot) {\n return ;\n },\n accessor: 'avatarUrl',\n type: CONTROL_TYPE.image,\n showWidth: '768',\n },\n {\n title: '',\n width: '55px',\n component: function(depot) {\n return ;\n },\n type: CONTROL_TYPE.image,\n hideWidth: '768',\n },\n {\n title: 'settings.map.DEPOT_EDIT_NAME_LABEL',\n accessor: 'name',\n width: window.innerWidth < 1200 ? 'auto' : '300px',\n component: data => ,\n hideWidth: '768',\n },\n {\n title: 'settings.map.DEPOT_EDIT_PHONE_LABEL',\n accessor: 'phone',\n width: window.innerWidth < 1200 ? 'auto' : '150px',\n fixedWidth: '150px',\n },\n {\n title: 'settings.map.LABEL',\n component: function(depot) {\n if (!depot || !depot.address) return '';\n return getAddress(depot.address.address);\n },\n },\n {\n title: '',\n width: '40px',\n component: function() {\n return ;\n },\n isShow: depot => depot.disable_delivery || depot.disable_takeaway,\n },\n {\n title: '',\n width: '40px',\n fixedWidth: '40px',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n hasWarningIcon: data => {\n return data.squareUpAuthorizationRequired;\n },\n hideWidth: '700',\n },\n {\n title: '',\n width: '40px',\n fixedWidth: '40px',\n type: CONTROL_TYPE.mobileMenu,\n menuType: TYPE_MENU.depotSettings,\n key: 'id',\n iconName: 'editItem',\n isEditable: true,\n showWidth: '700',\n },\n ],\n actionName: DEPOT_SETTING,\n isForceUpdate: true,\n isLayoutForm: true,\n hideHeaderItemControls: true,\n tableMinWidth: 900,\n url: TYPE_SECTION_MODEL.depotsNew,\n typeModel: TYPE_SECTION_MODEL.depots,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.depotsNew,\n isLayoutForm: true,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' })],\n mappingLambda: state => state.restaurant.data.depots || [],\n sortByFunc: items => sortItemsByProp(items),\n });\n}\n\nexport function createDepotEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'logoUrl',\n isEditable: true,\n type: CONTROL_TYPE.image,\n },\n {\n title: 'settings.depots.DEPOT_AS_CONTROL_CENTER',\n accessor: 'depotAsControlCenter',\n isEditable: true,\n isShow: () => getRestaurantConfigPropValue('allowDepotAsControlCenter'),\n type: CONTROL_TYPE.switch,\n },\n {\n isEditable: true,\n type: CONTROL_TYPE.switchGroups,\n items: [\n [\n {\n title: 'settings.depots.AUTO_ASSIGNMENT',\n accessor: 'autoExternalAssignment',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.depots.HIDE_COURIERS',\n accessor: 'hideCouriers',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.depots.ALLOW_ORDER_CREATION',\n accessor: 'allowOrderCreation',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n ],\n },\n {\n title: 'settings.map.DEPOT_EDIT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isItemValid: item => item.name?.trim()?.length,\n isFuncRequired: item => !item.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n patternError: i18n.t('settings.map.DEPOT_NAME_ERROR_MSG'),\n },\n {\n title: 'settings.map.DEPOT_EDIT_ADMINISTRATIVE_NAME_LABEL',\n accessor: 'administrativeName',\n isEditable: true,\n isRequired: false,\n type: CONTROL_TYPE.text,\n patternError: i18n.t('settings.map.DEPOT_NAME_ERROR_MSG'),\n },\n {\n title: 'settings.map.DEPOT_SMS_BRAND',\n accessor: 'smsBrand',\n isEditable: true,\n isRequired: false,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.map.DEPOT_EDIT_PHONE_LABEL',\n accessor: 'phone',\n isItemValid: item => item.phone?.trim()?.length,\n isEditable: true,\n isFuncRequired: item => !item.phone?.trim()?.length,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.map.DEPOT_EDIT_DELIVERY_TIME_LABEL',\n measure: i18n.t('settings.settings.numericalSettings.TIME_MEASURE'),\n accessor: 'maxDeliveryTime',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.map.DEPOT_EDIT_COOLING_TIME_LABEL',\n accessor: 'maxOrderCoolingTime',\n measure: i18n.t('settings.settings.numericalSettings.TIME_MEASURE'),\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.map.DEPOT_EDIT_ARRIVAL_TIME_LABEL',\n measure: i18n.t('settings.settings.numericalSettings.TIME_MEASURE'),\n accessor: 'maximumArrivalTime',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.map.DEPOT_EDIT_DEFAULT_CONTROL_CENTER',\n accessor: 'defaultControlCenterId',\n connect: state => ({\n values: [{ key: null, value: '-' }]\n .concat(state.restaurant.data.controlCenters || [])\n .map(center => ({\n key: center.controlCenterId,\n value: center?.name,\n })),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'new-order-directive.ADDRESS_LABEL',\n accessor: 'address',\n isEditable: true,\n isShowIcon: true,\n isCanBeEmpty: true,\n withEmpty: true,\n withNotes: true,\n type: CONTROL_TYPE.address,\n },\n {\n title: 'settings.depots.DEPOT_COLOR',\n accessor: 'color',\n connect: () => ({\n values: [{ key: null, value: '-' }].concat(\n defaultDepotColors.map(depotColor => ({ key: depotColor, value: depotColor }))\n ),\n }),\n isEditable: true,\n isColors: true,\n isAccentuationByValue: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: '',\n accessor: 'address',\n isEditable: true,\n isFillContent: true,\n isHideSearch: true,\n type: CONTROL_TYPE.mapAddress,\n },\n ],\n actionName: DEPOT_SETTING,\n initNewItemModel: (item, id, items) => {\n const firstDepotInfo = (items && items[0]) || {\n maximumArrivalTime: 0,\n maxDeliveryTime: 0,\n maxOrderCoolingTime: 0,\n administrativeName: '',\n };\n\n return getInitModel(\n MODEL_TYPE.depot,\n item\n ? item\n : {\n address: {\n address: getInitModel(MODEL_TYPE.address),\n location: getRegionCenter(),\n },\n maximumArrivalTime: firstDepotInfo.maximumArrivalTime,\n maxDeliveryTime: firstDepotInfo.maxDeliveryTime,\n maxOrderCoolingTime: firstDepotInfo.maxOrderCoolingTime,\n }\n );\n },\n stayAfterSave: args.typeAction === TYPE_ACTION.edit,\n typeAction: args.typeAction,\n actionLoad: DEPOT_INIT_DATA_GET,\n typeModel:\n args.typeAction === TYPE_ACTION.edit ?\n TYPE_SECTION_DEPOT_MODEL.depotsEdit :\n TYPE_SECTION_MODEL.depotsNew,\n parentUrl: TYPE_SECTION_MODEL.depots,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n isShow: TYPE_ACTION.edit === args.typeAction,\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n label: 'settings.depotSettingsLabel.INFO',\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createDepotTelegramSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.map.DEPOT_TELEGRAM_LINK_LABEL',\n accessor: '',\n type: CONTROL_TYPE.copyToClipboard,\n icon: 'telegram',\n actionName: COPY_TELEGRAM_COMMAND,\n },\n ],\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_DEPOT_MODEL.telegram,\n parentUrl: TYPE_SECTION_MODEL.depots,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n label: \"settings.depotSettingsLabel.TELEGRAM\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n mappingLambda: state => state.restaurant.data.depots,\n });\n}\n\nexport function createDepotPaymeWalletNewSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.paymeWallet.SELLER_FIRST_NAME',\n accessor: 'sellerFirstName',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_LAST_NAME',\n accessor: 'sellerLastName',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_SOCIAL_ID',\n accessor: 'sellerSocialId',\n minLength: 9,\n maxLength: 9,\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_BANK_CODE',\n accessor: 'sellerBankCode',\n connect: () => ({\n values: sellerBankCodes(),\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.paymeWallet.SELLER_BANK_BRANCH',\n accessor: 'sellerBankBranch',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.paymeWallet.SELLER_BANK_ACCOUNT_NUMBER',\n accessor: 'sellerBankAccountNumber',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_EMAIL',\n accessor: 'sellerEmail',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_PHONE',\n accessor: 'sellerPhone',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_BIRTHDAY',\n accessor: 'sellerBirthdate',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.paymeWallet.SELLER_SOCIAL_ID_ISSUED',\n accessor: 'sellerSocialIdIssued',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.paymeWallet.SELLER_GENDER',\n label: {\n onLabel: 'Female',\n offLabel: 'Male',\n },\n accessor: 'sellerGender',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.paymeWallet.SELLER_INC',\n accessor: 'sellerInc',\n connect: () => ({\n values: sellerIncList(),\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.paymeWallet.SELLER_MERCHANT_NAME',\n accessor: 'sellerMerchantName',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_INC_CODE',\n accessor: 'sellerIncCode',\n isEditable: true,\n isFuncRequired: function(item) {\n return !!item.sellerInc;\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_PERSON_BUSINESS_TYPE',\n accessor: 'sellerPersonBusinessType',\n connect: () => ({\n values: sellerPersonBusinessTypes(),\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.paymeWallet.SELLER_SITE_URL',\n accessor: 'sellerSiteUrl',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_ADDRESS_CITY',\n accessor: 'sellerAddressCity',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_ADDRESS_STREET',\n accessor: 'sellerAddressStreet',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.paymeWallet.SELLER_ADDRESS_STREET_NUMBER',\n accessor: 'sellerAddressStreetNumber',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: DEPOTPAYMEWALLET_SETTING,\n initNewItemModel: () => ({\n sellerFirstName: '',\n sellerLastName: '',\n sellerSocialId: '',\n sellerBankCode: 0,\n sellerBankBranch: 0,\n sellerBankAccountNumber: '',\n sellerEmail: '',\n sellerPhone: '',\n sellerBirthdate: '',\n sellerSocialIdIssued: '',\n sellerGender: false,\n sellerInc: 0,\n sellerMerchantName: '',\n sellerIncCode: '',\n sellerPersonBusinessType: 0,\n sellerSiteUrl: '',\n sellerAddressCity: '',\n sellerAddressStreet: '',\n sellerAddressStreetNumber: '',\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.depotpaymewalletNew,\n parentUrl: TYPE_SECTION_MODEL.depots,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: {\n action: (item, history) => {\n history.push(TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit + history.location.search);\n },\n },\n },\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createDepotPaymeCreditInfoNewSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.paymeWallet.CREDIT_ACCEPT_LABEL',\n accessor: 'creditAcceptType',\n values: [\n {\n title: 'settings.paymeWallet.CREDIT_ACCEPT_OFF',\n value: CREDIT_ACCEPT.off,\n className: 'warning',\n },\n {\n title: 'settings.paymeWallet.CREDIT_ACCEPT_INFO',\n value: CREDIT_ACCEPT.infoOnly,\n className: 'warning',\n },\n {\n title: 'settings.paymeWallet.CREDIT_ACCEPT_ORDERS',\n value: CREDIT_ACCEPT.selling,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.paymeRadioButtons,\n },\n {\n title: '',\n accessor: 'creditAcceptType',\n type: CONTROL_TYPE.depotPaymentSelector,\n isFillContent: true,\n }\n ],\n actionName: DEPOTPAYMECREDIT_SETTING,\n initNewItemModel: depot => ({\n ...depot,\n creditAcceptType: {\n value: depot.onlineState,\n acceptCash: depot.acceptCash,\n acceptCreditCard: depot.acceptCreditCard,\n acceptCashOnTakeAway: depot.acceptCashOnTakeAway,\n selected: []\n .concat(depot.acceptCash ? ['acceptCash'] : [])\n .concat(depot.acceptCreditCard ? ['acceptCreditCard'] : []),\n },\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit,\n parentUrl: TYPE_SECTION_MODEL.depots,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n label: \"settings.depotSettingsLabel.PAYMENTS\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createBusinessCategoriesSectionModel() {\n return new SectionModel({\n filterOptions: createBusinessCategoriesSectionFilter(),\n columns: [\n {\n title: '',\n width: '70px',\n fixedWidth: true,\n component: function(businessCategory) {\n return ;\n },\n type: CONTROL_TYPE.image,\n },\n {\n title: 'settings.businessCategories.CATEGORY_NAME',\n accessor: 'name'\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.businessCategoriesEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n },\n ],\n actionName: BUSINESS_CATEGORY,\n actionLoad: BUSINESS_CATEGORY_GET,\n tableMinWidth: 300,\n dragActionName: BUSINESS_CATEGORY_UPDATE,\n typeModel: MARKETPLACE_SETTINGS_MODEL.businessCategories,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.businessCategoriesNew,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.businessCategories.LABEL',\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const data = state.restaurant.data.businessCategory || []\n return data.map(category => {\n const name = category?.nameTranslations === null ? category?.name : category.nameTranslations[i18n.language]\n return {\n name: name || '',\n ...category\n }\n })\n }\n });\n}\n\nexport function createBusinessCategoryEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'logo',\n settingsAaccessor: 'logoSettings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.businessCategories.CATEGORY_NAME',\n accessor: 'nameTranslations',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.languageEditor,\n },\n {\n title: 'settings.businessCategories.IS_STORE',\n accessor: 'isStore',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n actionName: BUSINESS_CATEGORY,\n actionLoad: BUSINESS_CATEGORY_GET,\n initNewItemModel: item => {\n return (\n item || {\n logo: '',\n nameTranslations: [],\n }\n );\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n label: 'settings.businessCategories.LABEL',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getMenuTemplateBusinessCategoryNameById(id) : i18n.t('settings.businessCategories.NEW_LABEL');\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.businessCategoriesEdit\n : MARKETPLACE_SETTINGS_MODEL.businessCategoriesNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.businessCategories,\n mappingLambda: state => state.restaurant.data.businessCategory || [],\n });\n}\n\nexport function createDepotUsersSectionModel({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n return new SectionModel({\n key: \"userId\",\n isForceUpdate: true,\n filterOptions: createDepotUsersSectionFilter(),\n columns: [\n {\n title: \"\",\n width: \"55px\",\n fixedWidth: \"55px\",\n component: function(user) {\n return ;\n },\n accessor: \"avatarUrl\",\n type: CONTROL_TYPE.image,\n },\n {\n title: \"settings.users.USER_NAME_LABEL\",\n width: \"18%\",\n fixedWidth: \"18%\",\n component: user=> getFullName(user)\n },\n {\n title: \"settings.users.USER_WORKER_ID\",\n accessor: \"workerId\",\n width: \"13%\",\n fixedWidth: \"13%\",\n },\n {\n title: \"settings.users.USER_PHONE_LABEL\",\n width: \"13%\",\n fixedWidth: \"13%\",\n accessor: \"phoneNumber\",\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.users.USER_ROLES_LABEL\",\n component: function(user) {\n return ;\n },\n accessor: \"roles\",\n type: CONTROL_TYPE.text,\n },\n {\n title: \"\",\n width: \"45px\",\n fixedWidth: \"45px\",\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.depotusersConfirmPassword,\n iconName: \"passwordIcon\",\n tooltipText: i18n.t(\"settings.users.USER_TOOLS_MANAGER_CHANGE_PASSWORD_TOOLTIP\")\n },\n {\n title: \"\",\n width: \"40px\",\n fixedWidth: \"40px\",\n component: function(userInfo) {\n return ;\n },\n accessor: \"\",\n type: CONTROL_TYPE.linkIconComponent,\n link: \"grCode\"\n },\n {\n width: \"40px\",\n fixedWidth: \"40px\",\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.depotusersEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.users.USER_TOOLS_EDIT_TOOLTIP\")\n }\n ],\n actionPagination: GET_DEPOT_USERS,\n actionName: DEPOTUSERS_SETTING,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotusers,\n stayAfterSave: false,\n tableMinWidth: 800,\n hideHeaderItemControls: true,\n parentUrl: TYPE_SECTION_MODEL.depots,\n label: 'settings.depotSettingsLabel.USERS',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_DEPOT_MODEL.depotusersNew + `?parentId=${id}`\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back })\n ],\n mappingLambda: (state) => {\n const { id } = getHistoryLocationParams(window.location.search);\n const depots = state?.restaurant?.data?.depots\n const depot = depots.find(depot => depot?.id === id)\n return depot?.depotUsers || []\n },\n });\n}\n\nexport function createDepotUserEditSectionModel({ ...args }) {\n return new SectionModel({\n key: \"userId\",\n columns: columnsDepotUserEdit,\n actionName: DEPOTUSERS_SETTING,\n actionLoad: LOAD_DEPOT_USER_BY_ID,\n initNewItemModel: (item, id) => ({...getInitModel(MODEL_TYPE.user, item), depotId: item?.depotId || id}),\n typeAction: args.typeAction,\n typeModel: args.typeAction === 'edit' ?\n TYPE_SECTION_DEPOT_MODEL.depotusersEdit :\n TYPE_SECTION_DEPOT_MODEL.depotusersNew,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotusers,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.depotSettingsLabel.USERS',\n }),\n ],\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getDepotUserNameById(id, parentId);\n },\n mappingLambda: state => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n\n //find user in depotUsers\n const depots = state?.restaurant?.data?.depots\n const depot = depots?.find(depot => depot?.id === parentId)\n const depotUser = depot?.depotUsers?.find(user => user?.userId === id)\n //find user in depotUsers end\n\n if(depotUser) {\n return depotUser\n }\n\n //find user in userModel\n return state.userModel.data.find(user => user.userId === id) || {}\n //find user in userModel end\n }\n });\n}\n\n\nexport function createDepotUserPasswordEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.users.CONFIRM_USER_NAME_LABEL',\n accessor: 'userName',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.map.NEW_PASSWORD_LABEL',\n accessor: 'newPassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n {\n title: 'settings.map.RETYPE_PASSWORD_LABEL',\n accessor: 'retypePassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n ],\n actionName: DEPOTUSERS_SETTING_PASSWORD,\n actionLoad: LOAD_DEPOT_USER_BY_ID,\n initNewItemModel: user => {\n return {\n id: user.id,\n userId: user.userId,\n depotId: user.depotId,\n userName: user.userName,\n newPassword: '',\n retypePassword: '',\n };\n },\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotusersConfirmPassword,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotusers,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n mappingLambda: state => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n\n //find user in depotUsers\n const depots = state?.restaurant?.data?.depots\n const depot = depots?.find(depot => depot?.id === parentId)\n const depotUser = depot?.depotUsers?.find(user => user?.userId === id)\n //find user in depotUsers end\n\n if(depotUser) {\n return depotUser\n }\n\n //find user in userModel\n return state.userModel.data.find(user => user.userId === id) || {}\n //find user in userModel end\n },\n });\n}\n\nexport function createDepotPriceEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.map.DEPOT_DELIVERY_PRICE_HEADER_LABEL',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.map.DEPOT_PRICE_CALCULATION_MODE',\n accessor: 'calculationMode',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n connect: () => ({\n values: getMerchantDeliveryCostCalculationModeItems()\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.map.DEPOT_BASIS_PRICE_LABEL',\n accessor: 'basisPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n isShow: data => !(data.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased),\n },\n {\n title: 'settings.map.DEPOT_DELIVERY_PRICE_LABEL',\n accessor: 'deliveryPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n isShow: data => !(data.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased),\n },\n {\n title: 'settings.map.GENERAL_DELIVERY_PRICE',\n accessor: 'deliveryPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n isShow: data => data.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.BASIS_DISTANCE_IN_METERS',\n accessor: 'basisDistanceInMeters',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n isShow: data => !(data.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased),\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_PER_KM',\n accessor: 'pricePerKm',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n isShow: data => !(data.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased),\n },\n ],\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_CHANGE_GROUP_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.personalSettings.shipmentPriceSettings.MIN_ORDER_COUNT_TO_APPLY_PRICE_CHANGE',\n accessor: 'minOrderCountToApplyPriceChange',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.ORDER_COUNT_PRICE_CHANGE_INCREMENT',\n accessor: 'orderCountPriceChangeIncrement',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.USE_ABS_VALUE_FOR_ORDER_COUNT_PRICE_CHANGE',\n accessor: 'useAbsValueForOrderCountPriceChange',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n ]\n },\n {\n title: 'settings.map.DEPOT_DELIVERY_PRICE_PERREGION_HEADER_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n isInline: true,\n isShow: value => !(value.calculationMode === PRICE_CALCULATION_MODE.distanceBased),\n items: [\n {\n accessor: 'regionConfigurations',\n itemValue: {\n key: 'id',\n component: function(item, onChange, onDelete) {\n return (\n \n );\n },\n },\n isEditable: true,\n type: CONTROL_TYPE.listItem,\n },\n {\n title: 'settings.users.DEPOT_USERS_ADD_BUTTON',\n accessor: 'regionConfigurations',\n connect: state => {\n const params = getHistoryLocationParams(window.location.search);\n const regionConfigurationsIds = ((state.localValue || {}).regionConfigurations || []).map(region => region.id);\n const depot = (state.restaurant.data.depots || []).find(f => f.id === params.id);\n return {\n values: getAllDepotRegions(depot && depot.price, state)\n .filter(region => !regionConfigurationsIds.includes(region.id))\n .map(region => ({\n ...region,\n key: region.id,\n value: region?.name,\n })),\n };\n },\n\n isEditable: true,\n type: CONTROL_TYPE.selectWithAdd,\n },\n ],\n },\n ],\n stayAfterSave: true,\n actionName: DEPOTPRICE_SETTING,\n initNewItemModel: item => {\n return item && item.price\n ? {\n ...item.price,\n id: item.id,\n }\n : getInitModel(MODEL_TYPE.depotDeliveryPriceModel);\n },\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotsEditPrice,\n parentUrl: TYPE_SECTION_MODEL.depots,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n label: 'settings.depotSettingsLabel.DELIVERY_COST',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n saveControlsConfig: {\n apply: {\n title: 'settings.map.DEPOT_PRICE_CONFIG_APPLY_TO',\n action: (editItem, onLayout) => {\n onLayout(TYPE_SECTION_MODEL.depotsPriceApplyTo, editItem);\n },\n },\n },\n mappingLambda: state => state.restaurant.data.depots || [],\n actionLoad: GET_DEPOT_PRICE,\n });\n}\n\nexport function createDepotPriceCopy({ ...args }) {\n return new SectionModel({\n columns: [\n {\n isShowSearch: true,\n onSearch: (value, searchString) => {\n return value.filter(depot => depot?.name?.toLowerCase().includes(searchString?.toLowerCase()));\n },\n accessor: 'depots',\n isEditable: true,\n model: new SectionModel({\n typeModel: TYPE_SECTION_MODEL.depotsPriceApplyTo,\n isEditable: true,\n columns: [\n {\n title: '',\n width: 'calc(100% - 40px)',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n },\n {\n title: '',\n width: '40px',\n accessor: 'selected',\n isEditable: true,\n type: CONTROL_TYPE.checkbox,\n },\n ],\n }),\n isFillContent: true,\n type: CONTROL_TYPE.editTable,\n },\n ],\n isShowSaveConfirmDialog: true,\n actionName: DEPOTPRICE_SETTING_APPLY_TO,\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.depotsPriceApplyTo,\n initNewItemModel: (item, id) => {\n return {\n id,\n depots: getDepots()\n .filter(depot => !id || depot.id !== id)\n .map(depot => ({ id: depot.id, name: depot?.name, selected: false }))\n .sort((a, b) => (a?.name?.toLowerCase() > b?.name?.toLowerCase() ? 1 : -1)),\n };\n },\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createDepotMenuEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n accessor: 'url',\n isEditable: true,\n isFillContent: true,\n isFull: true,\n type: CONTROL_TYPE.frame,\n },\n ],\n actionName: DEPOTMENU_SETTING,\n initNewItemModel: (item, id) => {\n const { login, password } = getMenuCredentials();\n return {\n id,\n url: `https://delivapp-menu.azurewebsites.net/signin`,\n urlTo: `/businessedit/${(item && item.businessId) || 'grilled'}`,\n login,\n password,\n };\n },\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.depotsMenu,\n parentUrl: TYPE_SECTION_MODEL.depots,\n mappingLambda: state => state.restaurant.data.depots || [],\n saveControlsConfig: {\n save: {\n title: 'basic.APPLY_BUTTON',\n isAlwaysActive: true,\n },\n cancel: {\n title: 'basic.CLOSE_BUTTON',\n },\n },\n });\n}\n\nexport function createRestaurateurMenuEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n accessor: 'url',\n isEditable: true,\n isFillContent: true,\n isFull: true,\n type: CONTROL_TYPE.frame,\n },\n ],\n actionName: DEPOTMENU_SETTING,\n initNewItemModel: (item, id) => {\n const { login, password } = getMenuCredentials();\n return {\n id,\n url: `https://delivapp-menu.azurewebsites.net/signin`,\n urlTo: `/businessedit/${(item && item.businessId) || 'grilled'}`,\n login,\n password,\n };\n },\n typeAction: args.typeAction,\n typeModel: '/menu',\n parentUrl: '/',\n mappingLambda: state => state.restaurant.data.depots || [],\n saveControlsConfig: {\n save: {\n title: 'basic.APPLY_BUTTON',\n isAlwaysActive: true,\n },\n cancel: {\n title: 'basic.CLOSE_BUTTON',\n },\n },\n });\n}\n\nexport function createDepotDefaultRegionControlcentersSectionModel({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n return new SectionModel({\n isForceUpdate: true,\n filterOptions: createDepotDefaultRegionControlcentersSectionFilter(),\n columns: [\n {\n title: 'settings.depots.DEPOT_DEFAULT_REGION_CONTROL_CENTER_NAME_LABEL',\n component: item => getDepotDefaultRegionControlCenterName(item),\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.depots.DEPOT_DEFAULT_REGION_CONTROL_CENTER_EDIT_TOOLTIP'),\n },\n ],\n actionLoad: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT_GET,\n actionName: DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters,\n parentUrl: TYPE_SECTION_MODEL.depots,\n tableMinWidth: 600,\n label: 'settings.depotSettingsLabel.REGIONS',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersNew + `?parentId=${id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n ],\n mappingLambda: (state, id) => {\n const depot = state.restaurant.data.depots.find(f => f.id === id);\n return depot?.depotControlCenter || [];\n },\n });\n}\n\nexport function createDepotDefaultRegionControlcentersEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'placeEditor.DEPOT_REGION_LABEL',\n accessor: 'deliveryRegionId',\n connect: state => ({\n values: [{ key: null, value: '-' }]\n .concat(\n (state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || []\n )\n .map(region => ({ key: region.id, value: region?.name })),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.map.DEPOT_EDIT_DEFAULT_CONTROL_CENTER',\n accessor: 'controlCenterId',\n connect: state => ({\n values: [{ key: null, value: '-' }]\n .concat(state.restaurant.data.controlCenters || [])\n .map(center => ({ key: center.controlCenterId, value: center?.name })),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_DEPOT_SHEDULE_ENABLED_LABEL',\n accessor: 'enableSchedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n isShow: (item) => item.enableSchedule,\n type: CONTROL_TYPE.schedule,\n },\n ],\n actionName: DEPOT_DEFAULT_REGION_CONTROL_CENTER_SETTING,\n initNewItemModel: (item) => {\n return item\n ? { ...item, schedule: getInitModel(MODEL_TYPE.scheduleModel, item.schedule) }\n : {\n id: '',\n deliveryRegionId: '',\n controlCenterId: '',\n schedule: getInitModel(MODEL_TYPE.scheduleModel),\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersEdit\n : TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersNew,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters,\n label: 'settings.depotSettingsLabel.REGIONS',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(parentId || id);\n },\n }),\n ],\n mappingLambda: state => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n const depot = state.restaurant.data.depots.find(f => f.id === parentId);\n return depot?.depotControlCenter || [];\n },\n });\n}\n\nexport function createDepotIntegrationsSectionModel({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n return new SectionModel({\n filterOptions: createDepotIntegrationsSectionFilter(),\n columns: [\n {\n title: 'settings.integrations.TYPE_LABEL',\n accessor: 'type',\n width: '250px',\n fixedWidth: '250px',\n isHideDeleteButton: item => item.integrationType !== INTEGRATION_TYPE.squareUp,\n },\n {\n title: 'enums.integrationTypes.SOURCE_ID',\n isShow: item => item.integrationType !== INTEGRATION_TYPE.squareUp,\n accessor: 'sourceId',\n },\n {\n title: 'settings.integrations.IS_DISABLED',\n controlTitle: '',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n centered: true,\n },\n {\n title: 'basic.EDIT_BUTTON',\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.depotIntegrationsEdit,\n iconName: 'editItem',\n isShow: item => item.integrationType !== INTEGRATION_TYPE.squareUp,\n },\n {\n title: '',\n width: '40px',\n fixedWidth: '40px',\n hideInHeader: item => item.integrationType !== INTEGRATION_TYPE.squareUp,\n component: item => {\n if(item && item.integrationType === INTEGRATION_TYPE.squareUp){\n return ;\n }\n },\n isShow: item => item.integrationType === INTEGRATION_TYPE.squareUp,\n },\n ],\n actionName: DEPOT_INTEGRATIONS,\n actionLoad: DEPOT_INTEGRATIONS_GET,\n typeModel: TYPE_SECTION_DEPOT_MODEL.depotIntegrations,\n parentUrl: TYPE_SECTION_MODEL.depots,\n editAction: DEPOT_INTEGRATIONS_UPDATE,\n tableMinWidth: 600,\n hideHeaderItemControls: true,\n key: 'sourceId',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_DEPOT_MODEL.depotIntegrationsNew + `?parentId=${id}`,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n text: i18n.t('settings.square.AUTHORIZE'),\n action: DEPOT_SQUARE_ASSOCIATED_AUTHORIZATION_SHORT,\n isShow: items => {\n return items.some(\n el => el.integrationType === INTEGRATION_TYPE.squareUp && el.squareUpAuthorizationRequired\n );\n },\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n text: i18n.t('settings.square.REVOKE_LABEL'),\n action: DEPOT_SQUARE_ASSOCIATED_REVOKE,\n isShow: items => {\n return items.some(\n el => el.integrationType === INTEGRATION_TYPE.squareUp && !el.squareUpAuthorizationRequired\n );\n },\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n ],\n isForceUpdate: true,\n label: 'settings.depotSettingsLabel.INTEGRATIONS',\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const depot = state.restaurant?.data?.depots.find(f => f.id === id);\n return depot?.integrations?.length ? depot?.integrations?.map(el => {\n const type = getDepotIntegrationTypes().find(f => f.key === el.integrationType);\n return {\n ...el,\n type: (type && type['value']) || '',\n squareUpAuthorizationRequired: depot.squareUpAuthorizationRequired,\n }\n }) : [];\n },\n });\n}\n\nexport function createDepotIntegrationAddSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'enums.integrationTypes.LABEL',\n accessor: 'integrationType',\n isEditable: args.typeAction === TYPE_ACTION.new,\n values: sortItemsByProp(getDepotIntegrationAddTypes(), 'value'),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'enums.integrationTypes.SOURCE_ID',\n placeholder: i18n.t('enums.integrationTypes.PLACEHOLDER_TOKEN'),\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n accessor: 'sourceId',\n isItemValid: item => item?.sourceId?.trim()?.length,\n isFuncRequired: item => args.typeAction === TYPE_ACTION.new && !item?.sourceId?.trim()?.length,\n isEditable: args.typeAction === TYPE_ACTION.new,\n type: CONTROL_TYPE.text,\n formatedFn: args.typeAction === TYPE_ACTION.new ? (() => generateRandomString(12)) : null,\n firmatedIconTooltip: args.typeAction === TYPE_ACTION.new ? i18n.t('enums.integrationTypes.GENERATE_ID') : null,\n formatedIcon: args.typeAction === TYPE_ACTION.new ? 'generateRandom' : null,\n },\n {\n title: 'settings.integrations.IS_DISABLED',\n isInline: true,\n accessor: 'enabled',\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.integrations.DISABLE_DELETE',\n tooltip: 'settings.integrations.DISABLE_DELETE_TOOLTIP',\n isInline: true,\n accessor: 'disableDelete',\n isEditable: true,\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.integrations.USE_REGISTRATION_DATE',\n tooltip: 'settings.integrations.USE_REGISTRATION_DATE_TOOLTIP',\n isInline: true,\n accessor: 'useRegistrationDate',\n isEditable: true,\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.integrations.SKIP_DRIVER_TIP',\n tooltip: 'settings.integrations.SKIP_DRIVER_TIP_TOOLTIP',\n isInline: true,\n accessor: 'skipDriverTip',\n isEditable: true,\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.integrations.SKIP_CODE_WORDS',\n tooltip: 'settings.integrations.SKIP_CODE_WORDS_TOOLTIP',\n isInline: true,\n accessor: 'skipCodeWords',\n isEditable: true,\n isShow: value => value.integrationType !== INTEGRATION_TYPE.squareUp,\n type: CONTROL_TYPE.keywords,\n },\n ],\n actionName: DEPOT_INTEGRATIONS,\n actionLoad: DEPOT_INTEGRATIONS_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.depotIntegrationModel, item),\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.new ? TYPE_SECTION_DEPOT_MODEL.depotIntegrationsNew : TYPE_SECTION_DEPOT_MODEL.depotIntegrationsEdit,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotIntegrations,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id || parentId);\n },\n }),\n ],\n key: \"sourceId\",\n label: 'settings.depotSettingsLabel.INTEGRATIONS',\n stayAfterSaveFn: item => {\n return item.integrationType === INTEGRATION_TYPE.squareUp;\n },\n mappingLambda: state => {\n const { parentId } = getHistoryLocationParams(args.params);\n const depot = state.restaurant.data.depots.find(f => f.id === parentId);\n return (depot && depot.integrations) || [];\n },\n });\n}\n\nexport function createDepotSquareAssociatedLocationSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n accessor: 'squareAssociatedLocations',\n isEditable: true,\n type: CONTROL_TYPE.squareAssociatedLocations,\n },\n ],\n actionName: DEPOT_SQUARE_ASSOCIATED_LOCATION,\n typeAction: args.typeAction,\n saveControlsConfig: {\n cancel: {\n action: (item, history) => {\n history.push(TYPE_SECTION_DEPOT_MODEL.depotIntegrations + '?id=' + item.id);\n },\n },\n },\n typeModel: TYPE_SECTION_MODEL.depotSquareAssociatedLocation,\n initNewItemModel: (item) => item,\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createDepotProvidersSectionModel({typeModel, parentUrl, pathForNew, pathForEdit, isHideBack, breadcrumbs, label,...args}) {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n filterOptions: createProvidersSectionFilter(),\n columns: [\n {\n title: \"\",\n accessor: \"provider\",\n width: \"50px\",\n fixedWidth: \"50px\",\n component: item => {\n return (\n \n )\n }\n },\n {\n title: \"settings.orderingmenu.PROVIDER\",\n accessor: \"providerName\",\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.orderingmenu.AUTO_ASSIGMENT_RETRIES\",\n accessor: \"autoAssignmentRetries\",\n type: CONTROL_TYPE.text,\n centered: true,\n },\n {\n title: \"settings.orderingmenu.ENABLED\",\n isEditable: true,\n withLoader: true,\n accessor: \"enabled\",\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.orderingmenu.AUTO_ASSIGMENT\",\n isEditable: true,\n withLoader: true,\n accessor: \"autoAssignment\",\n type: CONTROL_TYPE.switch\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: pathForEdit || TYPE_SECTION_DEPOT_MODEL.providerEdit,\n iconName: \"editItem\",\n tooltipText: \"Edit\",\n isHideDeleteButton: item=> !item.virtual\n },\n {\n //empty item for align items\n title: \"\",\n accessor: \"enabled\",\n width: \"90px\",\n fixedWidth: \"90px\",\n type: CONTROL_TYPE.label,\n hideInHeader: true,\n isInline: true,\n isShow: item => !item.virtual\n },\n ],\n isForceUpdate: true,\n editAction: DEPOT_PROVIDER_UPDATE,\n dragActionName: DEPOT_PROVIDERS_REORDER,\n actionName: DEPOT_PROVIDERS,\n actionLoad: DEPOT_PROVIDERS_GET,\n typeAction: args.typeAction,\n tableMinWidth: 800,\n typeModel: typeModel || TYPE_SECTION_DEPOT_MODEL.provider,\n parentUrl: parentUrl || TYPE_SECTION_MODEL.depots,\n actionOnUnmount: DEPOT_PROVIDERS_UNMOUNT,\n dragSortPropName: \"priority\",\n label: label || 'settings.orderingmenu.PROVIDER',\n sortByFunc: function(items) {\n return sortByProp(items, \"priority\");\n },\n breadcrumbs: breadcrumbs || [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n })\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: (pathForNew || TYPE_SECTION_DEPOT_MODEL.providerNew) + `?parentId=${id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back, isShow: () => !isHideBack })\n ],\n initNewItemModel: (item) => item,\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const depot = (state.restaurant.data.depots || []).find(f=> f.id === id) || {};\n return depot.providers || [];\n }\n });\n}\n\nexport function createDepotProviderEditSectionModel({parentUrl, typeModel, breadcrumbs, ...args}) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.PROVIDER\",\n accessor: \"providerName\",\n isShow: item=> !item.virtual,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.PROVIDER\",\n accessor: \"providerName\",\n isEditable: true,\n isShow: item=> item.virtual,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.AUTO_ASSIGMENT_TIMEOUT\",\n accessor: \"autoAssignmentTimeout\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.ENABLED\",\n accessor: \"enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.AUTO_ASSIGMENT\",\n accessor: \"autoAssignment\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.AUTO_ASSIGMENT_RETRIES\",\n accessor: \"autoAssignmentRetries\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.VENUE_ID\",\n accessor: \"venueId\",\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShow: item => item.provider === EXTERNAL_COURIER_PROVIDER.wolt\n },\n {\n title: \"settings.orderingmenu.USER\",\n accessor: \"user\",\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShow: item => item.provider === EXTERNAL_COURIER_PROVIDER.haat\n },\n {\n title: \"settings.orderingmenu.PASSWORD\",\n accessor: \"password\",\n isEditable: true,\n type: CONTROL_TYPE.password,\n isShow: item => item.provider === EXTERNAL_COURIER_PROVIDER.haat\n },\n {\n title: \"settings.orderingmenu.VIRTUAL_AUTOMATIC_DELIVERY\",\n accessor: \"virtualAutomaticDelivery\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShow: item => !!item.virtual\n },\n {\n title: 'placeEditor.DEPOT_REGION_LABEL',\n isShow: item => item.autoAssignment,\n accessor: 'autoAssignmentRegionIds',\n refreshedId: 'autoAssignmentRegionIds',\n placeholderMulti: (selectedData, data) => {\n const filteredDepots = data.filter(depot => selectedData.includes(depot.value));\n\n return filteredDepots.map(depot => depot.value).join(', ');\n },\n getDefaultData: (state, selected) => {\n const result = [];\n const regions = state.restaurant.data.configuration.regions || [];\n const autoAssignmentRegions = selected?.autoAssignmentRegionIds;\n\n if(regions && autoAssignmentRegions) {\n regions.forEach((e) => {\n if(autoAssignmentRegions.includes(e.name)) {\n result.push({key: `${e.id}`, value: e?.name});\n }\n });\n }\n\n return result;\n },\n connect: state => {\n return {\n values: []\n .concat(\n (state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || []\n )\n .map(region => ({key: `${region.id}`, value: region?.name})),\n }\n },\n isEditable: true,\n type: CONTROL_TYPE.defaultMultiSelect,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_DEPOT_SHEDULE_ENABLED_LABEL',\n accessor: 'enableSchedule',\n isEditable: true,\n isFillContent: true,\n isShow: item => item.autoAssignment,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'autoAssignmentSchedule',\n isEditable: true,\n isFillContent: true,\n isShow: item => item.autoAssignment && item.enableSchedule,\n type: CONTROL_TYPE.schedule,\n },\n ],\n actionName: DEPOT_PROVIDER,\n actionLoad: DEPOT_PROVIDERS_GET,\n typeAction: args.typeAction,\n parentUrl: parentUrl || TYPE_SECTION_DEPOT_MODEL.provider,\n typeModel: typeModel || (args.typeAction === 'edit' ?\n TYPE_SECTION_DEPOT_MODEL.providerEdit :\n TYPE_SECTION_DEPOT_MODEL.providerNew)\n ,\n getLabel: (data) => {\n return data ? data.providerName : \"\"\n },\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back })\n ],\n breadcrumbs: breadcrumbs || [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(parentId || id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL_PROVIDERS',\n }),\n ],\n initNewItemModel: (item) => item ?\n {...getInitModel(MODEL_TYPE.provider, item), autoAssignmentSchedule: getInitModel(MODEL_TYPE.scheduleModel, item.autoAssignmentSchedule)} :\n {...getInitModel(MODEL_TYPE.provider, { virtual: true }), autoAssignmentSchedule: getInitModel(MODEL_TYPE.scheduleModel)}\n ,\n mappingLambda: state => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n const depot = (state.restaurant.data.depots || []).find(f => f.id === parentId) || {};\n return depot.providers || [];\n }\n });\n}\n\nfunction createDepotsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(depot) {\n return getDepotFilter(this.selected, depot);\n });\n\n filterOptionsModel.addOptions(\n 'withMenu',\n CONTROL_TYPE.checkbox,\n 'settings.depots.WITH_MENU_FILTER_LABEL',\n depot => !!depot.businessId,\n false,\n true\n );\n\n filterOptionsModel.addOptions(\n 'withoutMenu',\n CONTROL_TYPE.checkbox,\n 'settings.depots.WITHOUT_MENU_FILTER_LABEL',\n depot => !depot.businessId,\n false,\n true\n );\n\n /*\n filterOptionsModel.addOptions(\n \"withPay\",\n CONTROL_TYPE.checkbox,\n \"settings.depots.PAY_ENABLED\",\n depot => depot.onlineState === CREDIT_ACCEPT.selling,\n false,\n true\n );\n\n filterOptionsModel.addOptions(\n \"withoutPay\",\n CONTROL_TYPE.checkbox,\n \"settings.depots.PAY_DISABLED\",\n depot => depot.onlineState !== CREDIT_ACCEPT.selling,\n false,\n true\n );\n */\n\n /* filterOptionsModel.addOptions(\n \"disable_delivery\",\n CONTROL_TYPE.checkbox,\n \"settings.depots.SERVICES_ENABLED\",\n depot => !depot.disable_delivery && !depot.disable_takeaway,\n false,\n true\n );\n\n filterOptionsModel.addOptions(\n \"disable_takeaway\",\n CONTROL_TYPE.checkbox,\n \"settings.depots.SERVICES_DISABLED\",\n depot => depot.disable_delivery || depot.disable_takeaway,\n false,\n true\n ); */\n\n return filterOptionsModel;\n}\n\nfunction createBusinessCategoriesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(businessCategory) {\n return getBusinesMenuCategoriesFilter(this.selected, businessCategory);\n });\n\n return filterOptionsModel;\n}\n\nfunction createProvidersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(provider) {\n return getProvidersSectionFilter(this.selected, provider);\n });\n\n return filterOptionsModel;\n}\n\nfunction createDepotUsersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function() {\n // check filterSearchConfig in model\n return true\n });\n\n return filterOptionsModel;\n}\n\nfunction createDepotIntegrationsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(integration) {\n return getDepotIntegrationsSectionFilter(this.selected, integration);\n });\n\n return filterOptionsModel;\n}\n\nfunction createDepotDefaultRegionControlcentersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(depotControlCenter) {\n return getDepotDefaultRegionControlCenterNameFilter(this.selected, depotControlCenter);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport {REGION_SETTING} from \"../../store/reducers/restaurant/restaurant-actions\";\n\nimport {CONTROL_TYPE, MODEL_CONTROL_TYPE, MODEL_TYPE, TYPE_ACTION, TYPE_SECTION_MODEL} from \"../../utils/enums\";\nimport {timeToMinutes} from \"../../utils/convertTime\";\nimport {getControlCenters, isMobileWidth} from '../restaurant';\nimport {getRegionFilter, sortItemsByProp} from \"../filter\";\nimport {getInitModel} from \"../initModels\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createRegionsSectionModel() {\n return new SectionModel({\n filterOptions: createRegionsSectionFilter(),\n columns: [\n {\n title: \"placeEditor.REGION_LABEL\",\n accessor: \"name\"\n },\n {\n title: \"settings.map.DEPOT_EDIT_DEFAULT_CONTROL_CENTER\",\n accessor: \"defaultControlCenterId\",\n component: region => {\n const controlCenters = getControlCenters();\n const controlCenter =\n controlCenters.find(\n center => center.controlCenterId === region.defaultControlCenterId\n ) || {};\n return controlCenter.name || \"\";\n },\n },\n {\n title:\n i18n.t(\n \"settings.settings.numericalSettings.MAX_DELIVERY_TIME_LABEL\"\n ) + `, ${i18n.t(\"settings.map.TIME_MEASURE\")}`,\n centered: true,\n accessor: \"maxDeliveryTime\",\n component: region => timeToMinutes(region.maxDeliveryTime),\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.regionsEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.users.USER_TOOLS_EDIT_TOOLTIP\")\n }\n ],\n actionName: REGION_SETTING,\n typeModel: TYPE_SECTION_MODEL.regions,\n tableMinWidth: 800,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.regionsNew\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.TITLE_REGIONS\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => {\n const data = (state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || [];\n return sortItemsByProp(data, \"name\");\n }\n });\n}\n\nexport function createRegionsEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"placeEditor.REGION_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.map.DEPOT_EDIT_DEFAULT_CONTROL_CENTER\",\n accessor: \"defaultControlCenterId\",\n connect: state => ({\n values: [{ key: null, value: \"-\" }]\n .concat(state.restaurant.data.controlCenters || [])\n .map(center => ({\n key: center.controlCenterId,\n value: center.name\n }))\n }),\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.settings.numericalSettings.MAX_DELIVERY_TIME_LABEL\",\n accessor: \"maxDeliveryTime\",\n measure: i18n.t(\"settings.map.TIME_MEASURE\"),\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"\",\n accessor: \"region\",\n isEditable: true,\n isFillContent: true,\n boundsByRegion: true,\n type: CONTROL_TYPE.mapRegion\n }\n ],\n actionName: REGION_SETTING,\n initNewItemModel: item =>\n getInitModel(MODEL_TYPE.region, {\n ...item,\n maxDeliveryTime: timeToMinutes(\n item && item.maxDeliveryTime ? item.maxDeliveryTime : \"00:00:00\"\n ),\n pendingOrdersGroupingTimeDelta: timeToMinutes(\n item && item.pendingOrdersGroupingTimeDelta\n ? item.pendingOrdersGroupingTimeDelta\n : \"00:00:00\"\n ),\n setDefaultRegion: !item\n }),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_MODEL.regionsEdit\n : TYPE_SECTION_MODEL.regionsNew,\n parentUrl: TYPE_SECTION_MODEL.regions,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.TITLE_REGIONS\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => (state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || []\n });\n}\n\nfunction createRegionsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n region\n ) {\n return getRegionFilter(this.selected, region);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\n\nimport {\n SERVICE_CITIES_SETTING, SERVICE_CITIES_SETTING_GET,\n SERVICE_CITIES_SETTING_TOGGLE\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {\n CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_SECTION_MODEL,\n MODEL_CONTROL_TYPE, TYPE_ACTION\n} from \"../../utils/enums\";\nimport { getCityFilter, sortItemsByProp } from \"../filter\";\nimport {isMobileWidth} from \"../restaurant\";\nimport { createControlModel } from \"../controlModelFactory\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createServiceCitiesSectionModel() {\n return new SectionModel({\n filterOptions: createServiceCitiesSectionFilter(),\n columns: [\n {\n title: \"orders.NAME_LABEL\",\n accessor: \"name\"\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.serviceCitiesEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.service-city.EDIT_TOOLTIP\"),\n },\n ],\n isForceUpdate: true,\n actionLoad: SERVICE_CITIES_SETTING_GET,\n editAction: SERVICE_CITIES_SETTING_TOGGLE,\n actionName: SERVICE_CITIES_SETTING,\n typeModel: TYPE_SECTION_MODEL.serviceCities,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.serviceCitiesNew\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.SERVICE_CITIES_TITLE\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => ((state.restaurant.data && state.restaurant.data.serviceCities) || []).map(el => ({...el, id: el.id || el.name})),\n sortByFunc: items=> sortItemsByProp(items)\n });\n}\n\nexport function createNewServiceCitySectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.service-city.ALLOW_CITY_ONLY_ADDRESS\",\n accessor: \"allowCityOnlyAddress\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n inlineWidth: '49.5%',\n },\n {\n title: \"assistance.CITY_LABEL\",\n accessor: \"name\",\n isEditable: true,\n isHideSearch: true,\n type: CONTROL_TYPE.cityAddress,\n isFillContent: true,\n },\n ],\n actionLoad: SERVICE_CITIES_SETTING_GET,\n actionName: SERVICE_CITIES_SETTING,\n initNewItemModel: (d) => {\n return {\n id: (d && d.id) || \"\",\n name: (d && d.name) || \"\",\n useAsDefaultCity: (d && d.useAsDefaultCity) || false,\n allowCityOnlyAddress: (d && d.allowCityOnlyAddress) || false,\n location: (d && d.location) || null,\n modelType: MODEL_TYPE.serviceCities\n };\n },\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.new ? TYPE_SECTION_MODEL.serviceCitiesNew : TYPE_SECTION_MODEL.serviceCitiesEdit,\n parentUrl: TYPE_SECTION_MODEL.serviceCities,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.SERVICE_CITIES_TITLE\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => ((state.restaurant.data && state.restaurant.data.serviceCities) || []).map(el => ({...el, id: el.id || el.name}))\n });\n}\n\nfunction createServiceCitiesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n city\n ) {\n return getCityFilter(this.selected, city);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\n\nimport {\n CONTROL_TYPE,\n TYPE_SECTION_MODEL,\n MODEL_TYPE,\n TYPE_ACTION,\n MODEL_CONTROL_TYPE\n} from \"../../utils/enums\";\nimport { getNamedPlaceFilter, sortItemsByProp } from \"../filter\";\nimport { getAddress } from \"../order\";\nimport { getInitModel } from \"../initModels\";\nimport { NAMED_PLACES, NAMED_PLACES_GET } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport { createControlModel } from \"../controlModelFactory\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createNamedPlacesSectionModel() {\n return new SectionModel({\n filterOptions: createNamedPlacesSectionFilter(),\n columns: [\n {\n title: \"settings.PLACE_NAME_LABLE\",\n accessor: \"name\"\n },\n {\n title: \"settings.PLACE_ADDRESS\",\n component: function(place) {\n if (!place || !place.address) return \"\";\n return getAddress(place.address.address);\n },\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.namedPlacesEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.users.USER_TOOLS_EDIT_TOOLTIP\")\n }\n ],\n actionName: NAMED_PLACES,\n actionLoad: NAMED_PLACES_GET,\n tableMinWidth: 800,\n typeModel: TYPE_SECTION_MODEL.namedPlaces,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.namedPlacesNew\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.NAMED_PLACES_TITLE\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => state?.restaurant?.data?.namedPlaces,\n sortByFunc: items=> sortItemsByProp(items)\n });\n}\n\nexport function createNamedPlacesEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.PLACE_NAME_LABLE\",\n accessor: \"name\",\n isEditable: true,\n isItemValid: item => item?.name?.trim()?.length,\n isFuncRequired: item => !item?.name?.trim()?.length,\n type: CONTROL_TYPE.text\n },\n {\n title: \"new-order-directive.ADDRESS_LABEL\",\n accessor: \"address\",\n isEditable: true,\n isShowIcon: true,\n isCanBeEmpty: true,\n withEmpty: true,\n type: CONTROL_TYPE.address\n },\n {\n title: \"\",\n accessor: \"address\",\n isEditable: true,\n isFillContent: true,\n isHideSearch: true,\n type: CONTROL_TYPE.mapAddress\n }\n ],\n actionName: NAMED_PLACES,\n initNewItemModel: item => getInitModel(MODEL_TYPE.namedPlaces, item),\n typeAction: args.typeAction,\n actionLoad: NAMED_PLACES_GET,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_MODEL.namedPlacesEdit\n : TYPE_SECTION_MODEL.namedPlacesNew,\n parentUrl: TYPE_SECTION_MODEL.namedPlaces,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.NAMED_PLACES_TITLE\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.GEO_SETTINGS_LABEL\" }),\n ],\n mappingLambda: state => state.restaurant.data?.namedPlaces || []\n });\n}\n\nfunction createNamedPlacesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(place) {\n return getNamedPlaceFilter(this.selected, place);\n });\n\n return filterOptionsModel;\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ORDER_STATE, ICONS_MARKER_TYPE } from \"../../../utils/enums\";\n\nconst StatusOrder = ({ order }) => (\n \n);\n\nexport default StatusOrder;\n","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { COURIER_STATE, SHIFT_TYPE, WAITER_TYPES } from \"../../../utils/enums\";\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport { END_SHIFT, START_SHIFT_BACKUP } from \"../../../store/reducers/userModel/userModel-actions\";\n\nimport Waiter from \"../Waiter/Waiter\";\n\nconst CourierShiftControl = ({ \n t, \n userId,\n type,\n controlCenterId,\n startShiftBackUp, endShift\n}) => {\n const getShiftConfig = () => {\n switch (type) {\n case COURIER_STATE.startShift:\n return {\n tooltipText: t(\"couriers.START_SHIFT_TOOLTIP\"),\n errorMessage: t(\"couriers.START_SHIFT_ERROR\"),\n actionShift: ()=> startShiftBackUp({ courierId: userId, shiftType: SHIFT_TYPE.Normal, controlCenterId: controlCenterId })\n }\n case COURIER_STATE.endShift:\n return {\n tooltipText: t(\"couriers.END_SHIFT_TOOLTIP\"),\n errorMessage: t(\"couriers.END_SHIFT_ERROR\"),\n actionShift: ()=> endShift({ courierId: userId })\n }\n case COURIER_STATE.startBackup:\n return {\n tooltipText: t(\"couriers.START_BACKUP_TOOLTIP\"),\n errorMessage: t(\"couriers.START_BACKUP_ERROR\"),\n actionShift: ()=> startShiftBackUp({ courierId: userId, shiftType: SHIFT_TYPE.Backup })\n }\n case COURIER_STATE.endBackup:\n return {\n tooltipText: t(\"couriers.END_BACKUP_TOOLTIP\"),\n errorMessage: t(\"couriers.END_BACKUP_ERROR\"),\n actionShift: ()=> endShift({ courierId: userId })\n }\n default:\n return { tooltipText: \"\", errorMessage: \"\", actionShift: ()=> {} }\n }\n }\n const config = getShiftConfig();\n\n useEffect(()=> {\n \n }, [userId]);\n\n return (\n
\n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => ({\n startShiftBackUp: data => dispatch(createAction(START_SHIFT_BACKUP, data)),\n endShift: data => dispatch(createAction(END_SHIFT, data))\n});\n\nconst mapStateToProps = state => ({\n controlCenterId: state.restaurant.data && \n state.restaurant.data.activeControlCenter && \n state.restaurant.data.activeControlCenter.controlCenterId\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(CourierShiftControl));\n","import React, {useCallback, useEffect, useState} from 'react';\nimport classNames from 'classnames';\nimport Waiter from '../Waiter/Waiter';\nimport {USER_ROLES, WAITER_TYPES} from '../../../utils/enums';\nimport {ModalPopup} from '../ModalPopup/ModalPopup';\nimport './style.scss';\nimport {useTranslation, withTranslation} from 'react-i18next';\nimport ShiftCourierControlTimeSelect from '../ShiftCourierControlTimeSelect';\nimport ShiftCourierControlDepotsList from '../ShiftCourierControlDepotsSelect';\nimport ShiftCourierControlDepot from '../ShiftCourierControlDepot';\nimport {useSelector} from 'react-redux';\nimport {getRestaurantDepots} from '../../../store/selectors';\nimport SwitchControl from '../SwitchControl/SwitchControl';\nimport SectionItemSelect from '../SectionItemSelect/SectionItemSelect';\nimport {getControlCenters} from '../../../services/restaurant';\nimport {getUserRole} from '../../../utils/auth-util';\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst getDate = date => {\n if (date === null) return null;\n return date;\n};\n\nconst CurrentShiftCourierEditPopup =\n ({\n popupOpen,\n hanldeOnPopupClose,\n onClose,\n courierCycle,\n controlCenterId,\n fleet,\n setSelectedFleet,\n selectedControlCenter,\n setControlCenterId,\n availableControlCenters\n }) => {\n const { t } = useTranslation();\n const depots = useSelector(getRestaurantDepots);\n const { startTime, allowedDepots, endTime, shiftType } = courierCycle;\n const courierDepots = allowedDepots ? depots.filter(depot => allowedDepots.includes(depot.id)) : [];\n const hasControlCenters = !!getControlCenters(true)?.length\n\n const [viewAllMode, setViewAllMode] = useState(false);\n const [isBackup, setIsBackup] = useState(shiftType === 1);\n\n const [selectedDepots, setSelectedDepots] = useState(courierDepots);\n const [timeSettings, setTimeSettings] = useState({startTime: getDate(startTime), endTime: getDate(endTime)});\n\n const role = getUserRole().map(item => item?.toLowerCase());\n let [filteredCC, setFilteredCC] = useState(null);\n const isCanStartAnyCCShift = role?.includes(USER_ROLES.deliveryManager.toLowerCase());\n\n useEffect(() => {\n if (!selectedControlCenter) return\n setControlCenterId(selectedControlCenter)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedControlCenter]);\n\n const handleUpdateSelectedDepots = depots => {\n setSelectedDepots(depots);\n setViewAllMode(false);\n };\n\n const handleOnRemoveDepot = removeId => {\n setSelectedDepots(depots => depots.filter(d => d.id !== removeId));\n };\n\n const onCloseModal = () => {\n return hanldeOnPopupClose({\n shiftType: isBackup ? 1 : 0,\n controlCenterId,\n ...timeSettings,\n allowedDepots: selectedDepots?.map(d => d.id) || [],\n });\n };\n\n const setTimeSettingsCallBack = useCallback(setTimeSettings, []);\n\n useEffect(() => {\n if (isBackup && availableControlCenters && availableControlCenters[0] && availableControlCenters[0]?.controlCenterId !== null) {\n setFilteredCC([{controlCenterId: null, name: '-'}, ...availableControlCenters]);\n } else if (!isBackup && filteredCC && filteredCC[0] && filteredCC[0]?.controlCenterId === null) {\n setFilteredCC([...availableControlCenters]);\n if (controlCenterId === null) {\n setControlCenterId(availableControlCenters[0] ? availableControlCenters[0].controlCenterId : null);\n }\n } else {\n setFilteredCC(availableControlCenters?.filter(cc => cc?.name));\n }\n\n // eslint-disable-next-line\n }, [isBackup, availableControlCenters]);\n\n\n return (\n \n {viewAllMode && (\n setViewAllMode(false)}\n />\n )}\n {!viewAllMode && (\n <>\n
\n
\n {t(\"couriers.BACKUP_SHIFT_TOOLTIP\")}\n \n
\n \n setViewAllMode(true)}\n />\n {!!filteredCC?.length &&\n
\n ({\n key: controlCenter.controlCenterId,\n value: controlCenter.name\n }))\n }}\n onPropChange={val=> setControlCenterId(val.controlCenterId)}\n />\n
}\n {(fleet && fleet.length > 0) && (\n
\n ({\n key: e.vehicleId,\n value: e.plateNumber ? e.plateNumber : e.vehicleId,\n })),\n }}\n onPropChange={val => setSelectedFleet(val.vehicleId)}\n />\n
\n )}\n
\n
\n \n
\n {t('basic.CLOSE_BUTTON')}\n
\n
\n \n )}\n
\n }\n />\n );\n};\n\nexport default withTranslation()(CurrentShiftCourierEditPopup);\n","import React, {useState} from 'react';\nimport {withTranslation} from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\nimport i18n from '../../../i18n';\nimport IconButton from '../IconButton/IconButton';\nimport CurrentShiftCourierEditPopup from '../CurrentShiftCourierEditPopup';\nimport {createAction} from '../../../utils/sagaHelper';\nimport {\n AVAILABLE_CONTROL_CENTERS,\n USER_CURRENT_SHIFTS_EDIT,\n} from '../../../store/reducers/userModel/userModel-actions';\nimport {connect} from 'react-redux';\nimport {FLEET_SETTINGS_GET} from \"../../../store/reducers/restaurant/restaurant-actions.js\";\n\nconst CurrentShiftCourierEdit = ({ updateHistoryShift, courier, updateCurrentShift, selectedControlCenter, availableControlCenters, getAvailableControlCenters, fleet, getDefaultFleet }) => {\n const [popupOpen, setPopupOpen] = useState(false);\n const [controlCenterId, setControlCenterId] = useState(null);\n const [selectedFleet, setSelectedFleet] = useState(null);\n const courierControlCenter = courier?.cycle?.controlCenterId || selectedControlCenter\n\n const handleOnClick = () => {\n const courierId = courier && courier.userId;\n getAvailableControlCenters(courierId);\n getDefaultFleet();\n\n setPopupOpen(true);\n };\n\n const handleOnCourierShift = (courierId, data) => {\n if (courierId) {\n const shiftId = updateHistoryShift ? courier.shiftId : null;\n return updateCurrentShift({\n courierId: courierId,\n vehicleId: selectedFleet,\n controlCenterId: controlCenterId || courierControlCenter,\n shiftId,\n ...data\n }).then(() => setPopupOpen(false));\n }\n };\n\n const hanldeOnPopupClose = data => {\n const courierId = courier && courier.userId;\n handleOnCourierShift(courierId, data);\n };\n\n return (\n
\n handleOnClick()}\n />\n {popupOpen && (\n setPopupOpen(false)}\n />\n )}\n
\n );\n};\n\nconst mapStateToProps = state => {\n return {\n selectedControlCenter: state.restaurant.data.selectedControlCenter,\n availableControlCenters: state.restaurant.data.availableControlCenters,\n fleet: state.restaurant.data.fleet,\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n updateCurrentShift: data => dispatch(createAction(USER_CURRENT_SHIFTS_EDIT, data)),\n getAvailableControlCenters: data => dispatch(createAction(AVAILABLE_CONTROL_CENTERS, data)),\n getDefaultFleet: () => dispatch(createAction(FLEET_SETTINGS_GET, [])),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(CurrentShiftCourierEdit));\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport IconButton from '../IconButton';\nimport './style.scss';\nimport SearchBox from '../SearchBox';\nimport { useTranslation } from 'react-i18next';\n\nconst CurrentShiftDepotAssignSelect = ({ selectedCouriers, couriers, onCancel, onConfirm }) => {\n const { t } = useTranslation();\n\n const [localSelectedCouriers, setLocalSelectedCouriers] = useState(selectedCouriers || []);\n const [searchString, setSearchString] = useState('');\n\n const handleOnConfirm = () => {\n onConfirm(localSelectedCouriers);\n };\n\n const handleOnAddDepot = c => {\n setLocalSelectedCouriers(cs => [...cs, { firstName: c.firstName, userId: c.userId }]);\n };\n\n const handleOnRemoveFromSelected = userId => {\n setLocalSelectedCouriers(cs => cs.filter(c => c.userId !== userId));\n };\n\n const filterCouriers = couriers => {\n const selectedIds = localSelectedCouriers?.map(c => c.userId);\n return couriers?.filter(\n c =>\n !selectedIds?.includes(c.userId) &&\n c.firstName\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchString?.toLowerCase().trim())\n );\n };\n\n return (\n
\n \n
\n
\n {localSelectedCouriers.map(c => (\n
\n {c.firstName}\n handleOnRemoveFromSelected(c.userId)} />\n
\n ))}\n
\n
\n {couriers &&\n filterCouriers(couriers).map(c => (\n handleOnAddDepot(c)}\n >\n {c.firstName}\n
\n
\n ))}\n
\n
\n
\n
\n {t('basic.APPLY_BUTTON')}\n
\n
\n {t('basic.CANCEL_BUTTON')}\n
\n
\n
\n );\n};\n\nexport default CurrentShiftDepotAssignSelect;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { ModalPopup } from '../ModalPopup/ModalPopup';\nimport './style.scss';\nimport { withTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { getUserModel } from '../../../store/selectors';\nimport CurrentShiftDepotAssignSelect from '../CurrentShiftDepotAssignSelect';\n\nconst CurrentShiftDepotAssignPopup = ({ popupOpen, handleOnPopupClose, onClose, depotCouriers }) => {\n const couriers = useSelector(getUserModel).filter(user => user.cycle);\n\n const onCloseModal = selectedCouriers => {\n return handleOnPopupClose({\n courierIds: selectedCouriers?.map(c => c.userId) || [],\n });\n };\n\n return (\n \n \n
\n }\n />\n );\n};\n\nexport default withTranslation()(CurrentShiftDepotAssignPopup);\n","import React, { useState } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\nimport i18n from '../../../i18n';\nimport IconButton from '../IconButton/IconButton';\nimport { createAction } from '../../../utils/sagaHelper';\nimport { UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS } from '../../../store/reducers/userModel/userModel-actions';\nimport { connect } from 'react-redux';\nimport CurrentShiftDepotAssignPopup from '../CurrentShiftDepotAssignPopup';\n\nconst CurrentShiftDepotAssign = ({ depot, updateDepotCouriers }) => {\n const [popupOpen, setPopupOpen] = useState(false);\n\n const handleOnClick = () => {\n setPopupOpen(true);\n };\n\n const handleOnUpdateDepotCouriers = (depotId, data) => {\n if (depotId) {\n return updateDepotCouriers({ depotId: depotId, courierIds: data.courierIds }).then(() => setPopupOpen(false));\n }\n };\n\n const handleOnPopupClose = data => {\n const depotId = depot && depot.id;\n handleOnUpdateDepotCouriers(depotId, data);\n };\n\n return (\n
\n handleOnClick()}\n />\n {popupOpen && (\n setPopupOpen(false)}\n />\n )}\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => ({\n updateDepotCouriers: data => dispatch(createAction(UPDATE_CURRENT_SHIFTS_DEPOT_COURIERS, data)),\n});\nexport default connect(null, mapDispatchToProps)(withTranslation()(CurrentShiftDepotAssign));\n","import React, {useEffect, useState} from 'react';\nimport './style.scss';\nimport {fetchShiftProvidersOrders} from \"../../../api/user-requests.js\";\nimport {objectKeysToUpperLowerCase} from \"../../../utils/objects-util.js\";\nimport {useTranslation} from \"react-i18next\";\nimport OrderTitleInfo from \"../OrderTitleInfo/index.js\";\nimport {getAmountForType, getDeliveredDate, getFormattedDeliveryDuration} from \"../../../services/order.js\";\nimport {getCurrencyIcons} from \"../../../utils/enums.js\";\nimport {getStaticTime} from \"../../../utils/convertTime.js\";\nimport StatusOrder from \"../StatusOrder/index.js\";\n\nconst ServiceProviderHistoryOrders = ({orderIds}) => {\n const {t} = useTranslation();\n const [orders, setOrders] = useState(null);\n\n useEffect(() => {\n if(!orderIds) {\n return;\n }\n\n fetchShiftProvidersOrders(orderIds).then(data => {\n setOrders(objectKeysToUpperLowerCase(data.data));\n }).catch(() => {\n setOrders([]);\n })\n }, [orderIds]);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {orders?.map(order => (\n \n \n \n \n \n \n \n ))}\n \n
{t('couriers.NAME_TABLE_TITLE')}{t('shifts.ORDER_ID')}{t('couriers.PAYMENT_CASH')}{t('couriers.PAYMENT_CREDIT_CARD')}{t('couriers.DELIVERY_TIME_TABLE_TITLE')}{t('couriers.DELIVERY_AT_TABLE_TITLE')}
{order.orderId}{`${getAmountForType(order, true)}${getCurrencyIcons(order.currency)}`}{`${getAmountForType(order)}${getCurrencyIcons(order.currency)}`}{getFormattedDeliveryDuration(order)}{getStaticTime(getDeliveredDate(order))}
\n )\n}\n\nexport default ServiceProviderHistoryOrders","import React from \"react\";\nimport i18n from \"../../i18n\";\n\nimport {\n checkForControlCenter,\n getDepotFilter,\n getDepotUsersSectionFilter,\n getShiftsFilter,\n getShiftsHistoryFilter,\n getUsersFilteredByDepotId,\n sortUsers,\n} from '../filter';\nimport {getFullName, getTimePerDay, isRTL, isShowControlCenterSearch} from \"../userModel\";\nimport {getInitModel} from \"../initModels\";\nimport {getAmountForType, getDeliveredDate, getFormattedDeliveryDuration} from \"../order\";\nimport {createControlModel} from \"../controlModelFactory\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport FilterOptionsModel, {FILTER_OPTION_TYPE} from '../../models/filterOptionsModel';\n\nimport {\n USER_CURRENT_SHIFTS,\n USER_SHIFT_COURIERS_CSV,\n USER_SHIFT_DOWNLOAD_PDF,\n USER_SHIFT_HISTORY,\n USER_SHIFTS,\n} from '../../store/reducers/userModel/userModel-actions';\nimport {\n CURRENT_SHIFT_USERS, GET_PROVIDER_SHIFT_HISTORY,\n GET_USER_SHIFT_HISTORY,\n SHIFT_PROVIDERS,\n SHIFT_PROVIDERS_GET,\n SHIFTS_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_STYLE_TYPE,\n CONTROL_TYPE,\n COURIER_STATE,\n DATECONTROL_TYPE, EXTERNAL_CYCLE_STATE, FILTER_TYPE,\n getCurrencyIcons,\n getExternalCourierProviderName, getExternalCourierState,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n SHIFT_TYPE_VALUES,\n SHIFTS_MODEL, TYPE_ACTION,\n USER_FILTER_ROLES,\n getCourierShiftTypes\n} from '../../utils/enums';\nimport {\n DATE_FORMAT, DATE_FORMAT_DMY2_HM, DATE_FORMAT_DMY_SHORT, DATE_TIME_FORMAT_DAYTIME,\n getFormattedDate,\n getStaticTime,\n prepareToday,\n TIME_FORMAT_USER,\n} from '../../utils/convertTime';\n\nimport StatusOrder from \"../../app/components/StatusOrder\";\nimport LinkDownload from \"../../app/components/LinkDownload\";\nimport OrderTitleInfo from \"../../app/components/OrderTitleInfo\";\nimport {Avatar} from \"../../app/components/Avatar/Avatar\";\nimport {\n getControlCenterNameById,\n getCourierNameByShiftId,\n getExternalCycleLogoByProvider,\n getHistoryCourierNameByShiftHistory, getProviderNameById, getSelectedControlCenterMulti, getShiftNameById,\n isMobileWidth,\n} from '../restaurant';\nimport CourierShiftControl from \"../../app/components/CourierShiftControl/CourierShiftControl\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from '../../utils/routesHelper';\nimport TextWithTooltip from '../../app/components/TextWithTooltip';\nimport CurrentShiftCourierEdit from '../../app/components/CurrentShiftCourierEdit';\nimport CurrentShiftDepotAssign from '../../app/components/CurrentShiftDepotAssign';\nimport Pusher from '../pusher';\nimport {getUserRole} from '../../utils/auth-util.js';\nimport ServiceProviderHistoryOrders from \"../../app/components/ServiceProviderHistoryOrders/index.js\";\nimport IconButton from \"../../app/components/IconButton/index.js\";\nimport moment from \"moment\";\n\nexport function createShiftsSectionModel() {\n return new SectionModel({\n filterOptions: createShiftsSectionFilter(),\n skipUpdateFilterOptions: true,\n columns: [\n {\n width: '150px',\n fixedWidth: '150px',\n title: \"shifts.WORKER_NAME_LABEL\",\n isHideDeleteButton: item => item.isProvider,\n component: function(shift) {\n if(shift.isProvider) {\n return getExternalCourierProviderName(shift);\n } else {\n return shift.courierName;\n }\n },\n },\n {\n width: '100px',\n fixedWidth: '100px',\n title: \"shifts.START_DATE_LABEL\",\n component: function(shift) {\n return (\n getFormattedDate(shift.startDate, DATE_FORMAT_DMY_SHORT) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n },\n {\n width: '100px',\n fixedWidth: '100px',\n title: \"shifts.START_TIME_LABEL\",\n component: function(shift) {\n return (\n getFormattedDate(shift.startDate, TIME_FORMAT_USER) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n },\n {\n width: '100px',\n fixedWidth: '100px',\n title: \"shifts.END_DATE_LABEL\",\n component: function(shift) {\n return (\n getFormattedDate(shift.endDate, DATE_FORMAT_DMY_SHORT) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n },\n {\n width: '100px',\n fixedWidth: '100px',\n title: \"shifts.END_TIME_LABEL\",\n component: function(shift) {\n return (\n getFormattedDate(shift.endDate, TIME_FORMAT_USER) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n },\n {\n title: \"shifts.SHIFT_TYPE\",\n width: '115px',\n fixedWidth: '115px',\n component: (shift) => (\n
\n {SHIFT_TYPE_VALUES[shift.shiftType]}\n
\n ),\n centered: true\n },\n {\n width: '10%',\n fixedWidth: '10%',\n title: \"shifts.VEHICLE_PLATE_ID_LABEL\",\n accessor: \"vehiclePlateId\",\n centered: true,\n },\n {\n width: '15%',\n fixedWidth: '15%',\n title: \"shifts.NOTES_LABEL\",\n accessor: \"notes\",\n centered: true,\n },\n {\n width: '10%',\n fixedWidth: '10%',\n title: \"shifts.ADVANCED_PAYMENT_LABEL\",\n accessor: \"advancePayment\",\n centered: true,\n },\n {\n width: '100px',\n fixedWidth: '100px',\n title: \"shifts.HOURS_PER_DAY_LABEL\",\n component: function(shift) {\n return getTimePerDay(shift);\n },\n centered: true,\n },\n {\n title: \"\",\n width: \"40px\",\n fixedWidth: \"40px\",\n hideInHeader: true,\n component: function(shift) {\n return (\n \n );\n },\n link: USER_SHIFT_DOWNLOAD_PDF,\n type: CONTROL_TYPE.linkAction\n },\n {\n title: \"\",\n width: \"45px\",\n fixedWidth: \"45px\",\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: SHIFTS_MODEL.shiftHistory,\n iconName: \"eyeIcon\",\n iconFullWH: true,\n tooltipText: i18n.t(\"shifts.SHIFTS_HISTORY\"),\n },\n {\n width: \"40px\",\n fixedWidth: \"40px\",\n type: CONTROL_TYPE.link,\n link: SHIFTS_MODEL.historyEdit,\n iconName: \"editItem\",\n isShow: shift => shift.endDate,\n tooltipText: i18n.t(\"settings.users.USER_TOOLS_EDIT_TOOLTIP\"),\n },\n {\n title: '',\n width: \"40px\",\n fixedWidth: \"40px\",\n hideInHeader: true,\n isShow: shift => !shift.endDate,\n component: (user) => (\n \n ),\n }\n ],\n key: \"shiftId\",\n label: 'shifts.HISTORY',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' })],\n actionName: USER_SHIFTS,\n footer: \"shiftsSummary\",\n hideHeaderItemControls: true,\n tableMinWidth: 1200,\n typeModel: SHIFTS_MODEL.history,\n isForceUpdate: true,\n controls: [\n createControlModel({\n action: USER_SHIFT_COURIERS_CSV,\n icon: \"excelIcon\",\n text: i18n.t(\"shifts.SAVE_BUTTON\"),\n tooltipText: i18n.t(\"shifts.SAVE_BUTTON\"),\n type: MODEL_CONTROL_TYPE.iconControl\n })\n ],\n mappingLambda: state => {\n const selectedControlCenterIds = state.restaurant.data.selectedControlCenterMulti || [];\n const depots = state.restaurant.data.depots;\n const users = state.userModel.data.filter(user =>\n user.cycle\n && (!!selectedControlCenterIds.length && user?.cycle?.controlCenterId ? checkForControlCenter(user.cycle, selectedControlCenterIds) : true)\n );\n\n const couriers = users.map(user => ({\n depotsNames: depots.filter(depot => user?.cycle?.allowedDepots?.includes(depot.id)) || '-',\n shiftId: user.cycle?.shiftId || '-',\n showControlCenterName: selectedControlCenterIds.length !== 1,\n ...user,\n }));\n\n return (state.restaurant.data.shifts || []).reduce((acc, shift) => {\n const find = couriers.find(c => c.shiftId === shift.shiftId);\n return find && !shift.endDate ? acc.concat({...shift, userId: find.userId, cycle: {...shift, ...find.cycle}}) : acc.concat(shift);\n }, []);\n },\n actionLoad: SHIFTS_GET\n });\n}\n\nexport function createShiftsEditSectionModel({ ...args }) {\n return new SectionModel({\n key: \"shiftId\",\n columns: [\n {\n title: \"shifts.START_DATE_LABEL\",\n accessor: \"startDate\",\n isEditable: true,\n type: CONTROL_TYPE.date\n },\n {\n title: \"shifts.START_TIME_LABEL\",\n accessor: \"startDate\",\n isEditable: true,\n timeType: DATECONTROL_TYPE.time,\n type: CONTROL_TYPE.date\n },\n {\n title: \"shifts.END_DATE_LABEL\",\n accessor: \"endDate\",\n isEditable: true,\n type: CONTROL_TYPE.date\n },\n {\n title: \"shifts.END_TIME_LABEL\",\n accessor: \"endDate\",\n isEditable: true,\n timeType: DATECONTROL_TYPE.time,\n type: CONTROL_TYPE.date\n },\n {\n title: \"shifts.NOTES_LABEL\",\n accessor: \"notes\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"shifts.ADVANCED_PAYMENT_LABEL\",\n accessor: \"advancePayment\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"shifts.VEHICLE_PLATE_ID_LABEL\",\n accessor: \"vehiclePlateId\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"shifts.SAVE_BUTTON\",\n isEditable: true,\n accessor: \"shiftId\",\n actionName: USER_SHIFT_DOWNLOAD_PDF,\n type: CONTROL_TYPE.linkDownload\n }\n ],\n actionName: USER_SHIFTS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.shifts, item),\n typeAction: args.typeAction,\n breadcrumbs: [\n createBreadcrumbModel({label: 'header.menu.SHIFTS_LABEL'}),\n createBreadcrumbModel({label: 'shifts.HISTORY'}),\n ],\n getLabel: () => {\n const {id} = getHistoryLocationParams(window.location.search);\n return id ? getShiftNameById(id) : '-'\n },\n typeModel: SHIFTS_MODEL.historyEdit,\n parentUrl: SHIFTS_MODEL.history,\n mappingLambda: state => state.restaurant.data.shifts || [],\n actionLoad: SHIFTS_GET\n });\n}\n\nexport function createShiftHistorySectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createShiftHistorySectionFilter(),\n columns: [\n {\n title: \"couriers.NAME_TABLE_TITLE\",\n width: \"400px\",\n component: function(order) {\n return (
);\n }\n },\n {\n title: \"couriers.PAYMENT_CASH\",\n width: \"80px\",\n component: function(order) {\n return (
{`${getAmountForType(order, true)}${getCurrencyIcons(order.currency)}`}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.PAYMENT_CREDIT_CARD\",\n width: \"100px\",\n component: function(order) {\n return (
{`${getAmountForType(order)}${getCurrencyIcons(order.currency)}`}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.DELIVERY_TIME_TABLE_TITLE\",\n width: \"120px\",\n component: function(order) {\n return (
{getFormattedDeliveryDuration(order)}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.DELIVERY_AT_TABLE_TITLE\",\n width: \"150px\",\n component: function(order) {\n return (
{getStaticTime(getDeliveredDate(order), isRTL())}
);\n }\n },\n {\n title: \"couriers.STATUS_TABLE_TITLE\",\n width: \"80px\",\n component: function(order) {\n return ;\n }\n }\n ],\n actionName: USER_SHIFT_HISTORY,\n actionLoad: GET_USER_SHIFT_HISTORY,\n urlNewItem: SHIFTS_MODEL.shiftHistory + `/new${args.params}`,\n showDeleteButton: false,\n hideHeaderItemControls: true,\n footer: \"shiftsHistorySummary\",\n typeModel: SHIFTS_MODEL.shiftHistory,\n parentUrl: SHIFTS_MODEL.history,\n label: 'shifts.HISTORY',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' }),\n createBreadcrumbModel({ label: 'shifts.HISTORY' }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getCourierNameByShiftId(id) || getHistoryCourierNameByShiftHistory();\n },\n })\n ],\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n mappingLambda: state => {\n const depots = state.restaurant?.data?.depots || []\n const orders = state.restaurant.data.shiftsHistory\n ? state.restaurant.data.shiftsHistory.orders || []\n : []\n\n return orders?.map(order => ({\n ...order,\n depotName: depots?.find(depot => depot?.id === order?.depotId)?.name || ''\n }))\n },\n })\n}\n\nexport function createCurrentShiftUsersSectionModel() {\n return new SectionModel({\n filterOptions: createCurrentShiftUsersSectionFilter(),\n isForceUpdate: true,\n hideHeaderItemControls: true,\n columns: [\n {\n title: \"invitation.USERNAME_LABEL\",\n width: '185px',\n fixedWidth: '185px',\n component: function(user) {\n return ;\n },\n accessor: 'avatarUrl',\n type: CONTROL_TYPE.image,\n },\n {\n title: \"assistance.DEPOT_LABEL\",\n width: '170px',\n fixedWidth: '170px',\n component: (user) => {\n const names = user?.depotsNames?.map(depot => depot.name)\n return names &&
\n {names.join(', ')}\n
\n },\n },\n {\n title: \"shifts.CONTROL_CENTER\",\n width: '170px',\n fixedWidth: '170px',\n isShow: user => {\n return user.showControlCenterName;\n },\n component: (user) => {\n return user?.cycle?.controlCenterId ? getControlCenterNameById(user?.cycle?.controlCenterId) : '';\n },\n },\n {\n width: '120px',\n fixedWidth: '120px',\n title: \"shifts.START_DATE_LABEL\",\n component: function(user) {\n return (\n getFormattedDate(user.cycle?.startTime, DATE_FORMAT) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n isShow: () => false,\n },\n {\n title: \"shifts.START_TIME_LABEL\",\n width: '100px',\n fixedWidth: '100px',\n component: function(user) {\n return (\n getFormattedDate(user.cycle?.startTime, TIME_FORMAT_USER) ||\n '-'\n );\n },\n centered: true,\n isShow: () => false,\n },\n {\n width: '120px',\n fixedWidth: '120px',\n title: \"shifts.END_DATE_LABEL\",\n component: function(user) {\n return (\n getFormattedDate(user.cycle?.endTime, DATE_FORMAT) ||\n i18n.t(\"shifts.ACTIVE_LABEL\")\n );\n },\n centered: true,\n isShow: () => false,\n },\n {\n title: \"shifts.END_TIME_LABEL\",\n width: '91px',\n fixedWidth: '91px',\n component: function(user) {\n return (\n getFormattedDate(user.cycle?.endTime, TIME_FORMAT_USER) ||\n '-'\n );\n },\n centered: true,\n isShow: () => false,\n },\n {\n title: \"shifts.SHIFT_TYPE\",\n width: '100px',\n fixedWidth: '100px',\n component: (user) => (\n
\n {SHIFT_TYPE_VALUES[user.cycle.shiftType]}\n
\n ),\n centered: true\n },\n {\n title: ''\n },\n {\n title: \"shifts.ACTIONS\",\n width: \"160px\",\n // textRight: true,\n // textAlign: isRTL() ? 'left' : 'right',\n },\n {\n title: \"\",\n width: \"40px\",\n fixedWidth: \"40px\",\n component: function(user) {\n return (\n \n );\n },\n link: USER_SHIFT_DOWNLOAD_PDF,\n type: CONTROL_TYPE.linkAction,\n hideInHeader: true,\n isShow: user => !!user.cycle\n },\n {\n title: \"\",\n width: \"45px\",\n fixedWidth: \"45px\",\n type: CONTROL_TYPE.link,\n iconFullWH: true,\n link: SHIFTS_MODEL.currentShiftHistory,\n iconName: \"eyeIcon\",\n tooltipText: i18n.t(\"shifts.SHIFTS_HISTORY\"),\n hideInHeader: true,\n },\n {\n title: '',\n width: \"40px\",\n fixedWidth: \"40px\",\n hideInHeader: true,\n component: (user) => (\n \n ),\n },\n {\n title: '',\n width: '40px',\n fixedWidth: \"40px\",\n component: (user) => (\n
\n \n
\n ),\n type: CONTROL_TYPE.linkIconComponent,\n wrapOnMobileWidth: '992',\n link: 'courierShiftControl',\n hideInHeader: true,\n }\n ],\n key: \"shiftId\",\n actionName: USER_SHIFTS,\n actionLoad: CURRENT_SHIFT_USERS,\n typeModel: SHIFTS_MODEL.currentShiftUsers,\n tableMinWidth: 1200,\n hideCellForSort: true,\n label: 'shifts.CURRENT_SHIFT',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n openCourierShiftPopup: true\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.filter\n }),\n ],\n mappingLambda: state => {\n const selectedControlCenterIds = state.restaurant.data.selectedControlCenterMulti || [];\n const depots = state.restaurant.data.depots;\n const users = state.userModel.data.filter(user =>\n user.cycle\n && (!!selectedControlCenterIds.length && user?.cycle?.controlCenterId ? checkForControlCenter(user.cycle, selectedControlCenterIds) : true)\n );\n\n const couriers = users.map(user => ({\n depotsNames: depots.filter(depot => user?.cycle?.allowedDepots?.includes(depot.id)) || '-',\n shiftId: user.cycle?.shiftId || '-',\n showControlCenterName: selectedControlCenterIds.length !== 1,\n ...user,\n }))\n\n return couriers;\n },\n });\n}\n\nexport function createSummaryShiftProviderSectionModel() {\n return new SectionModel({\n filterOptions: createShiftsProviderSectionFilter(),\n showFilterValueInHeader: [{\n filterOptionName: 'dateStart',\n formatData: (data) => moment(data).format(DATE_TIME_FORMAT_DAYTIME)\n }, {\n filterOptionName: 'endDate',\n formatData: (data) => moment(data).format(DATE_TIME_FORMAT_DAYTIME)\n }],\n skipUpdateFilterOptions: true,\n isForceUpdate: true,\n columns: [\n {\n title: \"shifts.PROVIDER_NAME_LABEL\",\n width: '185px',\n fixedWidth: '185px',\n component: function(user) {\n return ;\n },\n },\n {\n title: \"shifts.COUNT\",\n width: '100px',\n fixedWidth: '100px',\n accessor: 'count',\n centered: true\n },\n {\n title: \"shifts.TOTAL_PRICE_LABEL\",\n width: '100px',\n fixedWidth: '100px',\n component: function(user) {\n return `${user.totalPrice} ${getCurrencyIcons(user.currency)}`\n },\n centered: true\n },\n {\n title: \"shifts.TOTAL_ORDERS_LABEL\",\n width: '100px',\n fixedWidth: '100px',\n accessor: 'totalOrders',\n centered: true,\n },\n {\n title: \"\",\n width: \"40px\",\n fixedWidth: \"40px\",\n hideInHeader: true,\n component: function(shift) {\n return (\n \n );\n },\n link: USER_SHIFT_DOWNLOAD_PDF,\n type: CONTROL_TYPE.linkAction\n },\n {\n title: \"\",\n width: \"45px\",\n fixedWidth: \"45px\",\n type: CONTROL_TYPE.link,\n iconFullWH: true,\n link: SHIFTS_MODEL.currentShiftProviderHistory,\n iconName: \"eyeIcon\",\n tooltipText: i18n.t(\"shifts.SHIFTS_PROVIDER_HISTORY\"),\n hideInHeader: true,\n },\n ],\n key: \"providerId\",\n actionName: SHIFT_PROVIDERS,\n actionLoad: SHIFT_PROVIDERS_GET,\n typeModel: SHIFTS_MODEL.providers,\n tableMinWidth: 1200,\n hideCellForSort: true,\n label: 'shifts.PROVIDERS',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.filter\n }),\n ],\n mappingLambda: state => {\n const providers = state.restaurant.data.shiftProviders || [];\n const ordersProvider = state.restaurant.data.ordersProvider || [];\n return providers.map(provider => {\n const find = ordersProvider.find(p => p.id === provider.providerId);\n return {\n ...find,\n ...provider,\n }\n });\n },\n });\n}\n\nexport function createCurrentShiftEditSectionModel({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: \"shifts.START_TIME_LABEL\",\n accessor: \"startTime\",\n isEditable: true,\n timeType: DATECONTROL_TYPE.time,\n type: CONTROL_TYPE.date\n },\n {\n title: \"shifts.END_TIME_LABEL\",\n accessor: \"endTime\",\n isEditable: true,\n timeType: DATECONTROL_TYPE.time,\n type: CONTROL_TYPE.date\n },\n {\n title: 'Allowed depots',\n accessor: \"allowedDepots\",\n isEditable: true,\n type: CONTROL_TYPE.allowedDepotsList,\n },\n {\n title: \"shifts.SAVE_BUTTON\",\n isEditable: true,\n accessor: \"shiftId\",\n actionName: USER_SHIFT_DOWNLOAD_PDF,\n type: CONTROL_TYPE.linkDownload,\n isShow: item => !!item.shiftId\n }\n ],\n actionName: USER_CURRENT_SHIFTS,\n initNewItemModel: user => getInitModel(MODEL_TYPE.currentShift, user),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: SHIFTS_MODEL.currentShiftDepotEdit,\n parentUrl: SHIFTS_MODEL.currentShiftUsers,\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const users = getUsersFilteredByDepotId(state.userModel.data, false)\n return users.find(user => user.userId === id)\n }\n });\n}\n\n\nexport function createCurrentShiftHistorySectionModel({...args}) {\n return new SectionModel({\n filterOptions: createShiftHistorySectionFilter(),\n columns: [\n {\n title: \"couriers.NAME_TABLE_TITLE\",\n width: \"400px\",\n component: function(order) {\n return (
);\n }\n },\n {\n title: \"shifts.ORDER_ID\",\n width: \"80px\",\n component: function(order) {\n return (
{order.orderId}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.PAYMENT_CASH\",\n width: \"80px\",\n component: function(order) {\n return (
{`${getAmountForType(order, true)}${getCurrencyIcons(order.currency)}`}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.PAYMENT_CREDIT_CARD\",\n width: \"100px\",\n component: function(order) {\n return (
{`${getAmountForType(order)}${getCurrencyIcons(order.currency)}`}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.DELIVERY_TIME_TABLE_TITLE\",\n width: \"120px\",\n component: function(order) {\n return (
{getFormattedDeliveryDuration(order)}
);\n },\n hideWidth: \"570\"\n },\n {\n title: \"couriers.DELIVERY_AT_TABLE_TITLE\",\n width: \"150px\",\n component: function(order) {\n return (
{getStaticTime(getDeliveredDate(order), isRTL())}
);\n }\n },\n {\n title: \"couriers.STATUS_TABLE_TITLE\",\n width: \"80px\",\n component: function(order) {\n return ;\n }\n }\n ],\n showDeleteButton: false,\n footer: \"shiftsHistorySummary\",\n hideHeaderItemControls: true,\n actionLoad: GET_USER_SHIFT_HISTORY,\n typeModel: SHIFTS_MODEL.currentShiftHistory,\n parentUrl: SHIFTS_MODEL.currentShiftUsers,\n label: 'shifts.HISTORY',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' }),\n createBreadcrumbModel({ label: 'shifts.PROVIDERS' }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getCourierNameByShiftId(id);\n },\n })\n ],\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const depots = state.restaurant?.data?.depots || []\n const orders = state.restaurant.data.shiftsHistory\n ? state.restaurant.data.shiftsHistory.orders || []\n : []\n\n const ordersWithDepotName = orders.map(order => ({\n ...order,\n depotName: depots?.find(depot => depot?.id === order?.depotId)?.name || ''\n }))\n\n return id === state.restaurant.data?.shiftsHistory?.id ? ordersWithDepotName : []\n }\n });\n}\n\nexport function createCurrentShiftHistoryTripSectionModel({...args}) {\n return new SectionModel({\n filterOptions: createShiftHistoryTripSectionFilter(),\n actionPagination: GET_PROVIDER_SHIFT_HISTORY,\n paginationKey: 'id',\n columns: [\n {\n title: \"couriers.COURIER_NAME_TABLE_TITLE\",\n component: function(order) {\n return (
{order.driverInfo?.name || '-'}
);\n }\n },\n {\n title: \"couriers.CONTROL_CENTER_TABLE_TITLE\",\n component: function(order) {\n return (
{order.controlCenterName}
);\n }\n },\n {\n title: 'couriers.ORDERS_TABLE_TITLE',\n accessor: '',\n component: (item, onLayout) => {\n return item.ordersIds.length && onLayout(SHIFTS_MODEL.currentShiftProviderHistoryOrder + \"?itemId=\" + item.id, item)}\n >\n {item.ordersIds.length}\n {!!item.ordersIds.length && (\n \n )}\n
\n },\n isLayout: true,\n },\n {\n title: \"couriers.DISTANCE_TABLE_TITLE\",\n component: function(order) {\n return (
{order.priceInfo?.distance || '-'}
);\n },\n },\n {\n title: \"couriers.PRICE_TABLE_TITLE\",\n component: function(order) {\n return (
{order.priceInfo?.price || '0'} {getCurrencyIcons(order.priceInfo?.currency)}
);\n },\n },\n {\n title: \"couriers.START_DATE_TABLE_TITLE\",\n component: function(order) {\n return (
{getFormattedDate(order.startTime, DATE_FORMAT_DMY2_HM) || '-'}
);\n }\n },\n {\n title: \"couriers.CONFIRM_DATE_TABLE_TITLE\",\n component: function(order) {\n return (
{getFormattedDate(order.confirmDate, DATE_FORMAT_DMY2_HM) || '-'}
);\n }\n },\n {\n title: \"couriers.END_DATE_TABLE_TITLE\",\n component: function(order) {\n return (
{getFormattedDate(order.endDate, DATE_FORMAT_DMY2_HM) || '-'}
);\n }\n },\n {\n title: \"couriers.STATUS_TABLE_TITLE\",\n component: function(order) {\n return (
{getExternalCourierState(order.state)}
);\n }\n },\n ],\n showDeleteButton: false,\n hideCellForSort: true,\n hideHeaderItemControls: true,\n footer: \"shiftsHistoryTripSummary\",\n typeModel: SHIFTS_MODEL.currentShiftHistory,\n parentUrl: SHIFTS_MODEL.providers,\n label: 'shifts.HISTORY',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' }),\n createBreadcrumbModel({ label: 'shifts.PROVIDERS' }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getProviderNameById(id);\n },\n })\n ],\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n createControlModel({ type: MODEL_CONTROL_TYPE.filter }),\n ],\n mappingLambda: state => {\n const controlCenters = state.restaurant.data.controlCenters || [];\n const orders = state.restaurant.data.shiftsTrip\n ? state.restaurant.data.shiftsTrip.orders || []\n : [];\n return orders.map(order => {\n const findControl = controlCenters.find(cc => cc.controlCenterId === order.controlCenterId);\n return {...order, controlCenterName: findControl?.name || ''}\n });\n }\n });\n}\n\nexport function createCurrentShiftHistoryOrdrsModel({...args}) {\n return new SectionModel({\n columns: [{\n title: \"couriers.NAME_TABLE_TITLE\",\n width: \"400px\",\n accessor: 'id',\n component: (model) => {\n return \n }\n }],\n initNewItemModel: (item) => item,\n isHideControls: true,\n isHideSaveButton: true,\n hideHeaderItemControls: true,\n isLayoutForm: true,\n typeModel: SHIFTS_MODEL.currentShiftProviderHistoryOrder,\n parentUrl: SHIFTS_MODEL.currentShiftProviderHistory,\n typeAction: TYPE_ACTION.edit,\n mappingLambda: (state, id) => {\n const orders = state.restaurant.data.shiftsTrip\n ? state.restaurant.data.shiftsTrip.orders || []\n : [];\n return orders;\n }\n })\n}\n\nexport function createCurrentShiftDepotsSectionModel() {\n return new SectionModel({\n filterOptions: createCurrentShiftDepotsSectionFilter(),\n isForceUpdate: true,\n hideHeaderItemControls: true,\n columns: [\n {\n title: \"\",\n width: '52px',\n fixedWidth: '52px',\n component: function(depot) {\n return ;\n },\n type: CONTROL_TYPE.image,\n },\n {\n title: 'settings.map.DEPOT_EDIT_NAME_LABEL',\n accessor: 'name',\n width: '200px',\n fixedWidth: '200px',\n component: depot => ,\n },\n {\n title: \"controlCenters.SELECT_COURIERS_LABEL\",\n component: (depot) => {\n const names = depot.users.map(user => getFullName(user))\n return names.join(', ')\n }\n },\n {\n title: 'controlCenters.CHOOSE_COURIER',\n width: '150px',\n // hideInHeader: true,\n centered: true,\n component: (depot) => (\n \n ),\n isShow: item => !item.isProvider,\n },\n ],\n key: \"businessId\",\n actionName: USER_SHIFTS,\n typeModel: SHIFTS_MODEL.currentShiftUsers,\n tableMinWidth: 1200,\n hideCellForSort: true,\n label: 'shifts.CURRENT_SHIFT',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SHIFTS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n openCourierShiftPopup: true\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.filter\n }),\n ],\n mappingLambda: state => {\n const depots = state.restaurant.data.depots || []\n const users = state.userModel.data\n const allowedDepotsUsers = users.filter(user => user?.cycle?.allowedDepots);\n return depots.map(depot => ({\n users: allowedDepotsUsers.filter(user => user ? user.cycle.allowedDepots.includes(depot.id) : '-'),\n ...depot\n }))\n },\n sortByFunc: items => sortUsers(items)\n });\n}\n\n\nfunction createCurrentShiftUsersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n user\n ) {\n return getDepotUsersSectionFilter(this.selected, user);\n });\n\n //Control centers\n let selectControlCenterOption = filterOptionsModel.addOptions(\"controlCenterIds\", CONTROL_TYPE.multiselect, i18n.t(\"shifts.CONTROL_CENTER\"));\n selectControlCenterOption.selected = Pusher.instance.getControlCenterMultiChannel() || [];\n selectControlCenterOption.mappingLambda = state =>\n sortUsers((state.restaurant && state.restaurant.data && state.restaurant.data.controlCenters) || [])\n .map(controlCenter=> ({\n key: controlCenter.name,\n value: controlCenter.controlCenterId\n })\n );\n selectControlCenterOption.isShow = isShowControlCenterSearch;\n\n return filterOptionsModel;\n}\nfunction createCurrentShiftDepotsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n depot\n ) {\n return getDepotFilter(this.selected, depot);\n });\n\n return filterOptionsModel;\n}\n\nfunction createShiftsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n shift\n ) {\n return getShiftsFilter(this.selected, shift);\n });\n\n filterOptionsModel.addOptions(\n \"dateLink\",\n CONTROL_TYPE.dateLink,\n \"shifts.START_DATE_LABEL\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n {\n startKey: \"dateStart\",\n endKey: \"endDate\",\n },\n );\n\n filterOptionsModel.addOptions(\n \"dateStart\",\n CONTROL_TYPE.date,\n \"shifts.START_DATE_LABEL\",\n null,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"endDate\",\n CONTROL_TYPE.date,\n \"shifts.END_DATE_LABEL\",\n null,\n null,\n null,\n true\n );\n\n //Users\n filterOptionsModel.addOptions(\n \"user\",\n CONTROL_TYPE.usersPopup,\n i18n.t(\"shifts.USER\"),\n null,\n null,\n null,\n true\n );\n\n const shiftTypeFilter = filterOptionsModel.addOptions(\n \"shiftType\",\n CONTROL_TYPE.select,\n i18n.t(\"shifts.SHIFT_TYPE\"),\n null,\n null,\n null,\n true\n );\n shiftTypeFilter.addItem(i18n.t(\"shifts.ALL\"), null);\n getCourierShiftTypes().forEach(({key, value}) => {\n shiftTypeFilter.addItem(value, key);\n });\n\n //Control centers\n const userRole = getUserRole();\n const isControlCenterManager = (userRole || []).some(item => item === USER_FILTER_ROLES.controlCenterManager);\n\n let selectControlCenterOption = filterOptionsModel.addOptions(FILTER_OPTION_TYPE.controlCenter, CONTROL_TYPE.select, i18n.t(\"shifts.CONTROL_CENTER\"));\n selectControlCenterOption.selected = isControlCenterManager ? null : undefined;\n selectControlCenterOption.mappingLambda = state => [{ key: i18n.t(\"admin-orders.ADMIN_ORDERS_SEARCH_FILTER_ALL\"), value: null }].concat(\n sortUsers((state.restaurant && state.restaurant.data && state.restaurant.data.controlCenters) || [])\n .map(controlCenter=> ({\n key: controlCenter.name,\n value: controlCenter.controlCenterId\n }))\n );\n selectControlCenterOption.isShow = isShowControlCenterSearch;\n\n //use filter state\n const filterState = Pusher.instance.getShiftHistoryFilterStateChannel() || {}\n for(let key in filterState){\n filterOptionsModel.options[key].selected = filterState[key]?.selected ? filterState[key]?.selected : null\n }\n\n const selectedControlCenter = getSelectedControlCenterMulti();\n if(selectedControlCenter.length === 1) {\n filterOptionsModel.options[\"controlCenter\"].selected = selectedControlCenter[0];\n }\n\n const {from, to} = prepareToday();\n filterOptionsModel.options[\"dateStart\"].selected = from;\n filterOptionsModel.options[\"endDate\"].selected = to;\n\n return filterOptionsModel;\n}\n\nfunction createShiftsProviderSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\n \"dateLink\",\n CONTROL_TYPE.dateLink,\n \"\",\n null,\n false,\n null,\n false,\n null,\n CONTROL_STYLE_TYPE.inline,\n null,\n null,\n {\n startKey: \"dateStart\",\n endKey: \"endDate\",\n }\n );\n\n filterOptionsModel.addOptions(\n \"dateStart\",\n CONTROL_TYPE.date,\n \"shifts.START_DATE_LABEL\",\n null,\n null,\n null,\n true\n );\n\n filterOptionsModel.addOptions(\n \"endDate\",\n CONTROL_TYPE.date,\n \"shifts.END_DATE_LABEL\",\n null,\n null,\n null,\n true\n );\n\n //Control centers\n const userRole = getUserRole();\n const isControlCenterManager = (userRole || []).some(item => item === USER_FILTER_ROLES.controlCenterManager);\n\n let selectControlCenterOption = filterOptionsModel.addOptions(FILTER_OPTION_TYPE.controlCenter, CONTROL_TYPE.select, i18n.t(\"shifts.CONTROL_CENTER\"));\n selectControlCenterOption.selected = isControlCenterManager ? null : undefined;\n selectControlCenterOption.mappingLambda = state => [{ key: \"-\", value: null }].concat(\n sortUsers((state.restaurant && state.restaurant.data && state.restaurant.data.controlCenters) || [])\n .map(controlCenter=> ({\n key: controlCenter.name,\n value: controlCenter.controlCenterId\n }))\n );\n selectControlCenterOption.isShow = isShowControlCenterSearch;\n\n const filterState = Pusher.instance.getShiftProviderHistoryFilterStateChannel() || {}\n for(let key in filterState){\n filterOptionsModel.options[key].selected = filterState[key]?.selected ? filterState[key]?.selected : null\n }\n\n const {from, to} = prepareToday();\n filterOptionsModel.options[\"dateStart\"].selected = from;\n filterOptionsModel.options[\"endDate\"].selected = to;\n\n return filterOptionsModel;\n}\n\nfunction createShiftHistorySectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(\n order\n ) {\n return getShiftsHistoryFilter(this.selected, order);\n });\n\n return filterOptionsModel;\n}\n\nfunction createShiftHistoryTripSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\n 'states',\n CONTROL_TYPE.groupCheckbox,\n i18n.t('couriers.STATUS_TABLE_TITLE'),\n null,\n null,\n [\n {\n title: i18n.t('couriers.STATUS_TABLE_TITLE'),\n isCheckAllGroup: true,\n passEmptyFilters: true,\n filterType: FILTER_TYPE.and,\n items: Object.keys(EXTERNAL_CYCLE_STATE).map(key => ({\n name: `status-${EXTERNAL_CYCLE_STATE[key]}`,\n label: getExternalCourierState(EXTERNAL_CYCLE_STATE[key]),\n selected: EXTERNAL_CYCLE_STATE[key] !== EXTERNAL_CYCLE_STATE.canceled,\n filterType: FILTER_TYPE.or,\n value: EXTERNAL_CYCLE_STATE[key],\n filterFunction: order => true,\n }))\n },\n ],\n null,\n null,\n null,\n true\n )\n\n return filterOptionsModel;\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nexport default ({ text, typeStatus }) => (\n
\n {!!text &&
{text}
}\n
\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getFullName } from \"../../../services/userModel\";\n\nimport { Avatar } from \"../Avatar/Avatar\";\n\nexport default ({ isShowName = true, value }) => (\n
\n \n {isShowName && (\n
{getFullName(value)}
\n )}\n
\n);\n","import React from 'react';\nimport i18n from '../../i18n';\n\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\n\nimport {\n CONTROL_TYPE,\n courierAssociationModes,\n MODEL_CONTROL_TYPE,\n POPUP_ITEM_TYPE,\n TYPE_SECTION_MODEL,\n TYPE_STATUS,\n} from '../../utils/enums';\nimport {getControlCentersFilter, sortByProp} from '../filter';\nimport { getStaticTime } from '../../utils/convertTime';\nimport { isRTL } from '../userModel';\nimport {\n RESTAURANT_CONTROL_CENTER_STATUS_GET,\n SETTINGS_CONTROL_CENTER,\n SETTINGS_CONTROL_CENTER_ACTIVATE,\n SETTINGS_CONTROL_CENTER_CHANGEUSER,\n SETTINGS_CONTROL_CENTER_DEACTIVATE,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport StatusControl from '../../app/components/StatusControl';\nimport UserInfoControl from '../../app/components/UserInfoControl';\nimport { createControlModel } from '../controlModelFactory';\nimport { getControlCenterNameById, isMobileWidth } from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\n\nexport function createControlCentersSectionModel() {\n return new SectionModel({\n filterOptions: createControlCentersSectionFilter(),\n columns: [\n {\n title: 'controlCenters.NAME_LABEL',\n accessor: 'name',\n fixedWidth: '240px',\n width: '240px',\n },\n {\n title: 'controlCenters.OPERATED_BY_LABEL',\n component: function(center) {\n return center.userModel ? : '';\n },\n fixedWidth: '420px',\n width: '420px',\n },\n {\n title: 'controlCenters.STARTED_ON_LABEL',\n component: function(center) {\n return center.info && center.info.startTime\n ? getStaticTime(center.info.startTime, false, isRTL()) || ''\n : '';\n },\n fixedWidth: '240px',\n width: '240px',\n },\n {\n title: 'controlCenters.STATUS_LABEL',\n component: function(center) {\n return (\n \n );\n },\n width: 'auto',\n fixedWidth: 'auto',\n },\n {\n title: 'controlCenters.ACTIONS',\n width: '80px',\n },\n {\n title: '',\n fixedWidth: '45px',\n width: '45px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.controlCentersActivate,\n iconName: 'start',\n tooltipText: i18n.t('controlCenters.START_SHIFT_TOOLTIP'),\n isShow: function(controlCenter) {\n return !controlCenter.alwaysOn && !controlCenter.info;\n },\n },\n {\n title: '',\n fixedWidth: '45px',\n width: '45px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n tooltipText: i18n.t('controlCenters.STOP_SHIFT_TOOLTIP'),\n link: TYPE_SECTION_MODEL.controlCentersDeactivate,\n iconName: 'stop',\n isShow: function(controlCenter) {\n return !controlCenter.alwaysOn && controlCenter.info;\n },\n },\n {\n title: '',\n fixedWidth: '45px',\n width: '45px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.controlCentersChangeuser,\n iconName: 'reset',\n tooltipText: i18n.t('controlCenters.RESET_SHIFT_TOOLTIP'),\n isShow: function(controlCenter) {\n return !controlCenter.alwaysOn && controlCenter.info;\n },\n },\n {\n title: '',\n width: '40px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.controlCentersEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('controlCenters.EDIT_CONTROL_CENTER_TOOLTIP'),\n }\n ],\n key: 'controlCenterId',\n actionName: SETTINGS_CONTROL_CENTER,\n actionLoad: RESTAURANT_CONTROL_CENTER_STATUS_GET,\n tableMinWidth: 1200,\n typeModel: TYPE_SECTION_MODEL.controlCenters,\n isForceUpdate: true,\n showDeleteButton: false,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.depotsNew,\n isLayoutForm: true,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: 'header.menu.CONTROL_CENTERS',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' }),\n createBreadcrumbModel({ label: 'settings.OPERATIONS_MANAGEMENT_LABEL' }),\n ],\n mappingLambda: state => state.restaurant.data.controlCenters || [],\n sortByFunc: sortByProp,\n });\n}\n\nexport function createControlCentersActivateSectionModel({ ...args }) {\n return new SectionModel({\n key: 'controlCenterId',\n columns: [\n {\n title: 'controlCenters.SELECT_USER_LABEL',\n accessor: 'userId',\n isEditable: true,\n popupItemType: POPUP_ITEM_TYPE.managerItem,\n type: CONTROL_TYPE.usersPopup\n },\n {\n title: 'controlCenters.PULL_ORDERS_LABEL',\n label: {\n onLabel: 'ON',\n offLabel: 'OFF',\n },\n accessor: 'pullOrders',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n actionName: SETTINGS_CONTROL_CENTER_ACTIVATE,\n initNewItemModel: (item, id) => ({\n controlCenterId: id,\n userId: '',\n pullOrders: true,\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.controlCentersActivate,\n parentUrl: TYPE_SECTION_MODEL.controlCenters,\n mappingLambda: state => state.restaurant.data.controlCenters || [],\n });\n}\n\nexport function createControlCentersDeactivateSectionModel({ ...args }) {\n return new SectionModel({\n key: 'controlCenterId',\n columns: [\n {\n title: 'controlCenters.MOVE_DATA_TO_CONTROL_CENTER_LABEL',\n accessor: 'moveDataToControlCenterId',\n connect: state => ({\n values: [{ key: null, value: '-' }].concat(\n (state.restaurant.data.controlCenters || [])\n .filter(\n f =>\n f.controlCenterId !==\n state.sectionModel.sectionModels[state.sectionModel.currentModelType].id &&\n f.info &&\n f.info.startTime &&\n !f.info.endTime\n )\n .map(center => ({\n key: center.controlCenterId,\n value: center.name,\n }))\n ),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'controlCenters.FUATURE_DATA_TO_CONTROL_CENTER_LABEL',\n accessor: 'backUpControlCenterId',\n connect: state => ({\n values: [{ key: null, value: '-' }].concat(\n (state.restaurant.data.controlCenters || [])\n .filter(\n f =>\n f.controlCenterId !==\n state.sectionModel.sectionModels[state.sectionModel.currentModelType].id &&\n f.info &&\n f.info.startTime &&\n !f.info.endTime\n )\n .map(center => ({\n key: center.controlCenterId,\n value: center.name,\n }))\n ),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n ],\n actionName: SETTINGS_CONTROL_CENTER_DEACTIVATE,\n initNewItemModel: (item, id) => ({\n controlCenterId: id,\n moveDataToControlCenterId: '',\n backUpControlCenterId: '',\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.controlCentersActivate,\n parentUrl: TYPE_SECTION_MODEL.controlCenters,\n mappingLambda: state => state.restaurant.data.controlCenters || [],\n saveControlsConfig: {\n save: { isAlwaysActive: true },\n },\n });\n}\n\nexport function createControlCentersChangeUserSectionModel({ ...args }) {\n return new SectionModel({\n key: 'controlCenterId',\n columns: [\n {\n title: 'controlCenters.SELECT_USER_LABEL',\n accessor: 'userId',\n isEditable: true,\n isRequired: true,\n popupItemType: POPUP_ITEM_TYPE.managerItem,\n type: CONTROL_TYPE.usersPopup\n },\n ],\n actionName: SETTINGS_CONTROL_CENTER_CHANGEUSER,\n initNewItemModel: (item, id) => ({\n controlCenterId: id,\n userId: '',\n pullOrders: false,\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.controlCentersActivate,\n parentUrl: TYPE_SECTION_MODEL.controlCenters,\n mappingLambda: state => state.restaurant.data.controlCenters || [],\n });\n}\n\nexport function createControlCentersEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'controlCenters.COURIER_ASSOCIATION_MODE',\n accessor: 'courierAssociationMode',\n isEditable: true,\n connect: () => ({\n values: courierAssociationModes(),\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'controlCenters.PULL_FROM_ANY_CONTROL_CENTER',\n accessor: 'pullFromAnyControlCenter',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'controlCenters.AUTOMATIC_EXTEND_CYCLE',\n accessor: 'automaticExtendCycle',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'controlCenters.AUTOMATIC_APPROVE_CYCLE',\n accessor: 'automaticApproveCycle',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'controlCenters.RUN_COURIER_APP_IN_POINT_BY_POINT_MODE',\n accessor: 'runCourierAppInPointByPointMode',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'controlCenters.ENABLE_COLLECT_ORDERS_STEP_AT_PICKUP',\n accessor: 'enableCollectOrdersStepAtPickup',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'controlCenters.RUN_COURIER_APP_IN_POINT_BY',\n accessor: 'runCourierAppInPointByPointModeAfterApprove',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n\n ],\n initNewItemModel: (d) => d,\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' }),\n createBreadcrumbModel({ label: 'header.menu.CONTROL_CENTERS' }),\n createBreadcrumbModel({ label: 'settings.OPERATIONS_MANAGEMENT_LABEL' }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getControlCenterNameById(id);\n },\n actionName: SETTINGS_CONTROL_CENTER,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_MODEL.controlCenters,\n typeModel: TYPE_SECTION_MODEL.controlCentersEdit,\n key: 'controlCenterId',\n mappingLambda: state => {\n return state.restaurant.data.controlCenters;\n }\n })\n}\n\nfunction createControlCentersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(center) {\n return getControlCentersFilter(this.selected, center);\n });\n\n return filterOptionsModel;\n}\n","import React from 'react';\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport SwitchControl from \"../SwitchControl\";\nconst OperationTimingSwitch = ({value, defaultValue, action, paramToToggle}) => {\n const dispatch = useDispatch();\n const handleOnChange = () => {\n if(value !== defaultValue) {\n dispatch(createAction(action, {name: value, paramToToggle: paramToToggle}));\n }\n }\n\n return \n}\nexport default OperationTimingSwitch;","import React from \"react\";\nimport i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport {\n OPERATION_TIMING_SETTING,\n OPERATION_TIMING_SETTING_TOGGLE_DEFAULT_PROPERTY, OPERATION_TIMING_SETTINGS_GET\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {CONTROL_TYPE, MODEL_CONTROL_TYPE, MODEL_TYPE, TYPE_ACTION, TYPE_SECTION_MODEL} from \"../../utils/enums\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {isMobileWidth,getRestaurantPaymentEnabled} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport OperationTimingSwitch from \"../../app/components/OperationTimingSwitch\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {getInitModel} from \"../initModels\";\nimport { getOperationModeSectionFilter } from '../filter';\n\nexport function createOperationTimingSettingsSectionModelEdit({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.operationTiming.NAME\",\n accessor: \"name\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.operationTiming.MAX_DELIVERY_TIME\",\n accessor: \"maxDeliveryTime\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: \"settings.operationTiming.WAITING_TIMES\",\n accessor: \"waitingTimes\",\n isEditable: true,\n type: CONTROL_TYPE.arrayItems,\n },\n {\n title: \"settings.operationTiming.MARKETPLACE_WAITING_TIMES\",\n accessor: \"marketplaceWaitingTimes\",\n isEditable: true,\n type: CONTROL_TYPE.arrayItems,\n isShow: () => getRestaurantPaymentEnabled()\n }\n ],\n actionLoad: OPERATION_TIMING_SETTINGS_GET,\n actionName: OPERATION_TIMING_SETTING,\n initNewItemModel: item => item || getInitModel(MODEL_TYPE.operationTiming),\n typeAction: args.typeAction,\n showDeleteButton: true,\n typeModel: args.typeAction === TYPE_ACTION.edit ? TYPE_SECTION_MODEL.operationTimingEdit : TYPE_SECTION_MODEL.operationTimingNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n key: \"name\",\n parentUrl: TYPE_SECTION_MODEL.operationTiming,\n getLabel: () => {\n const params = getHistoryLocationParams(window.location.search)\n return params.id;\n },\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.operationTiming.LABEL\" }),\n createBreadcrumbModel({ label: \"settings.OPERATIONS_MANAGEMENT_LABEL\" }),\n ],\n mappingLambda: state => ((state.restaurant.data.operations || {}).profiles || [])\n .map(p => ({\n ...p,\n id: p.name,\n activeProfile: (state.restaurant.data.operations && state.restaurant.data.operations.activeProfile) || null,\n defaultProfile: (state.restaurant.data.operations && state.restaurant.data.operations.defaultProfile) || null\n })),\n });\n}\n\nexport function createOperationTimingSettingsSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createOperationModeSectionFilter(),\n columns: [\n {\n title: \"settings.operationTiming.NAME\",\n accessor: \"name\",\n },\n {\n title: \"settings.operationTiming.MAX_DELIVERY_TIME\",\n accessor: \"maxDeliveryTime\",\n centered: true,\n },\n {\n title: \"settings.operationTiming.DEFAULT_PROFILE\",\n component: data => {\n return \n }\n },\n {\n title: \"settings.operationTiming.ACTIVE_PROFILE\",\n component: data => {\n return \n }\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n fixedWidth: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.operationTimingEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.operationTiming.EDIT_TOOLTIP\"),\n isHideDeleteButton: item => item.name === item.activeProfile\n },\n {\n //empty item for align items\n title: \"\",\n accessor: \"enabled\",\n width: \"90px\",\n fixedWidth: \"90px\",\n type: CONTROL_TYPE.label,\n hideInHeader: true,\n isInline: true,\n isShow: item => item.name === item.activeProfile\n },\n ],\n key: \"name\",\n typeModel: TYPE_SECTION_MODEL.operationTiming,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.operationTimingNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.OPERATIONS_MANAGEMENT_LABEL\" }),\n ],\n showDeleteButton: true,\n isForceUpdate: true,\n tableMinWidth: 900,\n label: \"settings.operationTiming.LABEL\",\n actionName: OPERATION_TIMING_SETTING,\n actionLoad: OPERATION_TIMING_SETTINGS_GET,\n mappingLambda: state => ((state.restaurant.data.operations || {}).profiles || [])\n .map(p => ({\n ...p,\n id: p.name,\n activeProfile: (state.restaurant.data.operations && state.restaurant.data.operations.activeProfile) || null,\n defaultProfile: (state.restaurant.data.operations && state.restaurant.data.operations.defaultProfile) || null\n })),\n })\n}\n\nfunction createOperationModeSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(operationMode) {\n return getOperationModeSectionFilter(this.selected, operationMode);\n });\n\n return filterOptionsModel;\n}\n","import React from \"react\";\nimport SectionItemSwitch from \"../SectionItemSwitch\";\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper\";\n\nconst SwitchEnableDeliveryZone = ({item, action}) => {\n const dispatch = useDispatch();\n const handleOnPropChange = ({enabled}) => {\n dispatch(createAction(action, { id: item.id, enabled }));\n }\n\n return (\n \n )\n}\n\nexport default SwitchEnableDeliveryZone;","import React from 'react';\nimport './style.scss';\nimport classnames from \"classnames\";\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper.js\";\nimport {ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET} from \"../../../store/reducers/restaurant/restaurant-actions.js\";\nimport IconButton from \"../IconButton/index.js\";\nimport {useTranslation} from \"react-i18next\";\nimport {currentUserIsDepotRole} from \"../../../services/userModel.js\";\n\nexport const ResetDepotGlobalPriceValue = (props) => {\n const {t} = useTranslation();\n const dispatch = useDispatch();\n const handleOnClick = () => {\n dispatch(createAction(ORDERING_MENU_DELIVERY_ZONES_GLOBAL_EDIT_RESET, props));\n }\n\n return (\n
\n {props.price}\n {props.data.override_delivery_zone_reference_price && !currentUserIsDepotRole() && (\n \n )}\n
\n )\n}","import React from \"react\";\n\nimport i18n from \"../../i18n\";\n\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport SectionModel from \"../../models/sectionModel\";\n\nimport {\n ORDERING_MENU_DELIVERY_ZONES,\n ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE,\n ORDERING_MENU_DELIVERY_ZONES_UPDATE,\n ORDERING_MENU_GET\n} from \"../../store/reducers/restaurant/restaurant-actions\";\n\nimport {\n CONTROL_TYPE,\n DELIVERY_ZONE_TYPE,\n getDeliveryZoneTypes,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_ACTION,\n TYPE_MARKER,\n TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { getHistoryLocationParams } from \"../../utils/routesHelper\";\nimport {createControlModel, filtrateControlByDepotRole} from \"../controlModelFactory\";\nimport {getDeliveryZonesFilter} from \"../filter\";\nimport {getInitModel} from \"../initModels\";\nimport {getCurrentBusinessMenu, getDepotNameById, getNameByIdsBusinessMenu} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport SwitchEnableDeliveryZone from \"../../app/components/SwitchEnableDeliveryZone\";\nimport {currentUserIsDepotRole} from \"../userModel.js\";\nimport {\n ResetDepotGlobalPriceValue\n} from \"../../app/components/ResetDepotGlobalPriceValue/ResetDepotGlobalPriceValue.jsx\";\n\nexport function createMenuDeliveryZonesSection({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createDeliveryZonesSectionFilter(),\n columns: [\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL\",\n accessor: \"name\",\n isHideDeleteButton: item=> item.isMarkerplace,\n width: '230px',\n fixedWidth: '230px',\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL\",\n accessor: \"minimum\",\n centered: true,\n width: '230px',\n fixedWidth: '230px',\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL\",\n accessor: \"price\",\n centered: true,\n width: '230px',\n fixedWidth: '230px',\n component: (item) => \n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL\",\n accessor: \"operation_profile\",\n centered: true\n },\n {\n //empty item for align items\n accessor: \"enabled\",\n width: \"100px\",\n fixedWidth: \"100px\",\n hideInHeader: true,\n type: CONTROL_TYPE.label,\n isInline: true,\n isShow: item => item.isGlobalZone && !item.enabledZone\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n width: \"100px\",\n fixedWidth: \"100px\",\n centered: true,\n // isShow: item => currentUserIsDepotRole() ? false : (item.isGlobalZone ? item.enabledZone : true),\n isShow: item => item.isGlobalZone ? item.enabledZone : true,\n component: (item) => {\n return \n }\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit,\n iconName: currentUserIsDepotRole() ? \"eyeIcon\" : \"editItem\",\n hideInHeader: currentUserIsDepotRole(),\n tooltipText: i18n.t(currentUserIsDepotRole() ? \"settings.orderingmenu.DELIVERY_ZONE_VIEW_TOOLTIP_LABEL\" : \"settings.orderingmenu.DELIVERY_ZONE_EDIT_TOOLTIP_LABEL\"),\n isShow: (item)=> !item.isMarkerplace && !item.isGlobalZone\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit,\n iconName: currentUserIsDepotRole() ? \"eyeIcon\" : \"editItem\",\n hideInHeader: true,\n tooltipText: i18n.t(currentUserIsDepotRole() ? \"settings.orderingmenu.DELIVERY_ZONE_VIEW_TOOLTIP_LABEL\" : \"settings.orderingmenu.DELIVERY_ZONE_EDIT_TOOLTIP_LABEL\"),\n isShow: (item)=> !(!item.isMarkerplace && !item.isGlobalZone) && item.enabledZone\n },\n {\n title: \"\",\n controlTitle: \"\",\n accessor: \"enabledZone\",\n tooltipText: i18n.t(\"settings.orderingmenu.DELIVERY_ZONE_ATTACH_TOOLTIP\"),\n label: {\n onLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL\",\n offLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL\",\n },\n width: \"90px\",\n fixedWidth: \"90px\",\n isEditable: true,\n hideInHeader: true,\n type: CONTROL_TYPE.switch,\n centered: true,\n isInline: true,\n isShow: (item)=> item.isMarkerplace && !item.isGlobalZone && !currentUserIsDepotRole()\n },\n {\n title: \"\",\n width: \"90px\",\n fixedWidth: \"80px\",\n accessor: \"enabledZone\",\n hideInHeader: true,\n isEditable: true,\n centered: true,\n type: CONTROL_TYPE.switch,\n label: {\n onLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL\",\n offLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL\",\n },\n isShow: (item)=> item.isGlobalZone && !currentUserIsDepotRole(),\n isHideDeleteButton: () => true,\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n tableHeaderControlsWidth: 0,\n tableMinWidth: 1200,\n actionName: ORDERING_MENU_DELIVERY_ZONES,\n editAction: ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n })\n ],\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew + `?parentId=${id}`\n })\n ]),\n isForceUpdate: true,\n label: \"settings.orderingmenu.MENU_DELIVERY_ZONES\",\n mappingLambda: state => {\n const zones = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.delivery_zones) || [];\n const globalZones = ((state.restaurant.data && state.restaurant.data.deliveryZones) || []);\n if(currentUserIsDepotRole()) {\n return zones.map(zone => {\n const find = globalZones.find(z => zone?.data?.delivery_zone_reference?.zone_id === z.id);\n if(find) {\n return ({\n ...zone,\n price: zone?.data?.override_delivery_zone_reference_price ? zone?.price : find?.price,\n data: {\n ...zone.data,\n override_delivery_zone_reference_price: find?.data?.override_delivery_zone_reference_price || zone?.data?.override_delivery_zone_reference_price,\n delivery_zone_reference: {\n zone_id: zone.id\n }\n },\n enabled: find && find.enabled,\n enabledZone: !!find,\n })\n }\n return zone;\n })\n }\n const deliveryZoneReferenceIds = zones\n .filter(zone => zone.data.delivery_zone_reference && zone.data.delivery_zone_reference.zone_id)\n\n const globalZonesWithFlag = globalZones.map(zone => {\n const find = deliveryZoneReferenceIds.find(z => z.data.delivery_zone_reference.zone_id === zone.id);\n return ({\n ...zone,\n price: find?.data?.override_delivery_zone_reference_price ? find?.price : zone?.price,\n data: {\n ...zone.data,\n override_delivery_zone_reference_price: find?.data?.override_delivery_zone_reference_price || zone?.data?.override_delivery_zone_reference_price,\n delivery_zone_reference: {\n zone_id: zone.id\n }\n },\n enabled: find && find.enabled,\n zoneIdReference: zone.id,\n id: find?.id || zone.id,\n enabledZone: !!find,\n type: DELIVERY_ZONE_TYPE.deliveryZoneReference,\n isGlobalZone: true\n })\n });\n\n return zones.filter(zone => zone.type !== DELIVERY_ZONE_TYPE.deliveryZoneReference).concat(globalZonesWithFlag) || [];\n }\n });\n}\n\nexport function createMenuDeliveryZoneEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL\",\n accessor: \"name\",\n isEditable: !args.isReadonly,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL\",\n accessor: \"minimum\",\n isEditable: !args.isReadonly,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL\",\n accessor: \"price\",\n isEditable: !args.isReadonlyPrice,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: !args.isReadonly,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_USER_PRICE_FOR_MIXED_MODE_LABEL\",\n accessor: \"price_calculation_mode_bool\",\n isEditable: !args.isReadonly,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_TYPE_LABEL\",\n accessor: \"type\",\n connect: ()=> ({\n values: getDeliveryZoneTypes()\n }),\n isEditable: !args.isReadonly,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL\",\n accessor: \"operation_profile\",\n connect: state=> ({\n values: [{ key: \"\", value: \"-\" }]\n .concat((state.restaurant.data.operations && state.restaurant.data.operations.profiles) || [])\n .map(operation => ({\n key: operation.name,\n value: operation.name\n }))\n }),\n isEditable: !args.isReadonly,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_REFERENCE_REGION_LABEL\",\n accessor: \"reference\",\n connect: state=> {\n return ({\n values: [{ key: \"\", value: \"-\" }]\n .concat((state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || [])\n .map(region => ({ key: region.id, value: region.name }))\n });\n },\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.reference,\n isEditable: !args.isReadonly,\n type: CONTROL_TYPE.select\n },\n {\n title: \"\",\n accessor: \"region\",\n isEditable: !args.isReadonly,\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.polygon,\n type: CONTROL_TYPE.mapRegion,\n typeMarker: TYPE_MARKER.depot\n },\n {\n title: \"\",\n accessor: \"circle\",\n isEditable: !args.isReadonly,\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.circle,\n type: CONTROL_TYPE.mapRegion,\n typeMarker: TYPE_MARKER.depot\n },\n {\n title: \"\",\n accessor: \"reference\",\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.reference,\n type: CONTROL_TYPE.mapRegion\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_GLOBAL_REFERENCE_TYPE_LABEL\",\n accessor: \"zone_id\",\n connect: state=> {\n return ({\n values: (state.restaurant.data.deliveryZones || [])\n .filter(f=> f.enabled)\n .map(deliveryZone=> ({ key: deliveryZone.id, value: deliveryZone.name }))\n });\n },\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.deliveryZoneReference,\n isEditable: !args.isReadonly,\n type: CONTROL_TYPE.select\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: args.actionName || ORDERING_MENU_DELIVERY_ZONES,\n initNewItemModel: item => {\n const businessMenu = (item && item.businessMenu) || getCurrentBusinessMenu();\n const initModel = getInitModel(MODEL_TYPE.deliveryZoneModel, { businessMenu, ...item, setDefaultRegion: true });\n return {\n ...initModel,\n marker: {\n id: businessMenu.id,\n title: businessMenu.name,\n location: businessMenu.location\n },\n center: businessMenu.location,\n region: initModel.data.region,\n circle: initModel.data.circle && {\n center: initModel.data.circle.center,\n radius: initModel.data.circle.radio * 1000\n },\n reference: (initModel.data.reference || {}).region_id,\n zone_id: (initModel.data.delivery_zone_reference || {}).zone_id\n };\n },\n typeAction: args.typeAction,\n typeModel: args.typeModel || (args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew),\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu( parentId || id);\n }\n })\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ],\n label: \"settings.orderingmenu.MENU_DELIVERY_ZONES\",\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu || {};\n const globalZones = ((state.restaurant.data && state.restaurant.data.deliveryZones) || []);\n return (businessMenu.delivery_zones || []).concat(globalZones).map(el => ({ ...el, businessMenu })).map(zone => {\n const find = zone?.data?.delivery_zone_reference?.zone_id\n ? globalZones.find(globZone => globZone.id === zone.data.delivery_zone_reference.zone_id)\n : null;\n if(find) {\n zone.data.circle = find.data.circle;\n zone.data.region = find.data.region;\n return {\n ...zone,\n price: !zone.data.override_delivery_zone_reference_price ? find.price : zone.price,\n type: find.type,\n minimum: find.minimum,\n };\n }\n return zone;\n });\n }\n });\n}\n\nfunction createDeliveryZonesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(deliveryZone) {\n return getDeliveryZonesFilter(this.selected, deliveryZone);\n });\n\n return filterOptionsModel;\n}\n","import SectionModel from '../../models/sectionModel';\n\nimport {\n DEPOT_BUSINESS_TRANSLATION,\n DEPOT_BUSINESS_TRANSLATION_EXPORT,\n DEPOT_BUSINESS_TRANSLATION_GET,\n DEPOT_BUSINESS_TRANSLATION_IMPORT,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n languages,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { createControlModel } from '../controlModelFactory';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getMenuTemplateNameById } from '../restaurant';\nimport FilterOptionsModel from '../../models/filterOptionsModel.js';\nimport i18n from '../../i18n.js';\nimport { translationsFilter } from '../filter.js';\n\nexport function createDepotBusinessTranslationsSectionModelMenuTemplate({ ...args }) {\n return new SectionModel({\n filterOptions: createDepotBusinessTranslationsSectionFilter(),\n columns: [\n {\n columns: [\n {\n title: 'settings.translations.OBJECT_TYPE_LABEL',\n accessor: 'object_type',\n width: '150px',\n fixedWidth: '150px',\n },\n {\n title: 'settings.translations.PROPERTY_NAME_LABEL',\n accessor: 'property_name',\n width: '150px',\n fixedWidth: '150px',\n },\n {\n title: 'settings.translations.ORIGINAL_VALUES_LABEL',\n accessor: 'original_value',\n width: '40%',\n fixedWidth: '40%',\n },\n {\n title: 'settings.translations.TRANSLATION_LABEL',\n accessor: 'translated_value',\n width: '40%',\n fixedWidth: '40%',\n type: CONTROL_TYPE.inputText\n }\n ],\n accessor: 'translations',\n isEditable: true,\n type: CONTROL_TYPE.translationTable,\n },\n ],\n initNewItemModel: item => {\n return item;\n },\n actionName: DEPOT_BUSINESS_TRANSLATION,\n actionLoad: DEPOT_BUSINESS_TRANSLATION_GET,\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n stayAfterSave: true,\n withSearch: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n label: 'settings.translations.LABEL',\n controlSelect: {\n values: languages(),\n action: DEPOT_BUSINESS_TRANSLATION_GET\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n icon: 'export',\n text: i18n.t('settings.translations.EXPORT_LABEL'),\n action: DEPOT_BUSINESS_TRANSLATION_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.importFile,\n icon: 'import',\n text: i18n.t('settings.translations.IMPORT_LABEL'),\n action: DEPOT_BUSINESS_TRANSLATION_IMPORT,\n }),\n ],\n mappingLambda: state => {\n return state.restaurant.data?.translations\n },\n });\n}\n\nfunction createDepotBusinessTranslationsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(translations) {\n return translationsFilter(this.selected, translations);\n });\n\n return filterOptionsModel;\n\n}\n","import React, {useState} from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getConvertedCloudUrlBySettings } from \"../../../utils/image-util\";\nimport { CROP_MODE } from \"../../../utils/enums\";\nimport { getKeyByValue } from \"../../../utils/objects-util\";\n\nconst ItemLogo = ({ value, settings }) => {\n const [mediaError, setMediaError] = useState(false);\n\n return (\n
\n {!mediaError && value && value.includes(\"/image/\") && (\n \"itemLogo\"\n setMediaError(true)}\n src={settings \n ? getConvertedCloudUrlBySettings(value, settings.width, settings.height, getKeyByValue(CROP_MODE, settings.crop_mode)) \n : value} \n />\n )}\n {!mediaError && value && value.includes(\"/video/\") && (\n
\n );\n}\n\nexport default ItemLogo;","import React from 'react';\nimport i18n from '../../i18n';\n\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\n\nimport {\n GET_ORDERING_MENU_BUSINESS_EXTRA,\n ORDERING_MENU,\n ORDERING_MENU_BUSINESS_CATEGORIES,\n ORDERING_MENU_BUSINESS_CATEGORIES_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE,\n ORDERING_MENU_BUSINESS_EXTRA,\n ORDERING_MENU_BUSINESS_EXTRA_DELETE,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n ORDERING_MENU_BUSINESS_EXTRA_UPDATE,\n ORDERING_MENU_BUSINESS_GALLERY,\n ORDERING_MENU_BUSINESS_GALLERY_REORDER,\n ORDERING_MENU_GET,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n CROP_MODE,\n EXTRA_TYPES,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n spicyTypes,\n TYPE_ACTION, TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport {createControlModel, filtrateControlByDepotRole} from '../controlModelFactory';\nimport { getBusinesMenuCategoriesFilter, getCategoryProductFilter, getGalleryFilter, sortByProp } from '../filter';\nimport { getInitModel } from '../initModels';\nimport {\n getBusinessMenuCategories, getBusinessName,\n getCurrentCurrency, getCurrentDepotByBusiness,\n getCurrentOrderingMenuDepotId, getDepotById,\n getDepotCategoryExtras,\n getDepotNameById, getExtraNameFromBusinessCategory, getExtraOptionNameFromBusinessCategory,\n getNameByIdsBusinessMenu, getNameForExtraById, getNameForOptionExtraById,\n getNameForProductsByIds,\n getNewCategoryOrder,\n getOrderingMenuExtraOptions,\n getOrderingMenuOptions,\n} from '../restaurant';\n\nimport ItemLogo from '../../app/components/ItemLogo';\nimport { mergeArrays } from '../../utils/objects-util';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\n\nexport function createOrderingMenuEditSection({ ...args }) {\n return new SectionModel({\n columns: [],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU,\n initNewItemModel: item => item && item.businessMenu,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n parentUrl: TYPE_SECTION_MODEL.depots,\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createBusinesMenuSection({ ...args }) {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n\n return new SectionModel({\n filterOptions: createBusinesMenuCategoriesSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts +\n '?parentId=' +\n (parentId || id) +\n '&id=' +\n item.id,\n // width: '200px',\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n // width: '70px',\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n tooltipText: i18n.t('settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_CHANGE_TOOLTIP'),\n // width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true,\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_ITEMS_LABEL')}: ${(item.products &&\n item.products.length) ||\n 0}`;\n },\n // width: '90px',\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORIES,\n tableMinWidth: 800,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n ],\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n isLayout: true,\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew + `?parentId=${parentId || id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ]),\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit + `?parentId=${parentId || id}&id=${item.id}`;\n },\n isLayout: true,\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_CATEGORIES_DELETE,\n isConfirm: true,\n },\n ],\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n search: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return `?id=${parentId || id}`\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n search: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return `?id=${parentId || id}`\n },\n },\n ],\n isDraggable: false,\n dragActionName: ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE,\n editAction: ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE,\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n },\n });\n}\n\nexport function createBusinesMenuEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORIES,\n initNewItemModel: item => {\n const { id } = getHistoryLocationParams(window.location.search);\n const order = item && item.id ? item.order : getNewCategoryOrder(id);\n return {\n ...getInitModel(MODEL_TYPE.categoryModel, item),\n order,\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n isHideControls: true,\n isLayoutForm: true,\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraSection({ ...args }) {\n const { id, parentId } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit + `?id=${parentId || id}&subId=${item.id}`,\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_OPTIONS_LABEL')} ${(item.options &&\n item.options.length) ||\n 0}`;\n },\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n tableMinWidth: 800,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n isForceUpdate: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n ],\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew + `?id=${parentId || id}`,\n }),\n ]),\n showDeleteButton: false,\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return (\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit + `?id=${parentId || id}&subId=${item.id}`\n );\n },\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_EXTRA_DELETE,\n isConfirm: true,\n },\n ],\n editAction: ORDERING_MENU_BUSINESS_EXTRA_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n search: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return `?id=${parentId || id}`\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n search: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return `?id=${parentId || id}`\n },\n },\n ],\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n return extras || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraEditSection({ ...args }) {\n const { id, subId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTIONS_LABEL',\n accessor: 'options',\n model: new SectionModel({\n isDraggable: true,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit +\n `?parentId=${getCurrentDepotByBusiness()}&id=${getCurrentOrderingMenuDepotId()}&subId=${subId}&subToId=${item.id}`,\n type: CONTROL_TYPE.linkControl,\n width: 'calc(100% - 215px)',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew +\n `?depotId=${getCurrentDepotByBusiness()}&parentId=${id}&subId=${subId}`,\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_EXTRA,\n editCheckExcludedProps: ['options'],\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraModel, item);\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n businessId: id,\n controls:[\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n })\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS'\n }),\n ],\n getLabel: () => {\n const { subId, id } = getHistoryLocationParams(window.location.search);\n return getNameForExtraById(id, subId);\n },\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n return extras || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraOptionEditSection({ ...args }) {\n const { id, subId, subToId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET',\n accessor: 'free_budget',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n items: [\n [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['reduce_price_for_half_option', 'pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_REDUCE_PRICE_FOR_HALF_OPTION',\n alwaysOnWithAccessor: 'with_half_option',\n accessor: 'reduce_price_for_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n alwaysOnWithAccessor: 'with_half_option',\n accessor: 'pizza_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuExtraOptions(id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n ],\n isEditable: true,\n type: CONTROL_TYPE.switchGroups,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_RESPECT_TO_LABEL',\n accessor: 'respect_to',\n isShow: item => item.conditioned,\n connect: state => {\n const options = getOrderingMenuExtraOptions(subId, state);\n return {\n values: options\n .filter(option => option.id !== subToId)\n .reduce((arr, option) => {\n return arr.concat(\n option.suboptions.map(suboption => ({\n key: suboption.id,\n value: option.name + '/' + suboption.name,\n }))\n );\n }, []),\n };\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SUBOPTIONS_LABEL',\n accessor: 'suboptions',\n model: new SectionModel({\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption,\n isLayoutForm: true,\n showDeleteButton: true,\n isDraggable: true,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: () =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit +\n `?id=${getCurrentOrderingMenuDepotId()}&subId=${subId}&subToId=${subToId}`,\n type: CONTROL_TYPE.linkControl,\n isLayout: true,\n width: 'calc(100% - 300px)',\n },\n {\n title: '',\n component: function(item) {\n return item.price + ' ' + getCurrentCurrency();\n },\n width: '100px',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n withLoader: true,\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '120px',\n },\n ],\n }),\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew +\n `?parentId=${id}&id=${subId}&subId=null`,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n isForceUpdate: true,\n initNewItemModel: item => getInitModel(MODEL_TYPE.productOptionModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n })\n ],\n saveControlsConfig: {\n cancel: {\n action: (item, history) => {\n const { subId, parentId } = getHistoryLocationParams(args.params);\n return history.push(\n `${\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n }?&id=${parentId}&subId=${subId}`\n );\n }\n },\n save: {\n action: (item, history) => {\n const { subId, parentId } = getHistoryLocationParams(args.params);\n return history.push(\n `${\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n }?&id=${parentId}&subId=${subId}`\n );\n }\n },\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS'\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { subId, id } = getHistoryLocationParams(window.location.search);\n return getNameForExtraById(id, subId);\n },\n }),\n ],\n getLabel: () => {\n const { subToId, subId, id } = getHistoryLocationParams(window.location.search);\n return getNameForOptionExtraById(id, subId, subToId);\n },\n mappingLambda: state => {\n const { subId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n const extra = extras.find(f => f.id === subId);\n return (extra && extra.options) || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraSuboptionEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'image',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n isNoRtl: true,\n padding: '0 0 10px',\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraSuboptionModel, item);\n },\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n mappingLambda: state => {\n const { subId, subToId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n const extra = extras.find(f => f.id === subId);\n const options = (extra && extra.options) || [];\n const optionId = subToId;\n const option = options.find(f => f.id === optionId);\n return (option && option.suboptions) || [];\n },\n });\n}\n\nexport function createCategoryExtrasSection({ ...args }) {\n const { parentId, id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit +\n '?parentId=' +\n parentId +\n '&id=' +\n id +\n '&subId=' +\n item.id,\n width: '200px',\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n width: '70px',\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_OPTIONS_LABEL')} ${(item.options &&\n item.options.length) ||\n 0}`;\n },\n width: '70px',\n },\n ],\n actionLoad: GET_ORDERING_MENU_BUSINESS_EXTRA,\n actionName: ORDERING_MENU_BUSINESS_EXTRA,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n typeAction: args.typeAction,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew +\n `?parentId=${parentId}&id=${id}&subId=0`,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getBusinessName(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n ],\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n showDeleteButton: false,\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return (\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit +\n `?parentId=${parentId}&id=${id}&subId=${item.id}`\n );\n },\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE,\n isConfirm: true,\n },\n ],\n editAction: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_ITEMS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n search: `?parentId=${parentId}&id=${id}`,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n search: `?parentId=${parentId}&id=${id}`,\n },\n ],\n tabsControls: [\n createControlModel({\n items: getBusinessMenuCategories().map(category => ({\n key:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras +\n `?parentId=${parentId}&id=${category.id}`,\n value: category.name,\n })),\n value: (getBusinessMenuCategories().find(f => f.id === id) || {})['name'],\n type: MODEL_CONTROL_TYPE.comboUrl,\n }),\n ],\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(category => category.id === id) || {};\n return category.extras || [];\n },\n });\n}\n\nexport function createCategoryExtrasEditSection({ ...args }) {\n const { id, subId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTIONS_LABEL',\n accessor: 'options',\n model: new SectionModel({\n isDraggable: true,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit +\n `?depotId=${getCurrentDepotByBusiness()}&parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}&subToId=${\n item.id\n }`,\n type: CONTROL_TYPE.linkControl,\n width: 'calc(100% - 180px)',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew +\n `?depotId=${getCurrentDepotByBusiness()}&parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}`,\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n editCheckExcludedProps: ['options'],\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraModel, item);\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getBusinessName(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n }\n })\n ],\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return getExtraNameFromBusinessCategory(id, subId);\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.extras) || [];\n },\n });\n}\n\nexport function createCategoryExtrasOptionEditSection({ ...args }) {\n const { parentId, id, subId, subToId, depotId } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n max: item => item.max,\n useColorRed: item => item.min > item.max && item.max !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n useColorRed: item => item.min > item.max && item.min !== 0,\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET',\n accessor: 'free_budget',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n items: [\n [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['reduce_price_for_half_option', 'pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_REDUCE_PRICE_FOR_HALF_OPTION',\n accessor: 'reduce_price_for_half_option',\n alwaysOnWithAccessor: 'with_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n accessor: 'pizza_option',\n alwaysOnWithAccessor: 'with_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuOptions(parentId, id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n ],\n isEditable: true,\n type: CONTROL_TYPE.switchGroups,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_RESPECT_TO_LABEL',\n accessor: 'respect_to',\n isShow: item => item.conditioned,\n connect: state => {\n const options = getOrderingMenuOptions(id, subId, state);\n return {\n values: options\n .filter(option => option.id !== subToId)\n .reduce((arr, option) => {\n return arr.concat(\n option.suboptions.map(suboption => ({\n key: suboption.id,\n value: option.name + '/' + suboption.name,\n }))\n );\n }, []),\n };\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SUBOPTIONS_LABEL',\n accessor: 'suboptions',\n model: new SectionModel({\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption,\n isLayoutForm: true,\n showDeleteButton: true,\n isDraggable: true,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: () =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit +\n `?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}&subToId=${subToId}`,\n type: CONTROL_TYPE.linkControl,\n isLayout: true,\n width: 'calc(100% - 280px)',\n },\n {\n title: '',\n component: function(item) {\n return item.price + ' ' + getCurrentCurrency();\n },\n width: '100px',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew +\n `?parentId=${id}&id=${subId}&subId=null`,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.productOptionModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n saveControlsConfig: {\n cancel: {\n action: (item, history) =>\n history.push(\n `${\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n }?parentId=${depotId}&id=${id}&subId=${subId}`\n ),\n },\n save: {\n action: (item, history) => {\n history.push(\n `${\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n }?parentId=${depotId}&id=${id}&subId=${subId}`\n );\n }\n },\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getBusinessName(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return getExtraNameFromBusinessCategory(id, subId);\n }\n })\n ],\n getLabel: () => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n return getExtraOptionNameFromBusinessCategory(id, subId, subToId);\n },\n mappingLambda: state => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const categories = (businessMenu && businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = (category && category.extras) || [];\n const extra = extras.find(f => f.id === subId);\n return (extra && extra.options) || [];\n },\n });\n}\n\nexport function createCategoryProductsSection({ ...args }) {\n const { parentId, id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: '',\n component: function(item) {\n return (\n \n );\n },\n width: '120px',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL',\n accessor: 'name',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRAS_LABEL',\n accessor: 'extrasJoin',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL',\n accessor: 'price',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ENABLE_LABEL',\n controlTitle: '',\n accessor: 'enabled',\n centered: true,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.deepLink.LABEL',\n width: '90px',\n centered: true,\n isSubId: true,\n type: CONTROL_TYPE.link,\n link:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsDeepLinkEdit +\n `?parentId=${parentId}&id=${id}`,\n iconName: 'link',\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n isSubId: true,\n type: CONTROL_TYPE.link,\n link:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit +\n `?parentId=${parentId}&id=${id}`,\n iconName: 'editItem',\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n tableMinWidth: 800,\n editAction: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n typeAction: args.typeAction,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getBusinessName(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n ],\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew +\n `?parentId=${parentId}&id=${id}&subId=0`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ],\n tabsControls: [\n createControlModel({\n items: getBusinessMenuCategories().map(category => ({\n key:\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts +\n `?parentId=${parentId}&id=${category.id}`,\n value: category.name,\n })),\n value: (getBusinessMenuCategories().find(f => f.id === id) || {})['name'],\n type: MODEL_CONTROL_TYPE.comboUrl,\n }),\n ],\n isDraggable: false,\n dragActionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_ITEMS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n search: `?parentId=${parentId}&id=${id}`,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n search: `?parentId=${parentId}&id=${id}`,\n },\n ],\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(category => category.id === id) || {};\n return (category.products || []).map(product => ({\n ...product,\n extrasJoin: (product.extras || []).map(m => m.name).join(', '),\n }));\n },\n });\n}\n\nexport function createCategoryProductIngredientSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_INGRIDIENTS_LABEL',\n accessor: 'ingredients',\n model: new SectionModel({\n isDraggable: true,\n columns: [\n {\n title: '',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n width: '200px',\n isEditable: true,\n },\n ],\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n }),\n isEditable: true,\n isFillContent: true,\n isShowArrayNewItemControl: true,\n arrayNewItemAccessor: 'name',\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientNew,\n initNewItemModel: item => item,\n isHideControls: true,\n isLayoutForm: true,\n isHideSaveButton: true,\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.products) || [];\n },\n });\n}\n\nexport function createCategoryProductsEditSection({ ...args }) {\n const { parentId, id, subId } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'images',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UNIT_WEIGHT',\n accessor: 'unit_weight',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHTED',\n accessor: 'weighed',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHT_RANGE',\n accessor: 'weight_range',\n isEditable: true,\n type: CONTROL_TYPE.number,\n measure: '%',\n min: () => 0,\n max: () => 100,\n isShow: item => item.weighed,\n useColorRed: item => item.weight_range > 100 || item.weight_range < 0,\n isItemValid: item => item.weight_range <= 100 && item.weight_range >= 0 ,\n },\n ],\n isEditable: true,\n justifyContent: 'flex-start',\n type: CONTROL_TYPE.group\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_BEFORE_DISCOUNT',\n accessor: 'price_before_discount',\n isEditable: true,\n type: CONTROL_TYPE.number,\n useColorRed: item => item.price_before_discount < item.price && item.price_before_discount,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_MAX',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UPSELLING_LABEL',\n accessor: 'upselling',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ALLOW_COMMENTS_LABEL',\n accessor: 'allow_comments',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGAN_LABEL',\n accessor: 'vegan',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_GLUTEN_FREE_LABEL',\n accessor: 'gluten_free',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGITERIAN_LABEL',\n accessor: 'vegetarian',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_INGRIDIENTS_LABEL',\n accessor: 'categoryIngredients',\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit +\n `?parentId=${parentId}&id=${id}&subId=${item.id}`,\n isEditable: true,\n isLayout: true,\n type: CONTROL_TYPE.linkControl,\n isDisabled: item => !item.id,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SPICY_LABEL',\n accessor: 'spicy',\n connect: () => ({\n values: spicyTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_LABEL',\n accessor: 'categoryExtras',\n model: new SectionModel({\n isDraggable: true,\n showDeleteButton: false,\n columns: [\n {\n title: '',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n width: 'calc(100% - 195px)',\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '45px',\n centered: true,\n type: CONTROL_TYPE.iconWithQuantity,\n quantity: item => {\n if (item && item.overrides) {\n return item.overrides.length;\n }\n return 0;\n },\n url: item =>\n ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${item.id}`,\n iconName: 'editItem',\n isShow: item => item.enabled,\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '110px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n type: CONTROL_TYPE.editTable,\n },\n {\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_ENABLED_LABEL',\n accessor: 'enable_schedule',\n interchangeableAccessor: 'preorder_schedule',\n isEditable: true,\n isFillContent: true,\n padding: '10px 0',\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PREORDER_SHEDULE_ENABLED_LABEL',\n accessor: 'preorder_schedule',\n interchangeableAccessor: 'enable_schedule',\n isEditable: true,\n isFillContent: true,\n padding: '10px 0',\n type: CONTROL_TYPE.switch,\n },\n ],\n isEditable: true,\n display: 'flex',\n alignItems: 'center',\n gap: '15px',\n type: CONTROL_TYPE.group,\n isFillContent: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule,\n },\n ],\n shouldCallActionFromSideMenu: (state) => {\n return state.restaurant?.data.businessMenu?.id === getDepotById(parentId)?.businessId;\n },\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n initNewItemModel: item => {\n return {\n ...getInitModel(MODEL_TYPE.categoryProductModel, item),\n categoryExtras: mergeArrays(getDepotCategoryExtras(parentId, id), (item && item.extras) || []).map(\n extra => {\n const hasExtra = item && item.extras && item.extras.some(e => e.id === extra.id);\n return { ...extra, enabled: hasExtra, order: hasExtra ? (extra.order || 0) : 1000 + (extra.order || 0) };\n }\n ).sort((a, b) => a.order - b.order),\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n checkActiveButtonFromModel: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n }),\n ],\n getLabel: () => {\n const { parentId, id, subId } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id, subId);\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.products) || [];\n },\n });\n}\n\nexport function createCategoryExtrasSuboptionEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'image',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraSuboptionModel, item);\n },\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = (category && category.extras) || [];\n const extra = extras.find(f => f.id === subId);\n const options = (extra && extra.options) || [];\n const optionId = state.sectionModel.sectionModels[state.sectionModel.currentModelType].id || subToId;\n const option = options.find(f => f.id === optionId);\n\n return (option && option.suboptions) || [];\n },\n });\n}\n\nfunction createBusinesMenuCategoriesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(category) {\n return getBusinesMenuCategoriesFilter(this.selected, category);\n });\n\n return filterOptionsModel;\n}\n\nfunction createCategoryProductsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(product) {\n return getCategoryProductFilter(this.selected, product);\n });\n\n return filterOptionsModel;\n}\n\nexport function createReviewProductExtra({ ...args }) {\n const { parentId, subId, subToId, id } = getHistoryLocationParams(window.location.search);\n const extraTypesModels = {\n [EXTRA_TYPES.extra]:\n ORDERING_MENU_TYPE_SECTION_MODEL.overrideExtra +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&extra=`,\n [EXTRA_TYPES.option]:\n ORDERING_MENU_TYPE_SECTION_MODEL.overrideOption +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&option=`,\n [EXTRA_TYPES.suboption]:\n ORDERING_MENU_TYPE_SECTION_MODEL.overrideSuboption +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}suboption=`,\n };\n return new SectionModel({\n filterOptions: createReviewProductExtraFilter(),\n isForceUpdate: true,\n showNeedSave: ({models, sectionModel}) => {\n const model = models[ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]?.model;\n return model?.isMarkedModelAsChanged;\n },\n columns: [\n {\n title: 'settings.orderingmenu.OVERRIDE_LABEL_NAME',\n accessor: 'name',\n type: CONTROL_TYPE.nestedItem,\n nestedTab: 15,\n isEditable: true,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '55px',\n isLayout: true,\n type: CONTROL_TYPE.iconWithQuantity,\n quantity: item => {\n return (item.overrides || []).filter(o => o.id === item.id).length || 0;\n },\n url: item => extraTypesModels[item.extraType] + item.id,\n iconName: 'editItem',\n isShow: () => true,\n },\n ],\n shouldCallActionFromSideMenu: (state) => {\n return state.restaurant?.data.businessMenu?.id === getDepotById(parentId)?.businessId;\n },\n actionName: ORDERING_MENU_GET,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n ],\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n initNewItemModel: item => getInitModel(MODEL_TYPE.reviewExtra, item),\n isLayoutForm: true,\n showDeleteButton: false,\n hideHeaderItemControls: true,\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const globalExtras =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.extras) || [];\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories && categories.find(el => el.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extraOverride = product && product.extras.find(p => p.id === subToId);\n const extras = globalExtras.concat((category && category.extras) || []);\n const extra = extras.find(el => el.id === subToId);\n return getInitModel(MODEL_TYPE.reviewExtra, extra).data.map(el => ({\n ...el,\n overrides: extraOverride && extraOverride.overrides,\n }));\n },\n });\n}\n\nfunction createReviewProductExtraFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(category) {\n return getBusinesMenuCategoriesFilter(this.selected, category);\n });\n\n return filterOptionsModel;\n}\nexport function createOverrideExtra({ ...args }) {\n const {parentId} = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n ],\n isEditable: true,\n isLayoutForm: true,\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA,\n initNewItemModel: item => getInitModel(MODEL_TYPE.extraModelWithOverrides, item),\n typeAction: args.typeAction,\n shouldCallActionFromSideMenu: (state) => {\n return state.restaurant?.data.businessMenu?.id === getDepotById(parentId)?.businessId;\n },\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.overrideExtra,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n markModelAsChanged: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n mappingLambda: state => {\n const { id, subId, parentId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const product = category.products.find(p => p.id === subId);\n const allExtra = getDepotCategoryExtras(parentId, id, state);\n\n return mergeArrays(allExtra || [], (product && product.extras) || []);\n },\n });\n}\n\nexport function createOverrideOption({ ...args }) {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n max: item => item.max,\n min: () => 0,\n useColorRed: item => item.min > item.max && item.max !== 0,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('min');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n min: () => 0,\n useColorRed: item => item.min > item.max && item.min !== 0,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n },\n {\n title: i18n.t('settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET'),\n accessor: 'free_budget',\n isEditable: true,\n min: () => 0,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('free_budget');\n },\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('with_half_option');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('allow_suboption_quantity');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('limit_suboptions_by_max');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuOptions(parentId, id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('conditioned');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n accessor: 'pizza_option',\n alwaysOnWithAccessor: 'with_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('pizza_option');\n },\n }\n ],\n isLayoutForm: true,\n isEditable: true,\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.optionModelWithOverrides, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.overrideOption,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n markModelAsChanged: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n shouldCallActionFromSideMenu: (state) => {\n return state.restaurant?.data.businessMenu?.id === getDepotById(parentId)?.businessId;\n },\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const categories = (businessMenu && businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extras = mergeArrays(\n (category && category.extras) || [],\n getDepotCategoryExtras(parentId, id, state)\n );\n const extra = extras.find(f => f.id === subToId);\n const overridesExtra = product && product.extras.find(e => e.id === extra.id);\n const extraWithOverride =\n extra &&\n extra.options &&\n extra.options.map(e => ({ ...e, overrides: overridesExtra && overridesExtra.overrides }));\n\n return extraWithOverride || [];\n },\n });\n}\n\nexport function createOverrideSuboption({ ...args }) {\n const {parentId} = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n min: () => 0,\n isEditable: true,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('price');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n min: () => 0,\n isEditable: true,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('tag');\n },\n },\n ],\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.suboptionsModelWithOverrides, item),\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.overrideSuboption,\n shouldCallActionFromSideMenu: (state) => {\n return state.restaurant?.data.businessMenu?.id === getDepotById(parentId)?.businessId;\n },\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n markModelAsChanged: ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n mappingLambda: state => {\n const { id, subToId, subId, parentId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = mergeArrays(\n getDepotCategoryExtras(parentId, id, state),\n (category && category.extras) || []\n );\n const extra = extras.find(f => f.id === subToId);\n const options = (extra && extra.options) || [];\n const product = category && category.products.find(p => p.id === subId);\n const overridesExtra = product && product.extras.find(e => e.id === extra.id);\n return options\n .flatMap(el => el.suboptions)\n .map(el => ({\n ...el,\n overrides: overridesExtra && overridesExtra.overrides,\n }));\n },\n });\n}\n\nexport function createBusinessGallery() {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n actionName: ORDERING_MENU_BUSINESS_GALLERY,\n filterOptions: createGalleryFilter(),\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.gallery,\n columns: [\n {\n title: '',\n component: function(item) {\n return (\n \n );\n },\n width: '100px',\n },\n {\n accessor: 'title',\n title: 'settings.business-gallery.TITLE',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit,\n iconName: 'editItem',\n },\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew + `?id=${id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ]),\n dragActionName: ORDERING_MENU_BUSINESS_GALLERY_REORDER,\n actionLoad: ORDERING_MENU_GET,\n label: 'settings.business-gallery.LABEL',\n initNewItemModel: item => item,\n mappingLambda: state => {\n const businessMenu = state.restaurant.data && state.restaurant.data.businessMenu;\n return (businessMenu && businessMenu.gallery) || [];\n },\n });\n}\n\nexport function createBusinessGalleryNew({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.business-gallery.IMAGE',\n accessor: 'file',\n settingsAaccessor: 'file_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.business-gallery.DESCRIPTION',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.business-gallery.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_GALLERY,\n initNewItemModel: item => getInitModel(MODEL_TYPE.gallery, item),\n actionLoad: ORDERING_MENU_GET,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit\n : ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.gallery,\n label: 'settings.business-gallery.LABEL',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => {\n const businessMenu = state.restaurant.data && state.restaurant.data.businessMenu;\n return (businessMenu && businessMenu.gallery) || [];\n },\n });\n}\n\nfunction createGalleryFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(gallery) {\n return getGalleryFilter(this.selected, gallery);\n });\n\n return filterOptionsModel;\n}\n","import React from 'react';\nimport i18n from '../../i18n';\n\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\nimport {createControlModel, filtrateControlByDepotRole} from '../controlModelFactory';\nimport { getBusinesDiscountFilter } from '../filter';\nimport { getInitModel } from '../initModels';\nimport {\n getDepotNameById,\n getDiscountCalculationBaseType,\n getDiscountOrderTypeLabel,\n getDiscountTargetType,\n getDiscountTypeLabel,\n} from '../restaurant';\n\nimport {\n ORDERING_MENU_BUSINESS_DISCOUNTS,\n ORDERING_MENU_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n DATECONTROL_TYPE,\n DISCOUNT_TYPE,\n discountOrderTypes,\n discountTypes, getCampaignRecurringTypes,\n getOfferCalculationBase,\n getOfferDiscountTarget, LOYALTY_LEVEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE, OFFER_DISCOUNT_TARGET,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n RATE_TYPE,\n rateTypes, TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { defaultPromiseResolve } from '../../utils/objects-util';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\n\nimport IconButton from '../../app/components/IconButton';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport {getRestaurantBusinessMenu} from \"../../store/selectors\";\n\nexport function createBusinesDiscountsSection({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createBusinesDiscountsSectionFilter(),\n columns: [\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n width: '120px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL',\n accessor: 'discount_target',\n component: item => getDiscountTargetType(item.discount_target) || null,\n width: '110px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n component: item => getDiscountOrderTypeLabel(item.order_type),\n width: '100px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n component: item => getDiscountTypeLabel(item.type) || null,\n width: '70px',\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n component: item =>\n item.rate_type > 0 ? (\n \n ) : null,\n width: '70px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n width: '70px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON',\n accessor: 'calculation_base',\n component: item => getDiscountCalculationBaseType(item.calculation_base) || null,\n width: '116px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n width: '84px',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n width: '84px',\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"70px\",\n type: CONTROL_TYPE.link,\n link: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.orderingmenu.MENU_DISCOUNTS_EDIT_TOOLTIP_LABEL'),\n },\n ],\n hideHeaderItemControls: true,\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_DISCOUNTS,\n tableMinWidth: 1000,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew + `?parentId=${id}`,\n }),\n ]),\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n label: 'settings.orderingmenu.DEPOT_MENU_DISCOUNTS',\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.offers) || [];\n },\n });\n}\n\nexport function createBusinesDiscountEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL',\n accessor: 'discount_target',\n connect: () => ({\n values: getOfferDiscountTarget(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n connect: () => ({\n values: discountOrderTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n connect: () => ({\n defaultValue: { key: '', value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_SELECT_LABEL') },\n values: [\n { key: '', value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_SELECT_LABEL') },\n ].concat(discountTypes()),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n connect: () => ({\n defaultValue: { key: 0, value: i18n.t('settings.orderingmenu.MENU_RATE_TYPE_SELECT_LABEL') },\n values: [{ key: 0, value: i18n.t('settings.orderingmenu.MENU_RATE_TYPE_SELECT_LABEL') }].concat(\n rateTypes()\n ),\n }),\n isFuncRequired: item => !item.rate_type,\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON',\n accessor: 'calculation_base',\n connect: () => ({\n values: getOfferCalculationBase(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_START_LABEL',\n accessor: 'start',\n isEditable: true,\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_END_LABEL',\n accessor: 'end',\n min: item => item.start,\n isEditable: true,\n timeType: DATECONTROL_TYPE.datetime,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_COUPON_LABEL',\n accessor: 'coupon',\n isEditable: true,\n isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_SHOW_IN_MARKETPLACE_APP',\n accessor: 'show_in_marketplace',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_SINGLE_USER_LABEL',\n accessor: 'single_user',\n isEditable: true,\n isInline: true,\n isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.DISCOUNT_BUSINESS_SHEDULE_ENABLED_LABEL',\n accessor: 'enable_schedule',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n accessor: 'product_id',\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ID_LABEL',\n type: CONTROL_TYPE.select,\n isEditable: true,\n isShow: item => item.discount_target === OFFER_DISCOUNT_TARGET.product,\n connect: (state) => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenuProducts = (state.restaurant.data?.parentMenu?.categories || []).flatMap(cat => cat.products);\n const products = businessMenu.categories.flatMap(cat => cat.products).concat(parentMenuProducts);\n return {\n values: products.map(product => ({ key: product.id, value: product?.name })),\n }\n },\n },\n {\n title: 'settings.orderingmenu.AUTO_ADD_QUANTITY',\n accessor: 'auto_add_quantity',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShow: item => item.type === DISCOUNT_TYPE.promotion\n },\n {\n title: 'settings.orderingmenu.ALLOW_MULTIPLE_DISCOUNTS',\n accessor: 'allow_multiple_discounts',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n isShow: item => item.type === DISCOUNT_TYPE.promotion\n },\n {\n title: 'settings.orderingmenu.RECURRING_TYPE',\n accessor: 'recurring_type',\n connect: () => ({\n values: getCampaignRecurringTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.USAGE_LIMIT',\n accessor: 'usage_limit',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.LOYALTY_LEVEL',\n accessor: 'loyalty_level',\n connect: () => {\n const levels = [];\n Object.entries(LOYALTY_LEVEL).forEach(([key, value]) => levels.push({key: parseInt(key), value}));\n return {\n values: [{key: null, value: i18n.t(\"enums.loyaltyLevel.ALL\")}].concat(levels),\n }\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_DISCOUNTS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.offerModel, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(parentId || id);\n },\n }),\n ],\n label: 'settings.orderingmenu.DEPOT_MENU_DISCOUNTS',\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.offers) || [];\n },\n });\n}\n\nfunction createBusinesDiscountsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(businesDiscount) {\n return getBusinesDiscountFilter(this.selected, businesDiscount);\n });\n\n return filterOptionsModel;\n}\n","import React, {useEffect, useState} from 'react';\nimport SectionItemSelect from \"../SectionItemSelect/SectionItemSelect\";\nimport {getMergedBusinessMenuById} from \"../../../api/order-requests\";\n\nconst MarketplaceDiscountProductsItem = ({item, onLayout, onPropChange, column}) => {\n const [products, setProducts] = useState([]);\n\n const fetchData = async () => {\n const response = await getMergedBusinessMenuById(item.business_id);\n if(!response.data) {\n return;\n }\n\n const categories = response && response.data && response.data.categories;\n setProducts(categories.flatMap(cat => cat.products).map(prod => ({key: prod.id, value: prod.name})));\n }\n\n useEffect(() => {\n if(item.business_id) {\n fetchData();\n }\n // eslint-disable-next-line\n }, [item.business_id]);\n\n return (\n \n )\n}\n\nexport default MarketplaceDiscountProductsItem;","import React from 'react';\nimport i18n from '../../i18n';\n\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\nimport { createControlModel } from '../controlModelFactory';\nimport { getBusinesDiscountFilter } from '../filter';\nimport { getInitModel } from '../initModels';\nimport {\n getDiscountCalculationBaseType,\n getDiscountOrderTypeLabel,\n getDiscountTargetType,\n getDiscountTypeLabel,\n isMobileWidth,\n} from '../restaurant';\n\nimport { SETTINGS_OFFERS, SETTINGS_OFFERS_GET } from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n DATECONTROL_TYPE,\n DISCOUNT_TYPE,\n discountOrderTypes,\n discountTypes, FILTER_TYPE, getCampaignRecurringTypes,\n getOfferCalculationBase, getOfferDiscountTarget, LOYALTY_LEVEL,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE, OFFER_DISCOUNT_TARGET,\n RATE_TYPE,\n rateTypes,\n TYPE_ACTION,\n} from '../../utils/enums';\nimport { defaultPromiseResolve } from '../../utils/objects-util';\n\nimport IconButton from '../../app/components/IconButton';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport MarketplaceDiscountProductsItem from \"../../app/components/MarketplaceDiscountProductsItem\";\n\nexport function createSettingsOffersSection({ ...args }) {\n return new SectionModel({\n filterOptions: createBSettingsOffersSectionFilter(),\n columns: [\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n width: '10%',\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL',\n accessor: 'discount_target',\n component: item => getDiscountTargetType(item.discount_target) || null,\n // width: '180px',\n centered: true,\n },\n\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n component: item => getDiscountOrderTypeLabel(item.order_type),\n width: 'auto',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n component: item => getDiscountTypeLabel(item.type) || '-',\n width: 'auto',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n component: item => {\n\n if(!item.rate_type){\n return '-'\n }\n\n return(\n \n )\n },\n width: 'auto',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n width: 'auto',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON',\n accessor: 'calculation_base',\n component: item => getDiscountCalculationBaseType(item.calculation_base) || null,\n // width: '180px',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n width: 'auto',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n width: '160px',\n centered: true,\n },\n\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n wrapOnMobileWidth: '600',\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.offersEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.orderingmenu.MENU_DISCOUNTS_EDIT_TOOLTIP_LABEL'),\n },\n ],\n actionLoad: SETTINGS_OFFERS_GET,\n actionName: SETTINGS_OFFERS,\n tableMinWidth: 1200,\n typeModel: MARKETPLACE_SETTINGS_MODEL.offers,\n typeAction: args.typeAction,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.offersNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n ],\n label: 'settings.orderingmenu.MENU_DISCOUNTS',\n mappingLambda: state => state.restaurant.data.offers || [],\n });\n}\n\nexport function createSettingsOffersEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL',\n accessor: 'discount_target',\n connect: () => ({\n values: getOfferDiscountTarget(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n connect: () => ({\n values: discountOrderTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n connect: () => ({\n values: discountTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n connect: () => ({\n values: rateTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON',\n accessor: 'calculation_base',\n connect: () => ({\n values: getOfferCalculationBase(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n isEditable: true,\n inlineType: 'inlineOdd',\n tooltipText: i18n.t('settings.orderingmenu.MENU_DISCOUNT_LIMIT_TOOLTIP'),\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_START_LABEL',\n accessor: 'start',\n isEditable: true,\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_END_LABEL',\n accessor: 'end',\n min: item => item.start,\n isEditable: true,\n inlineType: 'inlineOdd',\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_COUPON_LABEL',\n accessor: 'coupon',\n isEditable: true,\n isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_SHOW_IN_MARKETPLACE_APP',\n accessor: 'show_in_marketplace',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_SINGLE_USER_LABEL',\n accessor: 'single_user',\n isEditable: true,\n // isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule,\n },\n {\n accessor: 'business_id',\n title: 'settings.orderingmenu.MENU_BUSINESS_BUSINESS_ID_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.select,\n isShow: item => item.discount_target === OFFER_DISCOUNT_TARGET.product,\n connect: (state) => {\n const templates = state.menuTemplate.data.templates || [];\n return {\n values: templates.map(template => ({ key: template.business_id, value: template.name })),\n }\n },\n },\n {\n accessor: 'product_id',\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ID_LABEL',\n isEditable: true,\n isShow: item => item.discount_target === OFFER_DISCOUNT_TARGET.product,\n component: (item, onLayout, onPropChange, column) =>\n \n },\n {\n title: 'settings.orderingmenu.AUTO_ADD_QUANTITY',\n accessor: 'auto_add_quantity',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShow: item => item.type === DISCOUNT_TYPE.promotion\n },\n {\n title: 'settings.orderingmenu.ALLOW_MULTIPLE_DISCOUNTS',\n accessor: 'allow_multiple_discounts',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShow: item => item.type === DISCOUNT_TYPE.promotion\n },\n {\n title: 'settings.orderingmenu.RECURRING_TYPE',\n accessor: 'recurring_type',\n connect: () => ({\n values: getCampaignRecurringTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.USAGE_LIMIT',\n accessor: 'usage_limit',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.LOYALTY_LEVEL',\n accessor: 'loyalty_level',\n connect: () => {\n const levels = [];\n Object.entries(LOYALTY_LEVEL).forEach(([key, value]) => levels.push({key: parseInt(key), value}));\n return {\n values: [{key: null, value: i18n.t(\"enums.loyaltyLevel.ALL\")}].concat(levels),\n }\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.DISCOUNT_BUSINESS_SHEDULE_ENABLED_LABEL',\n accessor: 'enable_schedule',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n ],\n actionLoad: SETTINGS_OFFERS_GET,\n actionName: SETTINGS_OFFERS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.offerModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.offersEdit\n : MARKETPLACE_SETTINGS_MODEL.offersNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.offers,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_DISCOUNTS',\n }),\n ],\n mappingLambda: state => state.restaurant?.data?.offers || [],\n });\n}\n\nfunction createBSettingsOffersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(businesDiscount) {\n return getBusinesDiscountFilter(this.selected, businesDiscount);\n });\n\n const selectOption = filterOptionsModel.addOptions(\n \"discount_target_discount\",\n CONTROL_TYPE.select,\n i18n.t('settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL'),\n function(item) {\n if(this.selected === null) {\n return true;\n }\n return item.discount_target === this.selected;\n }\n );\n selectOption.filterType = FILTER_TYPE.and;\n selectOption.addItem(\"-\", null);\n getOfferDiscountTarget().forEach(item => selectOption.addItem(item.value, item.key));\n selectOption.selected = null;\n\n const selectOptionLoyaltyLevel = filterOptionsModel.addOptions(\n \"loyalty_level_discount\",\n CONTROL_TYPE.select,\n i18n.t('settings.orderingmenu.LOYALTY_LEVEL'),\n function(item) {\n if(this.selected === null) {\n return true;\n }\n if(this.selected === -1) {\n return item.loyalty_level === null;\n }\n return item.loyalty_level === this.selected;\n }\n );\n const loyaltyLevelOptions = [{key: null, value: '-'}, {key: -1, value: i18n.t(\"enums.loyaltyLevel.ALL\")}];\n Object.entries(LOYALTY_LEVEL).forEach(([key, value]) => loyaltyLevelOptions.push({key: parseInt(key), value}));\n loyaltyLevelOptions.forEach((item) => selectOptionLoyaltyLevel.addItem(item.value, item.key));\n selectOptionLoyaltyLevel.selected = null;\n selectOptionLoyaltyLevel.filterType = FILTER_TYPE.and;\n\n const selectOptionDiscountType = filterOptionsModel.addOptions(\n \"discount_type_discount\",\n CONTROL_TYPE.select,\n i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL'),\n function(item) {\n if(this.selected === null) {\n return true;\n }\n return item.type === this.selected;\n }\n );\n selectOptionDiscountType.addItem('-', null);\n discountTypes().forEach((item) => selectOptionDiscountType.addItem(item.value, item.key));\n selectOptionDiscountType.selected = null;\n selectOptionDiscountType.filterType = FILTER_TYPE.and;\n\n return filterOptionsModel;\n}\n","\nimport SectionModel from \"../../models/sectionModel\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\n\nimport { SEARCH_SHORTCUT_SETTING } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport { CONTROL_TYPE, TYPE_SECTION_MODEL, MODEL_CONTROL_TYPE } from \"../../utils/enums\";\nimport { getSearchShortcutFilter } from \"../filter\";\nimport { createControlModel } from \"../controlModelFactory\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createSearchShortcutsSectionModel() {\n return new SectionModel({\n filterOptions: createSearchShortcutsSectionFilter(),\n columns: [\n {\n title: \"settings.searchShortcutsSettings.NAME_LABEL\",\n accessor: \"name\"\n }\n ],\n actionName: SEARCH_SHORTCUT_SETTING,\n typeModel: TYPE_SECTION_MODEL.searchShortcuts,\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.add, url: TYPE_SECTION_MODEL.searchShortcutsNew }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.searchShortcutsSettings.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.OPERATIONS_MANAGEMENT_LABEL\" }),\n ],\n mappingLambda: state => ((state.restaurant.data.configuration && state.restaurant.data.configuration.searchShortcuts) || [])\n .map((searchShortcut, index)=> ({ id: index, name: searchShortcut }))\n });\n}\n\nexport function createNewSearchShortcutSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.searchShortcutsSettings.NAME_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n }\n ],\n actionName: SEARCH_SHORTCUT_SETTING,\n initNewItemModel: () => ({ id: \"\", name: \"\" }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.searchShortcutsNew,\n parentUrl: TYPE_SECTION_MODEL.searchShortcuts,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.searchShortcutsSettings.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.OPERATIONS_MANAGEMENT_LABEL\" }),\n ],\n mappingLambda: state => ((state.restaurant.data.configuration && state.restaurant.data.configuration.searchShortcuts) || [])\n .map((searchShortcut, index)=> ({ id: index, name: searchShortcut }))\n });\n}\n\nfunction createSearchShortcutsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(shortcut) {\n return getSearchShortcutFilter(this.selected, shortcut);\n });\n\n return filterOptionsModel;\n}\n","import {getBusinesMenuCategoriesFilter, getMarketplaceFilter, sortByProp, sortByPropNumber} from '../filter';\nimport { createControlModel } from '../controlModelFactory';\nimport FilterOptionsModel from './../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\n\nimport {\n CANCEL_REASON, CANCEL_REASON_GET,\n MARKETPLACE_MESSAGE,\n MARKETPLACE_MESSAGE_TOGGLE_ENABLED,\n MARKETPLACE_MESSAGE_UPDATE,\n MARKETPLACE_SETTINGS,\n SHIPMENT_PRICE_CONFIGURATION,\n SHIPMENT_PRICE_CONFIGURATION_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\nimport { MARKETPLACE_MESSAGE_GET } from '../../store/reducers/order/order-actions';\n\nimport {\n CONTROL_TYPE,\n getMarketplaceMessageTypes,\n getMerchantDeliveryCostCalculationModeItems,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE, TYPE_ACTION,\n TYPE_SECTION_MESSAGE_MODEL,\n} from '../../utils/enums';\nimport {isMobileWidth} from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport i18n from 'i18next';\n\nexport function createMarketplaceSectionModel() {\n return new SectionModel({\n filterOptions: createServiceCitiesSectionFilter(),\n columns: [\n {\n title: 'orders.NAME_LABEL',\n component: item => item.label || item.title,\n },\n {\n title: 'settings.marketplaceMessage.LANGUAGE',\n accessor: 'language',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceMessage.TYPE',\n accessor: 'type_enum',\n type: CONTROL_TYPE.text,\n },\n {\n title: '',\n controlTitle: '',\n width: '180px',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '90px',\n centered: true,\n type: CONTROL_TYPE.link,\n wrapOnMobileWidth: '600',\n link: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n hideWidth: '700',\n },\n ],\n actionName: MARKETPLACE_MESSAGE,\n typeModel: MARKETPLACE_SETTINGS_MODEL.marketplace,\n tableMinWidth: 600,\n editAction: MARKETPLACE_MESSAGE_TOGGLE_ENABLED,\n dragActionName: MARKETPLACE_MESSAGE_UPDATE,\n actionLoad: MARKETPLACE_MESSAGE_GET,\n isForceUpdate: true,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.marketplaceNew,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.marketplaceMessage.MARKETPLACE',\n sortByFunc: items => sortByPropNumber(items, 'order', false),\n mappingLambda: state => {\n return (state.marketplace.data.message || []).map(message => ({\n ...message,\n type_enum: (getMarketplaceMessageTypes().find(f => f.key === message.type) || {})['value'] || '',\n }));\n },\n });\n}\n\nexport function createCustomerDeliveryPriceSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.personalSettings.shipmentPriceSettings.BASIS_PRICE',\n accessor: 'appbasisPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.BASIS_DISTANCE_IN_METERS',\n accessor: 'appbasisDistanceInMeters',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_PER_KM',\n accessor: 'apppricePerKm',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.MAX_DELIVERY_PRICE',\n accessor: 'appmaxDeliveryPrice',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_CALCULATION_MODE',\n accessor: 'appmode',\n isEditable: true,\n connect: () => ({\n values: getMerchantDeliveryCostCalculationModeItems(),\n }),\n type: CONTROL_TYPE.select,\n },\n ],\n actionName: SHIPMENT_PRICE_CONFIGURATION,\n actionLoad: SHIPMENT_PRICE_CONFIGURATION_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n disabledIfEmpty: state => state?.restaurant?.data?.appShipmentPriceConfiguration,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS' }\n ),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.DELIVERY',\n }),\n ],\n label: 'settings.customerDeliveryPrice.BREADCRUMBS',\n mappingLambda: state => {\n return {\n id: 'generalsettings',\n ...state.restaurant.data.appShipmentPriceConfiguration,\n };\n },\n });\n}\n\nfunction createServiceCitiesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(marketplace) {\n return getMarketplaceFilter(this.selected, marketplace);\n });\n\n return filterOptionsModel;\n}\n\nexport function createMarketplaceSettingsModel(args) {\n return new SectionModel({\n columns: [\n {\n isEditable: true,\n accessor: 'headerUrl',\n settingsAaccessor: 'headerSettings',\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.marketplaceSettings.SCORING_ENABLED',\n accessor: 'scoringEnabled',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplaceSettings.ALLOW_MULTIPLE_DISCOUNTS',\n accessor: 'allowMultipleDiscounts',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_CASH',\n accessor: 'requireVerifiedPhoneOnCash',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_CARD',\n accessor: 'requireVerifiedPhoneOnCard',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_PROFILE',\n accessor: 'requirePhoneVerificationOnProfile',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplaceSettings.TERMS_CONDITIONS_URL',\n accessor: 'termsAndConditionsUrl',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceSettings.PRIVACY_POLICY_URL',\n accessor: 'privacyPolicyUrl',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceSettings.ACCESSIBILITY_POLICY_URL',\n accessor: 'accessibilityPolicyUrl',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceSettings.ACCESSIBILITY_SITE_URL',\n accessor: 'accessibleSiteUrl',\n isEditable: true,\n type: CONTROL_TYPE.text,\n }\n ],\n actionName: MARKETPLACE_SETTINGS,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.marketplaceSettings,\n saveControlsConfig: {\n cancel: { title: 'basic.RESET_BUTTON', action: () => {}, isInit: true },\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n ],\n label: 'settings.marketplaceSettings.MENU_LABEL',\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n mappingLambda: state => state.restaurant.data.paymentsConfiguration,\n });\n}\n\nexport function createCancelReasonEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.businessCategories.CATEGORY_NAME',\n accessor: 'nameTranslations',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.languageEditor,\n },\n ],\n actionName: CANCEL_REASON,\n actionLoad: CANCEL_REASON_GET,\n initNewItemModel: item => {\n return (\n item || {\n nameTranslations: [],\n }\n );\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.cancelReason.LABEL',\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.edit ? MARKETPLACE_SETTINGS_MODEL.cancelReasonEdit : MARKETPLACE_SETTINGS_MODEL.cancelReasonNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.cancelReason,\n mappingLambda: state => {\n return state.restaurant.data.cancelReason || [];\n },\n });\n}\nexport function createCancelReasonSectionModel() {\n return new SectionModel({\n filterOptions: createCancelReasonSectionFilter(),\n columns: [\n {\n title: 'settings.cancelReason.REASON',\n accessor: 'name'\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.cancelReasonEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n },\n ],\n actionName: CANCEL_REASON,\n actionLoad: CANCEL_REASON_GET,\n tableMinWidth: 300,\n typeModel: MARKETPLACE_SETTINGS_MODEL.cancelReason,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.cancelReasonNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.cancelReason.LABEL',\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const data = state.restaurant.data.cancelReason || [];\n return data.filter(reason => !reason.isDeleted).map(reason => {\n const name = reason?.nameTranslations === null ? '' : reason.nameTranslations[i18n.language]\n return {\n name: name || '',\n ...reason,\n }\n })\n }\n });\n}\n\nfunction createCancelReasonSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(businessCategory) {\n return getBusinesMenuCategoriesFilter(this.selected, businessCategory);\n });\n\n return filterOptionsModel;\n}","import i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\nimport {CONTROL_TYPE, MARKETPLACE_SETTINGS_MODEL, MODEL_CONTROL_TYPE, MODEL_TYPE, TYPE_ACTION} from \"../../utils/enums\";\nimport { getInitModel } from \"../initModels\";\n\nimport { GIFT_CARD, GIFT_CARD_GET, GIFT_CARD_PRODUCT } from '../../store/reducers/restaurant/restaurant-actions';\nimport {createControlModel} from \"../controlModelFactory\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {\n getLoyaltyGiftCardProductNameById,\n isMobileWidth,\n} from '../restaurant';\nimport { getHistoryLocationParams } from '../../utils/routesHelper.js';\n\nexport function createGiftCardSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.giftCard.ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"\",\n accessor: \"header\",\n settingsAaccessor: \"header_settings\",\n isEditable: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.imageEdit\n },\n {\n title: \"settings.orderingmenu.MARKETPLACE_GIFTCARDS_OPTIONS_LABEL\",\n accessor: \"name\",\n isEditable: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.text\n }, \n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_EMAIL_LABEL\",\n accessor: \"email\",\n isEditable: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_PHONE_LABEL\",\n accessor: \"phone\",\n isEditable: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.text\n },\n {\n title: \"new-order-directive.ADDRESS_LABEL\",\n accessor: \"address\",\n isEditable: true,\n isShowIcon: true,\n withEmpty: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.address\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTIONS_LABEL\",\n accessor: \"products\",\n model: new SectionModel({\n isDraggable: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProducts,\n actionName: GIFT_CARD_PRODUCT,\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL\",\n accessor: \"name\",\n width: \"200px\",\n url: item=> MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit + \"?id=\" + item.id,\n type: CONTROL_TYPE.linkControl\n }, \n {\n title: \"\",\n accessor: \"enabled\",\n label: {\n onLabel: \"settings.giftCard.MENU_BUSINESS_PRODUCT_ENABLED_LABEL\",\n offLabel: \"settings.giftCard.MENU_BUSINESS_PRODUCT_DISABLED_LABEL\",\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: \"100px\"\n },\n {\n title: '',\n width: \"40px\",\n type: CONTROL_TYPE.link,\n url: item=> MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit + \"?id=\" + item.id,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.giftCard.MENU_BUSINESS_PRODUCT_EDIT_LABEL\")\n }\n ]\n }),\n isEditable: true,\n isFillContent: true,\n newItemUrl: MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsNew,\n isShowNewItemControl: true,\n isShow: data=> data.enabled,\n type: CONTROL_TYPE.editTable\n }\n ],\n actionName: GIFT_CARD,\n actionLoad: GIFT_CARD_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.giftCard,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\",\n }),\n createBreadcrumbModel({\n label: \"settings.marketplaceMessage.LOYALTY\",\n }),\n ],\n label: \"settings.giftCard.MENU_LABEL\",\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.giftCard && state.restaurant.data.giftCard.businessMenu) || {};\n return ({\n id: \"giftCard\",\n ...businessMenu,\n enabled: state.restaurant.data.giftCard && state.restaurant.data.giftCard.enabled,\n products: ((businessMenu.categories || [])[0] || {})[\"products\"] || [],\n address: { \n address: {\n city: businessMenu.address_city,\n street: businessMenu.address,\n },\n location: {\n latitude: businessMenu.location && (businessMenu.location.latitude || businessMenu.location.lat),\n longitude: businessMenu.location && (businessMenu.location.longitude || businessMenu.location.lng)\n }\n }\n });\n }\n });\n}\n\nexport function createGiftCardProductSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"images\",\n settingsAaccessor: \"image_settings\",\n isEditable: true,\n type: CONTROL_TYPE.imageEdit\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL\",\n accessor: \"price\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_SKU\",\n accessor: \"sku\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_BEFORE_DISCOUNT\",\n accessor: \"price_before_discount\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n useColorRed: (item) => item.price_before_discount < item.price && item.price_before_discount\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_MAX\",\n accessor: \"max\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_DESCRIPTION_LABEL\",\n accessor: \"description\",\n isEditable: true,\n type: CONTROL_TYPE.textArea\n }\n ],\n actionLoad: GIFT_CARD_GET,\n actionName: GIFT_CARD_PRODUCT,\n initNewItemModel: item => getInitModel(MODEL_TYPE.categoryProductModel, item),\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit\n : MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.giftCard,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\",\n }),\n createBreadcrumbModel({\n label: \"settings.marketplaceMessage.LOYALTY\",\n }),\n createBreadcrumbModel({\n label: \"settings.giftCard.MENU_LABEL\",\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getLoyaltyGiftCardProductNameById(id) : i18n.t(\"settings.giftCard.NEW_GIFT_CARD\");\n },\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.giftCard && state.restaurant.data.giftCard.businessMenu) || {};\n return ((businessMenu.categories || [])[0] || {})[\"products\"] || [];\n }\n });\n}\n","import React from 'react';\n\nimport SectionModel from '../../models/sectionModel';\nimport {\n COURIER_DELIVERY_FEES_SETTING,\n COURIER_DELIVERY_FEES_SETTING_GET,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING,\n COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE, getCurrencyIcons,\n getMerchantDeliveryCostCalculationModeItems,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n PRICE_CALCULATION_MODE, TYPE_ACTION,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { getInitModel } from '../initModels';\n\nimport RegionDeliveryPrice from '../../app/components/RegionDeliveryPrice';\nimport { isEmptyMode} from '../../utils/objects-util';\nimport {getRegions, isEndlessCycleMode, isMobileWidth} from '../restaurant';\nimport { createControlModel } from '../controlModelFactory';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport FilterOptionsModel from \"../../models/filterOptionsModel.js\";\nimport i18n from \"i18next\";\n\nconst getEditColumns = ({showName} = {}) => ([\n {\n title: 'settings.courierDeliveryFeesSettings.NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShow: item => showName\n },\n {\n title: 'settings.map.COURIER_PRICE_CALCULATION_MODE',\n accessor: 'calculationMode',\n isEditable: true,\n connect: () => ({\n values: getMerchantDeliveryCostCalculationModeItems(),\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.map.GENERAL_DELIVERY_PRICE',\n accessor: 'maxDeliveryPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n isShow: value =>\n !isEmptyMode(value.calculationMode) &&\n value.calculationMode === PRICE_CALCULATION_MODE.fixedRegionBased,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.personalSettings.shipmentPriceSettings.BASIS_PRICE',\n accessor: 'basisPrice',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.BASIS_DISTANCE_IN_METERS',\n accessor: 'basisDistanceInMeters',\n isEditable: true,\n inlineType: 'inlineEven',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_PER_KM',\n accessor: 'pricePerKm',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.MAX_DELIVERY_PRICE',\n accessor: 'maxDeliveryPrice',\n isEditable: true,\n inlineType: 'inlineEven',\n type: CONTROL_TYPE.number,\n },\n ],\n isShow: value =>\n !isEmptyMode(value.calculationMode) &&\n value.calculationMode !== PRICE_CALCULATION_MODE.fixedRegionBased,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.PRICE_CHANGE_GROUP_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.personalSettings.shipmentPriceSettings.MIN_ORDER_COUNT_TO_APPLY_PRICE_CHANGE',\n accessor: 'minOrderCountToApplyPriceChange',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.ORDER_COUNT_PRICE_CHANGE_INCREMENT',\n accessor: 'orderCountPriceChangeIncrement',\n isEditable: true,\n type: CONTROL_TYPE.number,\n measure: '%',\n isShow: item => !item.useAbsValueForOrderCountPriceChange,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.ORDER_COUNT_PRICE_CHANGE_INCREMENT',\n accessor: 'orderCountPriceChangeIncrement',\n isEditable: true,\n type: CONTROL_TYPE.number,\n measure: getCurrencyIcons('ils'),\n isShow: item => item.useAbsValueForOrderCountPriceChange,\n },\n {\n title: 'settings.personalSettings.shipmentPriceSettings.USE_ABS_VALUE_FOR_ORDER_COUNT_PRICE_CHANGE',\n accessor: 'useAbsValueForOrderCountPriceChange',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n isShow: item => !isEndlessCycleMode()\n },\n {\n title: 'settings.map.DEPOT_DELIVERY_PRICE_PERREGION_HEADER_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n isShow: value =>\n !isEmptyMode(value.calculationMode) && value.calculationMode !== PRICE_CALCULATION_MODE.distanceBased,\n items: [\n {\n accessor: 'regionConfigurations',\n itemValue: {\n key: 'id',\n component: function(item, onChange, onDelete) {\n return (\n \n );\n },\n },\n isEditable: true,\n type: CONTROL_TYPE.listItem,\n },\n {\n title: 'settings.users.DEPOT_USERS_ADD_BUTTON',\n accessor: 'regionConfigurations',\n values: function(item) {\n const selectedRegions = (item && item.regionConfigurations).map(m => m.id);\n return getRegions()\n .filter(f => !selectedRegions.includes(f.id))\n .map(region => ({ ...region, key: region.id, value: region.name }));\n },\n isEditable: true,\n type: CONTROL_TYPE.selectWithAdd,\n },\n ],\n }\n])\n\nexport function createCourierDeliveryFeesSectionModel({ ...args }) {\n return new SectionModel({\n columns: getEditColumns(),\n actionName: COURIER_DELIVERY_FEES_SETTING,\n actionLoad: COURIER_DELIVERY_FEES_SETTING_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.courierDeliveryFees, item),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.courierDeliveryFees,\n saveControlsConfig: {\n cancel: { title: 'basic.RESET_BUTTON', action: () => {}, isInit: true },\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: 'settings.courierDeliveryFeesSettings.LABEL',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' }),\n createBreadcrumbModel({ label: 'settings.COURIER_MANAGEMENT_LABEL' }),\n ],\n mappingLambda: state => {\n return {\n id: 'courierDeliveryFees',\n ...state.restaurant.data.shipmentPriceSettings,\n };\n },\n });\n}\n\nexport function createCourierDeliveryFeesTemplateSectionModel({...args}) {\n return new SectionModel({\n filterOptions: createCourierDeliveryFeesTemplateFilter(),\n columns: [\n {\n title: 'settings.courierDeliveryFeesSettings.NAME_LABEL',\n accessor: 'name',\n },\n {\n title: 'settings.providers.ACTIONS',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.courierDeliveryFeesTemplateEdit,\n iconName: 'editItem',\n width: '150px',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n }\n ],\n actionName: COURIER_DELIVERY_FEES_TEMPLATE_SETTING,\n actionLoad: COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET,\n isForceUpdate: true,\n initNewItemModel: item => item,\n typeModel: TYPE_SECTION_MODEL.courierDeliveryFeesTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew,\n }),\n ],\n label: 'settings.courierDeliveryFeesSettings.TEMPLATE_LABEL',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' }),\n createBreadcrumbModel({ label: 'settings.COURIER_MANAGEMENT_LABEL' }),\n ],\n mappingLambda: state => {\n return state.restaurant.data.shipmentTemplateSettings;\n },\n })\n}\n\nexport function createCourierDeliveryFeesTemplateEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: getEditColumns({ showName: true }),\n actionName: COURIER_DELIVERY_FEES_TEMPLATE_SETTING,\n actionLoad: COURIER_DELIVERY_FEES_TEMPLATE_SETTING_GET,\n parentUrl: TYPE_SECTION_MODEL.courierDeliveryFeesTemplate,\n initNewItemModel: item => getInitModel(MODEL_TYPE.courierDeliveryFees, item),\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.edit ? TYPE_SECTION_MODEL.courierDeliveryFeesTemplateEdit : TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n label: 'settings.courierDeliveryFeesSettings.TEMPLATE_LABEL',\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' }),\n createBreadcrumbModel({ label: 'settings.COURIER_MANAGEMENT_LABEL' }),\n ],\n mappingLambda: state => {\n return state.restaurant.data.shipmentTemplateSettings;\n },\n });\n}\n\nfunction createCourierDeliveryFeesTemplateFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n // filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(translations) {\n // return translationsFilter(this.selected, translations);\n // });\n\n return filterOptionsModel;\n\n}\n","import React from 'react';\nimport i18n from '../../i18n';\n\nimport { getPromotionFilter } from '../filter';\nimport { createControlModel } from '../controlModelFactory';\nimport {\n getCategories,\n getDepots,\n getListPromotionNameById,\n getMessages,\n getNameForCategory,\n isMobileWidth,\n} from '../restaurant';\n\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\n\nimport {\n LIST_PROMOTION_SETTING,\n LIST_PROMOTION_SETTING_DRAG,\n LIST_PROMOTION_SETTING_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE, getFormatTypes,\n getMarketplaceSearchTypes, getPositioningTypes,\n MARKETPLACE_SEARCH_TYPES,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n} from '../../utils/enums';\nimport { getInitModel } from '../initModels';\nimport { defaultPromiseResolve } from '../../utils/objects-util';\n\nimport IconButton from '../../app/components/IconButton';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { getHistoryLocationParams } from '../../utils/routesHelper.js';\n\nexport function createListPromotionSectionModel() {\n return new SectionModel({\n filterOptions: createListPromotionSectionFilter(),\n columns: [\n {\n title: 'settings.listPromotion.NAME_LABEL',\n component: (item) => item.label || item.name\n },\n {\n title: 'settings.listPromotion.VISIBLE_LABEL',\n component: function(item) {\n return (\n \n );\n },\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.listPromotionEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.listPromotion.EDIT_TOOLTIP_LABEL'),\n },\n ],\n actionLoad: LIST_PROMOTION_SETTING_GET,\n actionName: LIST_PROMOTION_SETTING,\n dragActionName: LIST_PROMOTION_SETTING_DRAG,\n typeModel: MARKETPLACE_SETTINGS_MODEL.listPromotion,\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.add, url: MARKETPLACE_SETTINGS_MODEL.listPromotionNew }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back, isShow: isMobileWidth }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.listPromotion.LABEL',\n mappingLambda: state => {const data = state.restaurant.data.listPromotion || []\n return data.map(item => ({\n name: item.name_translations ? item.name_translations[i18n.language] : '',\n ...item\n }))\n },\n });\n}\n\nexport function createListPromotionEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.listPromotion.VISIBLE_LABEL',\n accessor: 'visible',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.listPromotion.SHUFFLE',\n accessor: 'shuffle',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.listPromotion.HIGHLIGHTED',\n accessor: 'highlighted',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.listPromotion.HIDE_VIDEO_CONTROLS',\n accessor: 'hide_video_controls',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.listPromotion.MARGINS',\n accessor: 'margins',\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.listPromotion.TITLE',\n accessor: 'label',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.listPromotion.LIST_TYPE_LABEL',\n accessor: 'list_type',\n connect: () => ({\n values: getMarketplaceSearchTypes(),\n }),\n isEditable: true,\n dataToRefresh: {business_ids: []},\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.listPromotion.ROW_ITEMS_COUNT',\n accessor: 'row_items_count',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.listPromotion.MAX_PREVIEW_SIZE',\n accessor: 'max_preview_size',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.listPromotion.POSITIONING',\n accessor: 'positioning',\n isEditable: true,\n connect: () => ({\n values: getPositioningTypes(),\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.listPromotion.FORM_FACTOR',\n accessor: 'form_factor',\n isEditable: true,\n connect: () => ({\n values: getFormatTypes(),\n }),\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.businessCategories.CATEGORY_NAME',\n accessor: 'name_translations',\n isEditable: true,\n isFullWidth: true,\n type: CONTROL_TYPE.languageEditor,\n },\n ],\n },\n {\n title: 'settings.listPromotion.BUSINESS_ITEMS_HEADER_LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.listPromotion.BUSINESS_ADD_BUTTON',\n accessor: 'business_ids',\n connect: state => {\n const depots = (state.restaurant.data && state.restaurant.data.depots) || [];\n return {\n values: depots\n .filter(depot => depot.businessId)\n .map(depot => ({ key: depot.businessId, value: depot.name })),\n };\n },\n values: function(item) {\n return getDepots()\n .filter(\n depot =>\n depot.businessId &&\n !(item.business_ids || []).find(f => f.key === depot.businessId)\n )\n .map(depot => ({ key: depot.businessId, value: depot.name }));\n },\n isEditable: true,\n type: CONTROL_TYPE.selectWithAdd,\n },\n {\n accessor: 'business_ids',\n itemValue: {\n key: 'key',\n accessor: 'value',\n isReadonly: true,\n },\n isReadonly: true,\n isEditable: true,\n isDraggable: true,\n type: CONTROL_TYPE.listItem,\n },\n ],\n isShow: item => item.list_type === MARKETPLACE_SEARCH_TYPES.none,\n },\n {\n title: 'settings.listPromotion.MESSAGES',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.listPromotion.MESSAGES',\n accessor: 'business_ids',\n connect: state => {\n const messages = (state.marketplace.data && state.marketplace.data.message) || [];\n return {\n values: messages\n .map(mes => ({ key: mes.id, value: mes.label || mes.title })),\n };\n },\n values: function(item) {\n return getMessages()\n .filter(\n mes =>\n mes.id &&\n !(item.business_ids || []).find(f => f.key === mes.is)\n )\n .map(mes => ({ key: mes.id, value: mes.label || mes.title }));\n },\n isEditable: true,\n type: CONTROL_TYPE.selectWithAdd,\n },\n {\n accessor: 'business_ids',\n itemValue: {\n key: 'key',\n accessor: 'value',\n isReadonly: true,\n },\n isReadonly: true,\n isEditable: true,\n isDraggable: true,\n type: CONTROL_TYPE.listItem,\n },\n ],\n isShow: item => item.list_type === MARKETPLACE_SEARCH_TYPES.messages,\n },\n {\n title: 'settings.listPromotion.CATEGORIES',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.listPromotion.CATEGORIES',\n accessor: 'business_ids',\n connect: state => {\n const categories = (state.restaurant.data && state.restaurant.data.businessCategory) || [];\n return {\n values: categories\n .map(cat => ({ key: cat.id, value: cat.id })),\n };\n },\n values: function(item) {\n return getCategories()\n .filter(\n cat =>\n cat.id &&\n !(item.business_ids || []).find(f => f.key === cat.is)\n )\n .map(mes => ({ key: mes.id, value: getNameForCategory(mes) }));\n },\n isEditable: true,\n type: CONTROL_TYPE.selectWithAdd,\n },\n {\n accessor: 'business_ids',\n itemValue: {\n key: 'key',\n accessor: 'value',\n isReadonly: true,\n },\n isReadonly: true,\n isEditable: true,\n isDraggable: true,\n type: CONTROL_TYPE.listItem,\n },\n ],\n isShow: item => item.list_type === MARKETPLACE_SEARCH_TYPES.categories,\n },\n ],\n actionName: LIST_PROMOTION_SETTING,\n actionLoad: LIST_PROMOTION_SETTING_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.listPromotionModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.listPromotionEdit\n : MARKETPLACE_SETTINGS_MODEL.listPromotionNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.listPromotion,\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back, isShow: isMobileWidth })],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n label: 'settings.listPromotion.LABEL',\n })\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getListPromotionNameById(id) : i18n.t('settings.listPromotion.NEW_LABEL');\n },\n mappingLambda: state => state.restaurant.data.listPromotion || [],\n });\n}\n\nfunction createListPromotionSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(promo) {\n return getPromotionFilter(this.selected, promo);\n });\n\n return filterOptionsModel;\n}\n","import i18n from '../../i18n';\n\nimport { createControlModel } from '../controlModelFactory';\nimport { getDeliveryZonesFilter, sortItemsByProp } from '../filter';\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\n\nimport {\n SETTINGS_DELIVERY_ZONES,\n SETTINGS_DELIVERY_ZONES_GET,\n SETTINGS_DELIVERY_ZONES_LIST_UPDATE,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n DELIVERY_ZONE_TYPE,\n getDeliveryZoneTypes,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { getInitModel } from '../initModels';\nimport {\n getDeliveryZonesNameById,\n getRestaurantLocation,\n isMobileWidth,\n} from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { getHistoryLocationParams } from '../../utils/routesHelper.js';\n\nexport function createDeliveryZonesSection() {\n return new SectionModel({\n filterOptions: createDeliveryZonesSectionFilter(),\n columns: [\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL',\n accessor: 'name',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_LABEL',\n accessor: 'enabled',\n tooltipText: i18n.t('settings.deliveryZones.DELIVERY_ZONE_STATUS_CHANGE_TOOLTIP'),\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL',\n accessor: 'minimum',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL',\n accessor: 'price',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL',\n accessor: 'operation_profile',\n centered: true,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '90px',\n centered: true,\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.deliveryZonesEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.orderingmenu.DELIVERY_ZONE_EDIT_TOOLTIP_LABEL'),\n },\n ],\n actionLoad: SETTINGS_DELIVERY_ZONES_GET,\n actionName: SETTINGS_DELIVERY_ZONES,\n editAction: SETTINGS_DELIVERY_ZONES_LIST_UPDATE,\n typeModel: MARKETPLACE_SETTINGS_MODEL.deliveryZones,\n isForceUpdate: true,\n parentUrl: TYPE_SECTION_MODEL.users,\n sortByFunc: sortItemsByProp,\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.add, url: MARKETPLACE_SETTINGS_MODEL.deliveryZonesNew }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back, isShow: isMobileWidth }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.DELIVERY',\n }),\n ],\n label: 'settings.deliveryZones.LABEL',\n mappingLambda: state => state.restaurant.data.deliveryZones || [],\n });\n}\n\nexport function createDeliveryZoneEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL',\n accessor: 'minimum',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_USER_PRICE_FOR_MIXED_MODE_LABEL',\n accessor: 'price_calculation_mode_bool',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_TYPE_LABEL',\n accessor: 'type',\n connect: () => ({\n values: getDeliveryZoneTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL',\n accessor: 'operation_profile',\n connect: state => ({\n values: [{ key: '', value: '-' }]\n .concat((state.restaurant.data.operations && state.restaurant.data.operations.profiles) || [])\n .map(operation => ({\n key: operation.name,\n value: operation.name,\n })),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.DELIVERY_ZONE_REFERENCE_REGION_LABEL',\n accessor: 'reference',\n connect: state => {\n return {\n values: [{ key: '', value: '-' }]\n .concat((state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || [])\n .map(region => ({ key: region.id, value: region.name })),\n };\n },\n isShow: item => item.type === DELIVERY_ZONE_TYPE.reference,\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: '',\n accessor: 'region',\n isEditable: true,\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n boundsByRegion: true,\n isShow: item => item.type === DELIVERY_ZONE_TYPE.polygon,\n type: CONTROL_TYPE.mapRegion,\n },\n {\n title: '',\n accessor: 'circle',\n isEditable: true,\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n boundsByCircle: true,\n isShow: item => item.type === DELIVERY_ZONE_TYPE.circle,\n type: CONTROL_TYPE.mapRegion,\n },\n {\n title: '',\n accessor: 'reference',\n isFillContent: true,\n isHidePolygon: true,\n isHideDepots: true,\n isShow: item => item.type === DELIVERY_ZONE_TYPE.reference,\n type: CONTROL_TYPE.mapRegion,\n },\n ],\n actionLoad: SETTINGS_DELIVERY_ZONES_GET,\n actionName: SETTINGS_DELIVERY_ZONES,\n initNewItemModel: item => {\n const location = getRestaurantLocation();\n const initModel = getInitModel(MODEL_TYPE.deliveryZoneModel, {\n ...item,\n businessMenu: {\n location,\n },\n setDefaultRegion: true,\n });\n\n return {\n ...initModel,\n region: initModel.data.region,\n circle: initModel.data.circle\n ? {\n center: initModel.data.circle.center,\n radius: initModel.data.circle.radio * 1000,\n }\n : null,\n reference: initModel.data.reference && initModel.data.reference.region_id,\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.deliveryZonesEdit\n : MARKETPLACE_SETTINGS_MODEL.deliveryZonesNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.deliveryZones,\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.DELIVERY',\n }),\n createBreadcrumbModel({\n label: 'settings.deliveryZones.LABEL',\n })\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getDeliveryZonesNameById(id) : i18n.t('settings.deliveryZones.NEW_DELIVERY_ZONE');\n },\n mappingLambda: state => {\n return state.restaurant.data.deliveryZones || [];\n },\n });\n}\n\nfunction createDeliveryZonesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(deliveryZone) {\n return getDeliveryZonesFilter(this.selected, deliveryZone);\n });\n\n return filterOptionsModel;\n}\n","import i18n from '../../i18n';\n\nimport { getMarketplaceFilter, sortByPropNumber } from '../filter';\nimport { createControlModel } from '../controlModelFactory';\nimport FilterOptionsModel from './../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\n\nimport {\n MARKETPLACE_PAGES,\n MARKETPLACE_PAGES_TOGGLE_ENABLED,\n MARKETPLACE_PAGES_UPDATE,\n} from '../../store/reducers/restaurant/restaurant-actions';\nimport { MARKETPLACE_PAGES_GET } from '../../store/reducers/order/order-actions';\n\nimport {\n CONTROL_TYPE,\n getMarketplaceLanguages,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_PATTERN,\n} from '../../utils/enums';\nimport { getInitModel } from '../initModels';\nimport { getPattern } from '../../utils/objects-util';\nimport { getPageNameById, isMobileWidth } from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { getHistoryLocationParams } from '../../utils/routesHelper.js';\n\nexport function createPagesSectionModel() {\n return new SectionModel({\n filterOptions: createServiceCitiesSectionFilter(),\n columns: [\n {\n title: 'orders.NAME_LABEL',\n accessor: 'title',\n },\n {\n title: 'settings.marketplacePages.LANGUAGE',\n accessor: 'language',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.ENABLED',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '90px',\n centered: true,\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.pagesEdit,\n iconName: 'editItem',\n },\n ],\n actionName: MARKETPLACE_PAGES,\n typeModel: MARKETPLACE_SETTINGS_MODEL.pages,\n editAction: MARKETPLACE_PAGES_TOGGLE_ENABLED,\n dragActionName: MARKETPLACE_PAGES_UPDATE,\n actionLoad: MARKETPLACE_PAGES_GET,\n isForceUpdate: true,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.pagesNew,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({ type: MODEL_CONTROL_TYPE.back, isShow: isMobileWidth }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.APP_BUILDER',\n }),\n ],\n label: 'settings.pages.LABEL',\n sortByFunc: items => sortByPropNumber(items, 'order', false),\n mappingLambda: state => state.marketplace.data.pages || [],\n });\n}\n\nexport function createNewPagesSectionModel() {\n return new SectionModel({\n columns: [\n {\n title: 'settings.marketplacePages.BODY',\n accessor: 'body',\n showExtraEdit: true,\n type: CONTROL_TYPE.richText,\n isFillContent: true,\n isEditable: true,\n },\n {\n title: 'settings.marketplacePages.ENABLED',\n accessor: 'enabled',\n width: '200px',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplacePages.BANNER_SETTINGS',\n accessor: 'banner',\n settingsAaccessor: 'banner_settings',\n type: CONTROL_TYPE.imageEdit,\n isEditable: true,\n },\n {\n title: 'settings.marketplacePages.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.LANGUAGE',\n accessor: 'language',\n values: getMarketplaceLanguages(),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.marketplacePages.CATEGORY',\n accessor: 'category',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.LINK',\n accessor: 'link',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.SLUG',\n accessor: 'slug',\n isEditable: true,\n isItemValid: item => item?.slug?.trim()?.length,\n isFuncRequired: item => !item?.slug?.trim()?.length,\n pattern: getPattern(TYPE_PATTERN.slug),\n patternError: i18n.t('settings.marketplacePages.PATTERN_ERROR'),\n type: CONTROL_TYPE.text,\n },\n ],\n typeAction: TYPE_ACTION.new,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.pages,\n actionName: MARKETPLACE_PAGES,\n actionLoad: MARKETPLACE_PAGES_GET,\n disableGlobalKeyDown: true,\n mappingLambda: state => state,\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.pages.LABEL',\n }),\n ],\n label: 'settings.pages.NEW_LABEL',\n initNewItemModel: () => getInitModel(MODEL_TYPE.marketplacePages),\n });\n}\n\nexport function createEditPagesSectionModel() {\n return new SectionModel({\n columns: [\n {\n title: 'settings.marketplacePages.BODY',\n accessor: 'body',\n showExtraEdit: true,\n type: CONTROL_TYPE.richText,\n isFillContent: true,\n isEditable: true,\n },\n {\n title: 'settings.marketplacePages.BANNER_SETTINGS',\n accessor: 'banner',\n settingsAaccessor: 'banner_settings',\n type: CONTROL_TYPE.imageEdit,\n isEditable: true,\n },\n {\n title: 'settings.marketplacePages.ENABLED',\n controlTitle: '',\n accessor: 'enabled',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.marketplacePages.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.LANGUAGE',\n accessor: 'language',\n connect: () => ({\n values: getMarketplaceLanguages(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.marketplacePages.CATEGORY',\n accessor: 'category',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.LINK',\n accessor: 'link',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplacePages.SLUG',\n accessor: 'slug',\n isEditable: true,\n isRequired: true,\n pattern: getPattern(TYPE_PATTERN.slug),\n patternError: i18n.t('settings.marketplacePages.PATTERN_ERROR'),\n type: CONTROL_TYPE.text,\n },\n ],\n typeAction: TYPE_ACTION.edit,\n actionLoad: MARKETPLACE_PAGES_GET,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.pages,\n actionName: MARKETPLACE_PAGES,\n initNewItemModel: data => getInitModel(MODEL_TYPE.marketplacePages, data),\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.APP_BUILDER',\n }),\n createBreadcrumbModel({\n label: 'settings.pages.LABEL',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getPageNameById(id);\n },\n mappingLambda: state => state.marketplace.data.pages || [],\n });\n}\n\nfunction createServiceCitiesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(marketplace) {\n return getMarketplaceFilter(this.selected, marketplace);\n });\n\n return filterOptionsModel;\n}\n","import SectionModel from '../../models/sectionModel';\nimport {\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_MENU,\n TYPE_SECTION_MENUTEMPLATE_MODEL, TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport i18n from '../../i18n';\nimport {\n MARKETPLACE_SETTINGS,\n MENU_TEMPLATE,\n MENU_TEMPLATE_GET\n} from '../../store/reducers/restaurant/restaurant-actions';\nimport { createControlModel } from '../controlModelFactory';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport { getInitModel } from '../initModels';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { getMenuTemplateNameById, isMobileWidth } from '../restaurant';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getMenuTemplatesFilter } from '../filter';\n\nexport const createMenuTemplateSectionModel = () => {\n return new SectionModel({\n filterOptions: createMenuTemplateSectionFilter(),\n columns: [\n {\n title: 'settings.menuTemplate.NAME',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n hideWidth: '700',\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.mobileMenu,\n menuType: TYPE_MENU.menuTemplate,\n key: 'business_id',\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n iconName: 'editItem',\n isEditable: true,\n showWidth: '700',\n },\n ],\n actionName: MENU_TEMPLATE,\n isLayoutForm: true,\n key: 'business_id',\n actionLoad: MENU_TEMPLATE_GET,\n typeModel: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.menuTemplateNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n ],\n label: 'settings.menuTemplate.LABEL',\n mappingLambda: state => state.menuTemplate.data.templates || []\n });\n};\n\nexport const createNewMenuTemplateSectionModel = ({ ...args }) => {\n return new SectionModel({\n columns: [\n {\n title: 'settings.menuTemplate.NAME',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n typeAction: args.typeAction,\n actionName: MENU_TEMPLATE,\n typeModel: MARKETPLACE_SETTINGS_MODEL.menuTemplateNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n ],\n label: 'settings.menuTemplate.LABEL',\n initNewItemModel: item => getInitModel(MODEL_TYPE.menuTemplate, item),\n mappingLambda: state => state.menuTemplate.data.templates || []\n });\n};\n\nexport const createMenuTemplateEditSectionModel = ({ ...args }) => {\n return new SectionModel({\n key: \"business_id\",\n columns: [\n {\n title: 'settings.menuTemplate.NAME',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n typeAction: args.typeAction,\n actionName: MENU_TEMPLATE,\n typeModel: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n isShow: TYPE_ACTION.edit === args.typeAction,\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n label: 'marketplacesettings.menuTemplateLabel.INFO',\n initNewItemModel: item => getInitModel(MODEL_TYPE.menuTemplate, item),\n mappingLambda: state => state.menuTemplate.data.templates || []\n });\n};\n\nfunction createMenuTemplateSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(template) {\n return getMenuTemplatesFilter(this.selected, template);\n });\n\n return filterOptionsModel;\n}\n\nexport function createMarketplaceSettingsModel(args) {\n return new SectionModel({\n columns: [\n {\n isEditable: true,\n accessor: \"headerUrl\",\n settingsAaccessor: \"headerSettings\",\n type: CONTROL_TYPE.imageEdit\n },\n {\n title: \"settings.marketplaceSettings.SCORING_ENABLED\",\n accessor: \"scoringEnabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_CASH\",\n accessor: \"requireVerifiedPhoneOnCash\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_CARD\",\n accessor: \"requireVerifiedPhoneOnCard\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.marketplaceSettings.REQUIRE_VERIFIED_PHONE_ON_PROFILE\",\n accessor: \"requirePhoneVerificationOnProfile\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.marketplaceSettings.TERMS_CONDITIONS_URL\",\n accessor: \"termsAndConditionsUrl\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.marketplaceSettings.PRIVACY_POLICY_URL\",\n accessor: \"privacyPolicyUrl\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n ],\n actionName: MARKETPLACE_SETTINGS,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.marketplaceSettings,\n mappingLambda: state => state.restaurant.data.paymentsConfiguration,\n });\n}","import i18n from \"../../i18n\";\n\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport SectionModel from \"../../models/sectionModel\";\n\nimport {\n BUSINESS_PARENT_MENU,\n BUSINESS_PARENT_MENU_GET,\n BUSINESS_PARENT_MENU_UPDATE,\n PARENT_MENU_OVERRIDE_CATEGORY,\n PARENT_MENU_OVERRIDE_DELETE,\n PARENT_MENU_OVERRIDE_EXTRA,\n PARENT_MENU_OVERRIDE_OPTION,\n PARENT_MENU_OVERRIDE_PRODUCT,\n PARENT_MENU_OVERRIDE_SUBOPTION,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n EXTRA_TYPES,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n PARENT_MENU_UNIT_TYPES,\n spicyTypes,\n TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport {getDeliveryZonesFilter} from \"../filter\";\nimport {getInitModel} from \"../initModels\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {getAllExtra, getAllOption, getAllSuboption, getDepotNameById, getOrderingMenuOptions,} from '../restaurant';\nimport {createControlModel, filtrateControlByDepotRole} from \"../controlModelFactory\";\nimport {getRestaurantBusinessMenu} from \"../../store/selectors\";\n\nexport function createParentMenuSection({ ...args }) {\n const { parentId, subId, subToId, id } = getHistoryLocationParams(window.location.search);\n const extraTypesModels = {\n [EXTRA_TYPES.extra]:\n ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuExtraOverride +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&extra=`,\n [EXTRA_TYPES.option]:\n ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuOptionsOverride +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&option=`,\n [EXTRA_TYPES.suboption]:\n ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuSuboptionsOverride +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}suboption=`,\n [PARENT_MENU_UNIT_TYPES.category]:\n ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuCategoryOverride +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}suboption=`,\n [PARENT_MENU_UNIT_TYPES.product]:\n ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuProductOverride +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}suboption=`,\n };\n return new SectionModel({\n filterOptions: createDeliveryZonesSectionFilter(),\n isForceUpdate: true,\n fixScroll: true,\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU_NAME\",\n accessor: \"name\",\n isEditable: true,\n nestedTab: 15,\n type: CONTROL_TYPE.nestedItem,\n },\n {\n accessor: \"enabled\",\n isEditable: true,\n component: function(item) {\n return item && item.enabled\n ? i18n.t(\"basic.ENABLED_STATUS\")\n : i18n.t(\"basic.DISABLED_STATUS\")\n },\n type: CONTROL_TYPE.switch,\n width: \"100px\"\n },\n {\n title: \"\",\n controlTitle: \"\",\n accessor: \"enabled\",\n width: \"120px\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true\n },\n {\n title: '',\n width: '55px',\n centered: true,\n isLayout: true,\n quantity: item => {\n const extraOverrides = item && item.overrides && item.overrides.filter(x => x.id === item.id && x.name !== \"enabled\");\n return (extraOverrides && extraOverrides.length) || 0;\n },\n type: CONTROL_TYPE.iconWithQuantity,\n url: item => {\n return extraTypesModels[item.type] + item.id\n },\n iconName: 'editItem',\n isShow: (item) => item.type,\n },\n {\n title: '',\n width: '55px',\n isShow: (item) => !item.type,\n }\n ],\n showDeleteButton: false,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: BUSINESS_PARENT_MENU,\n editAction: BUSINESS_PARENT_MENU_UPDATE,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ]),\n label: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n })\n ],\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu) || {};\n const parentMenu = (state.restaurant.data.parentMenu && state.restaurant.data.parentMenu) || {};\n const data = getInitModel(MODEL_TYPE.parentMenu, {businessMenu, parentMenu}).data || [];\n const getOverridedName = object => {\n const findOverride = (businessMenu.overrides || []).find(o => o.object_id === object.id && o.name === 'name');\n return findOverride ? `${findOverride.value} (${object.name})` : object.name;\n }\n return data.map(el => ({...el,\n name: getOverridedName(el),\n overrides: businessMenu.overrides}));\n }\n });\n}\n\nexport function createParentMenuEditSection({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU_NAME\",\n accessor: \"name\",\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n ],\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: BUSINESS_PARENT_MENU,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu) || {};\n const parentMenu = (state.restaurant.data.parentMenu && state.restaurant.data.parentMenu) || {};\n return getInitModel(MODEL_TYPE.parentMenu, {businessMenu, parentMenu}).data;\n }\n });\n}\n\nfunction createDeliveryZonesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(deliveryZone) {\n return getDeliveryZonesFilter(this.selected, deliveryZone);\n });\n\n return filterOptionsModel;\n}\n\n\nexport function createParentMenuSuboptionsOverride({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => !item?.name?.trim()?.length,\n isItemValid: (item) => item?.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('price');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n ],\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: PARENT_MENU_OVERRIDE_SUBOPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.suboptionsModelWithOverrides, item),\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuSuboptionsOverride,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenu = state.restaurant.data.parentMenu || {};\n return getAllSuboption(parentMenu).map(el => ({...el, overrides: businessMenu?.overrides}));\n },\n });\n}\n\nexport function createParentMenuOptionsOverride({ ...args }) {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => !item?.name?.trim()?.length,\n isItemValid: (item) => item?.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n max: item => item.max,\n useColorRed: item => item.min > item.max && item.max !== 0,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('min');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n useColorRed: item => item.min > item.max && item.min !== 0,\n type: CONTROL_TYPE.number,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('with_half_option');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('allow_suboption_quantity');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('limit_suboptions_by_max');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuOptions(parentId, id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('conditioned');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n accessor: 'pizza_option',\n alwaysOnWithAccessor: 'with_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('pizza_option');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n ],\n isLayoutForm: true,\n isEditable: true,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: PARENT_MENU_OVERRIDE_OPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.optionModelWithOverrides, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuOptionsOverride,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenu = state.restaurant.data.parentMenu || {};\n return getAllOption(parentMenu).map(el => ({...el, overrides: businessMenu.overrides}));\n },\n });\n}\n\nexport function createParentMenuExtraOverride({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => !item?.name?.trim()?.length,\n isItemValid: (item) => item?.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n ],\n isEditable: true,\n isLayoutForm: true,\n isHideControls: true,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: PARENT_MENU_OVERRIDE_EXTRA,\n initNewItemModel: item => getInitModel(MODEL_TYPE.extraModelWithOverrides, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuExtraOverride,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenu = state.restaurant.data.parentMenu || {};\n return getAllExtra(parentMenu).map(el => ({...el, overrides: businessMenu.overrides}));\n },\n });\n}\n\nexport function createParentMenuCategoriesOverride({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => !item?.name?.trim()?.length,\n isItemValid: (item) => item?.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n ],\n isEditable: true,\n isLayoutForm: true,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: PARENT_MENU_OVERRIDE_CATEGORY,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.categoryModelOverride, item)\n },\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuCategoryOverride,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenu = state.restaurant.data.parentMenu || {};\n const categories = parentMenu.categories || [];\n return categories.map(el => ({...el, overrides: businessMenu.overrides}));\n },\n });\n}\n\nexport function createParentMenuProductOverride({ ...args }) {\n return new SectionModel({\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UNIT_WEIGHT',\n accessor: 'unit_weight',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isInline: true,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('unit_weight');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n isEditable: true,\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHTED',\n accessor: 'weighed',\n type: CONTROL_TYPE.switch,\n isInline: true,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('weighed');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n isEditable: true,\n isInline: true,\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHT_RANGE',\n accessor: 'weight_range',\n type: CONTROL_TYPE.number,\n measure: '%',\n min: () => 0,\n max: () => 100,\n isShow: item => item.weighed,\n useColorRed: item => item?.weight_range > 100 || item?.weight_range < 0,\n isItemValid: item => item?.weight_range <= 100 && item?.weight_range >= 0 ,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('weight_range');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => !item?.name?.trim()?.length,\n isItemValid: (item) => item?.name?.trim()?.length,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('price');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_BEFORE_DISCOUNT',\n accessor: 'price_before_discount',\n isEditable: true,\n type: CONTROL_TYPE.number,\n useColorRed: item => item.price_before_discount < item.price && item.price_before_discount,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('price_before_discount');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UPSELLING_LABEL',\n accessor: 'upselling',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('upselling');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGAN_LABEL',\n accessor: 'vegan',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('vegan');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_GLUTEN_FREE_LABEL',\n accessor: 'gluten_free',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('gluten_free');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGITERIAN_LABEL',\n accessor: 'vegetarian',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('vegetarian');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SPICY_LABEL',\n accessor: 'spicy',\n connect: () => ({\n values: spicyTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('spicy');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_MAX',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ALLOW_COMMENTS_LABEL',\n accessor: 'allow_comments',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('allow_comments');\n },\n labelIconName: 'delete',\n clickAction: PARENT_MENU_OVERRIDE_DELETE,\n },\n ],\n isEditable: true,\n isLayoutForm: true,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: PARENT_MENU_OVERRIDE_PRODUCT,\n initNewItemModel: item => getInitModel(MODEL_TYPE.categoryProductModelOverride, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuProductOverride,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = getRestaurantBusinessMenu(state);\n const parentMenu = state.restaurant.data.parentMenu || {};\n const products = parentMenu.categories.flatMap(c => c.products);\n return products.map(el => ({...el, overrides: businessMenu.overrides}));\n },\n });\n}\n","import React from 'react';\nimport i18n from '../../i18n';\n\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\n\nimport {\n GET_ORDERING_MENU_BUSINESS_EXTRA,\n ORDERING_MENU,\n ORDERING_MENU_BUSINESS_CATEGORIES,\n ORDERING_MENU_BUSINESS_CATEGORIES_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE,\n ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE,\n ORDERING_MENU_BUSINESS_EXTRA,\n ORDERING_MENU_BUSINESS_EXTRA_DELETE,\n ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n ORDERING_MENU_BUSINESS_EXTRA_UPDATE,\n ORDERING_MENU_BUSINESS_GALLERY,\n ORDERING_MENU_BUSINESS_GALLERY_REORDER,\n ORDERING_MENU_GET,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION,\n TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n CROP_MODE,\n EXTRA_TYPES,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n spicyTypes,\n TYPE_ACTION, TYPE_SECTION_MENUTEMPLATE_MODEL,\n} from '../../utils/enums';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { createControlModel } from '../controlModelFactory';\nimport { getBusinesMenuCategoriesFilter, getCategoryProductFilter, getGalleryFilter, sortByProp } from '../filter';\nimport { getInitModel } from '../initModels';\nimport {\n getBusinessMenuCategories, getBusinessMenuGalleryNameById,\n getCurrentCurrency,\n getCurrentOrderingMenuDepotId,\n getDepotCategoryExtras,\n getExtraNameFromBusinessCategory,\n getExtraOptionNameFromBusinessCategory,\n getMenuTemplateNameById,\n getNameByIdsBusinessMenu,\n getNameForExtraById,\n getNameForOptionExtraById,\n getNameForProductsByIds,\n getNewCategoryOrder,\n getOrderingMenuExtraOptions,\n getOrderingMenuOptions, getTemplateMenuById,\n} from '../restaurant';\n\nimport ItemLogo from '../../app/components/ItemLogo';\nimport { mergeArrays } from '../../utils/objects-util';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\n\nexport function createOrderingMenuEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU,\n initNewItemModel: item => item && item.businessMenu,\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n mappingLambda: state => state.restaurant.data.depots || [],\n });\n}\n\nexport function createBusinesMenuSectionMenuTemplate({ ...args }) {\n const { id } = getHistoryLocationParams(window.location.search);\n\n return new SectionModel({\n filterOptions: createBusinesMenuCategoriesSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts +\n '?parentId=' +\n id +\n '&id=' +\n item.id,\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n tooltipText: i18n.t('settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_CHANGE_TOOLTIP'),\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true,\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_ITEMS_LABEL')}: ${(item.products &&\n item.products.length) ||\n 0}`;\n },\n width: '90px',\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORIES,\n tableMinWidth: 600,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n breadcrumbs: [\n createBreadcrumbModel({\n label:'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n isLayout: true,\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew + `?parentId=${id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ],\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return (\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit +\n `?parentId=${id}&id=${item.id}`\n );\n },\n isLayout: true,\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_CATEGORIES_DELETE,\n isConfirm: true,\n },\n ],\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n ],\n isDraggable: false,\n dragActionName: ORDERING_MENU_BUSINESS_CATEGORIES_UPDATE,\n editAction: ORDERING_MENU_BUSINESS_CATEGORIES_LIST_UPDATE,\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => state.restaurant.data?.businessMenu?.categories || []\n });\n}\n\nexport function createBusinesMenuEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORIES,\n initNewItemModel: item => {\n const { id } = getHistoryLocationParams(window.location.search);\n const order = item && item.id ? item.order : getNewCategoryOrder(id);\n return {\n ...getInitModel(MODEL_TYPE.categoryModel, item),\n order,\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n isHideControls: true,\n isLayoutForm: true,\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraSectionMenuTemplate({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit +\n `?id=${id}&subId=${item.id}`,\n // width: '200px',\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n // width: '70px',\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n // width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true,\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_OPTIONS_LABEL')} ${(item.options &&\n item.options.length) ||\n 0}`;\n },\n // width: '70px',\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n tableMinWidth: 600,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n typeAction: args.typeAction,\n parentUrl: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n isForceUpdate: true,\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew + `?id=${id}`,\n }),\n ],\n showDeleteButton: false,\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return (\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit +\n `?id=${id}&subId=${item.id}`\n );\n },\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_EXTRA_DELETE,\n isConfirm: true,\n },\n ],\n editAction: ORDERING_MENU_BUSINESS_EXTRA_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n search: `?id=${id}`,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n search: `?id=${id}`,\n },\n ],\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n return extras || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraEditSectionMenuTemplate({ ...args }) {\n const { id, subId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTIONS_LABEL',\n accessor: 'options',\n model: new SectionModel({\n isDraggable: true,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOption,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit +\n `?id=${getCurrentOrderingMenuDepotId()}&subId=${subId}&subToId=${item.id}`,\n type: CONTROL_TYPE.linkControl,\n width: 'calc(100% - 215px)',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew +\n `?parentId=${id}&subId=${subId}`,\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_EXTRA,\n editCheckExcludedProps: ['options'],\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraModel, item);\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n businessId: id,\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getNameForExtraById(id, subId)\n : i18n.t('settings.orderingmenu.NEW_MENU_BUSINESS_CATEGORY_TAB_EXTRAS');\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n }),\n ],\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n return extras || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraOptionEditSectionMenuTemplate({ ...args }) {\n const { id, subId, subToId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET',\n accessor: 'free_budget',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n items: [\n [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['reduce_price_for_half_option', 'pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_REDUCE_PRICE_FOR_HALF_OPTION',\n accessor: 'reduce_price_for_half_option',\n alwaysOnWithAccessor: 'with_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n alwaysOnWithAccessor: 'with_half_option',\n accessor: 'pizza_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuExtraOptions(id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n ],\n isEditable: true,\n type: CONTROL_TYPE.switchGroups,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_RESPECT_TO_LABEL',\n accessor: 'respect_to',\n isShow: item => item.conditioned,\n connect: state => {\n const options = getOrderingMenuExtraOptions(subId, state);\n return {\n values: options\n .filter(option => option.id !== subToId)\n .reduce((arr, option) => {\n return arr.concat(\n option.suboptions.map(suboption => ({\n key: suboption.id,\n value: option.name + '/' + suboption.name,\n }))\n );\n }, []),\n };\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SUBOPTIONS_LABEL',\n accessor: 'suboptions',\n model: new SectionModel({\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSuboption,\n isLayoutForm: true,\n showDeleteButton: true,\n isDraggable: true,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: () =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit +\n `?id=${getCurrentOrderingMenuDepotId()}&subId=${subId}&subToId=${subToId}`,\n type: CONTROL_TYPE.linkControl,\n isLayout: true,\n width: 'calc(100% - 280px)',\n },\n {\n title: '',\n component: function(item) {\n return item.price + ' ' + getCurrentCurrency();\n },\n width: '100px',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew +\n `?parentId=${id}&id=${subId}&subId=null`,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_EXTRA_OPTIONS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.productOptionModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n saveControlsConfig: {\n cancel: {\n action: (item, history) =>\n history.push(\n `${\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n }?id=${getCurrentOrderingMenuDepotId()}&subId=${subId}`\n ),\n },\n save: {\n action: (item, history) =>\n history.push(\n `${\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit\n }?id=${getCurrentOrderingMenuDepotId()}&subId=${subId}`\n ),\n },\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(id) || getNameByIdsBusinessMenu(parentId);\n },\n }),\n createBreadcrumbModel({\n label:'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return getNameForExtraById(id, subId);\n },\n }),\n ],\n getLabel: () => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getNameForOptionExtraById(id, subId, subToId)\n : i18n.t('settings.orderingmenu.NEW_MENU_BUSINESS_CATEGORY_TAB_EXTRAS');\n },\n mappingLambda: state => {\n const { subId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n const extra = extras.find(f => f.id === subId);\n return (extra && extra.options) || [];\n },\n });\n}\n\nexport function createBusinesMenuExtraSuboptionEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'image',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_EXTRA_SUBOPTION,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraSuboptionModel, item);\n },\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n mappingLambda: state => {\n const { subId, subToId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const extras = (businessMenu && businessMenu.extras) || [];\n const extra = extras.find(f => f.id === subId);\n const options = (extra && extra.options) || [];\n const optionId = subToId;\n const option = options.find(f => f.id === optionId);\n return (option && option.suboptions) || [];\n },\n });\n}\n\nexport function createCategoryExtrasSectionMenuTemplate({ ...args }) {\n const { parentId, id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit +\n '?parentId=' +\n parentId +\n '&id=' +\n id +\n '&subId=' +\n item.id,\n width: '200px',\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n component: function(item) {\n return item && item.enabled ? i18n.t('basic.ENABLED_STATUS') : i18n.t('basic.DISABLED_STATUS');\n },\n width: '70px',\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: '',\n component: function(item) {\n return `${i18n.t('settings.orderingmenu.MENU_BUSSINES_CATEGORY_OPTIONS_LABEL')} ${(item.options &&\n item.options.length) ||\n 0}`;\n },\n width: '70px',\n },\n ],\n actionLoad: GET_ORDERING_MENU_BUSINESS_EXTRA,\n actionName: ORDERING_MENU_BUSINESS_EXTRA,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n typeAction: args.typeAction,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew +\n `?parentId=${parentId}&id=${id}&subId=0`,\n }),\n ],\n showDeleteButton: false,\n isCustomEditIcon: true,\n editControlsConfig: [\n {\n title: 'basic.EDIT_BUTTON',\n link: item => {\n return (\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit +\n `?parentId=${parentId}&id=${id}&subId=${item.id}`\n );\n },\n },\n {\n title: 'basic.DELETE_BUTTON',\n action: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_DELETE,\n isConfirm: true,\n },\n ],\n editAction: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_ITEMS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n search: `?parentId=${parentId}&id=${id}`,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n search: `?parentId=${parentId}&id=${id}`,\n },\n ],\n tabsControls: [\n createControlModel({\n items: getBusinessMenuCategories().map(category => ({\n key:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras +\n `?parentId=${parentId}&id=${category.id}`,\n value: category.name,\n })),\n value: (getBusinessMenuCategories().find(f => f.id === id) || {})['name'],\n type: MODEL_CONTROL_TYPE.comboUrl,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n }),\n ],\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(category => category.id === id) || {};\n return category.extras || [];\n },\n });\n}\n\nexport function createCategoryExtrasEditSectionMenuTemplate({ ...args }) {\n const { id, subId } = getHistoryLocationParams(args.params);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_STATUS_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTIONS_LABEL',\n accessor: 'options',\n model: new SectionModel({\n isDraggable: true,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOption,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit +\n `?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}&subToId=${\n item.id\n }`,\n type: CONTROL_TYPE.linkControl,\n width: 'calc(100% - 180px)',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew +\n `?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}`,\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS,\n editCheckExcludedProps: ['options'],\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraModel, item);\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n }\n })\n ],\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getExtraNameFromBusinessCategory(id, subId)\n : i18n.t('settings.orderingmenu.NEW_MENU_BUSINESS_CATEGORY_TAB_EXTRAS');\n },\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.extras) || [];\n },\n });\n}\n\nexport function createCategoryExtrasOptionEditSectionMenuTemplate({ ...args }) {\n const { parentId, id, subId, subToId } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n padding: '0 0 10px',\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n max: item => item.max,\n useColorRed: item => item.min > item.max && item.max !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n useColorRed: item => item.min > item.max && item.min !== 0,\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET',\n accessor: 'free_budget',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n items: [\n [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['reduce_price_for_half_option', 'pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_REDUCE_PRICE_FOR_HALF_OPTION',\n alwaysOnWithAccessor: 'with_half_option',\n accessor: 'reduce_price_for_half_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_PIZZA_OPTION_LABEL',\n alwaysOnWithAccessor: 'with_half_option',\n accessor: 'pizza_option',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuOptions(parentId, id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n ],\n isEditable: true,\n type: CONTROL_TYPE.switchGroups,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_RESPECT_TO_LABEL',\n accessor: 'respect_to',\n isShow: item => item.conditioned,\n connect: state => {\n const options = getOrderingMenuOptions(id, subId, state);\n return {\n values: options\n .filter(option => option.id !== subToId)\n .reduce((arr, option) => {\n return arr.concat(\n option.suboptions.map(suboption => ({\n key: suboption.id,\n value: option.name + '/' + suboption.name,\n }))\n );\n }, []),\n };\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SUBOPTIONS_LABEL',\n accessor: 'suboptions',\n model: new SectionModel({\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboption,\n isLayoutForm: true,\n showDeleteButton: true,\n isDraggable: true,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n columns: [\n {\n title: '',\n accessor: 'name',\n url: () =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit +\n `?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}&subToId=${subToId}`,\n type: CONTROL_TYPE.linkControl,\n isLayout: true,\n width: 'calc(100% - 280px)',\n },\n {\n title: '',\n component: function(item) {\n return item.price + ' ' + getCurrentCurrency();\n },\n width: '100px',\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_ENABLED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_OPTION_DISABLED_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isShowNewItemControl: true,\n isDisabledNewItemControl: item => !item || !item.id,\n isEditable: true,\n isFillContent: true,\n newItemUrl:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew +\n `?parentId=${id}&id=${subId}&subId=null`,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_OPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.productOptionModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n saveControlsConfig: {\n cancel: {\n action: (item, history) =>\n history.push(\n `${\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n }?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}`\n ),\n },\n save: {\n action: (item, history) =>\n history.push(\n `${\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit\n }?parentId=${getCurrentOrderingMenuDepotId()}&id=${id}&subId=${subId}`\n ),\n },\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n }\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n return getExtraNameFromBusinessCategory(id, subId);\n }\n })\n ],\n getLabel: () => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getExtraOptionNameFromBusinessCategory(id, subId, subToId)\n : i18n.t('settings.orderingmenu.NEW_MENU_BUSSINES_CATEGORY_OPTIONS_LABEL');\n },\n mappingLambda: state => {\n const { id, subId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const categories = (businessMenu && businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = (category && category.extras) || [];\n const extra = extras.find(f => f.id === subId);\n return (extra && extra.options) || [];\n },\n });\n}\n\nexport function createCategoryProductsSectionMenuTemplate({ ...args }) {\n const { parentId, id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createCategoryProductsSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: '',\n component: function(item) {\n return (\n \n );\n },\n width: '100px',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL',\n accessor: 'name',\n // width: '200px',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRAS_LABEL',\n accessor: 'extrasJoin',\n // width: '300px',\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL',\n accessor: 'price',\n // width: '100px',\n centered: true,\n },\n {\n title: '',\n controlTitle: '',\n accessor: 'enabled',\n // width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n isSubId: true,\n type: CONTROL_TYPE.link,\n link:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit +\n `?parentId=${parentId}&id=${id}`,\n iconName: 'editItem',\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n editAction: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_UPDATE,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n typeAction: args.typeAction,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n ],\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.back }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew +\n `?parentId=${parentId}&id=${id}&subId=0`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ],\n tabsControls: [\n createControlModel({\n items: getBusinessMenuCategories().map(category => ({\n key:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts +\n `?parentId=${parentId}&id=${category.id}`,\n value: category.name,\n })),\n value: (getBusinessMenuCategories().find(f => f.id === id) || {})['name'],\n type: MODEL_CONTROL_TYPE.comboUrl,\n }),\n ],\n isDraggable: false,\n dragActionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS_DRAG_UPDATE,\n tabs: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_ITEMS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n search: `?parentId=${parentId}&id=${id}`,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB_EXTRAS',\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n search: `?parentId=${parentId}&id=${id}`,\n },\n ],\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(category => category.id === id) || {};\n return (category.products || []).map(product => ({\n ...product,\n extrasJoin: (product.extras || []).map(m => m.name).join(', '),\n }));\n },\n });\n}\n\nexport function createCategoryProductIngredientSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_INGRIDIENTS_LABEL',\n accessor: 'ingredients',\n model: new SectionModel({\n isDraggable: true,\n columns: [\n {\n title: '',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n width: '200px',\n isEditable: true,\n },\n ],\n typeModel:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredient,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n }),\n isEditable: true,\n isFillContent: true,\n isShowArrayNewItemControl: true,\n arrayNewItemAccessor: 'name',\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n type: CONTROL_TYPE.editTable,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_INGREDIENT,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientNew,\n initNewItemModel: item => item,\n isHideControls: true,\n isLayoutForm: true,\n isHideSaveButton: true,\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.products) || [];\n },\n });\n}\n\nexport function createCategoryProductsEditSectionMenuTemplate({ ...args }) {\n const { parentId, id, subId } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'images',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UNIT_WEIGHT',\n accessor: 'unit_weight',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHTED',\n accessor: 'weighed',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_WEIGHT_RANGE',\n accessor: 'weight_range',\n isEditable: true,\n type: CONTROL_TYPE.number,\n measure: '%',\n min: () => 0,\n max: () => 100,\n isShow: item => item.weighed,\n useColorRed: item => item.weight_range > 100 || item.weight_range < 0,\n isItemValid: item => item.weight_range <= 100 && item.weight_range >= 0 ,\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n justifyContent: 'flex-start'\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_PRICE_BEFORE_DISCOUNT',\n accessor: 'price_before_discount',\n isEditable: true,\n type: CONTROL_TYPE.number,\n useColorRed: item => item.price_before_discount < item.price && item.price_before_discount,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_MAX',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_UPSELLING_LABEL',\n accessor: 'upselling',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_ALLOW_COMMENTS_LABEL',\n accessor: 'allow_comments',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGAN_LABEL',\n accessor: 'vegan',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_GLUTEN_FREE_LABEL',\n accessor: 'gluten_free',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_VEGITERIAN_LABEL',\n accessor: 'vegetarian',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_INGRIDIENTS_LABEL',\n accessor: 'categoryIngredients',\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit +\n `?parentId=${parentId}&id=${id}&subId=${item.id}`,\n isEditable: true,\n isLayout: true,\n type: CONTROL_TYPE.linkControl,\n isDisabled: item => !item.id,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_SPICY_LABEL',\n accessor: 'spicy',\n connect: () => ({\n values: spicyTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_LABEL',\n accessor: 'categoryExtras',\n model: new SectionModel({\n isDraggable: true,\n showDeleteButton: false,\n columns: [\n {\n title: '',\n accessor: 'name',\n type: CONTROL_TYPE.text,\n width: 'calc(100% - 195px)',\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"40px\",\n centered: true,\n type: CONTROL_TYPE.iconWithQuantity,\n quantity: item => {\n if (item && item.overrides) {\n return item.overrides.length;\n }\n return 0;\n },\n url: item =>\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${item.id}`,\n iconName: 'editItem',\n isShow: item => item.enabled,\n },\n {\n title: '',\n accessor: 'enabled',\n label: {\n onLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL',\n offLabel: 'settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL',\n },\n type: CONTROL_TYPE.switch,\n isEditable: true,\n width: '100px',\n },\n ],\n }),\n isEditable: true,\n isFillContent: true,\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCT_UPDATE,\n type: CONTROL_TYPE.editTable,\n },\n {\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_ENABLED_LABEL',\n accessor: 'enable_schedule',\n interchangeableAccessor: 'preorder_schedule',\n isEditable: true,\n isFillContent: true,\n padding: '10px 0',\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_PREORDER_SHEDULE_ENABLED_LABEL',\n accessor: 'preorder_schedule',\n interchangeableAccessor: 'enable_schedule',\n isEditable: true,\n isFillContent: true,\n padding: '10px 0',\n type: CONTROL_TYPE.switch,\n },\n ],\n isEditable: true,\n display: 'flex',\n alignItems: 'center',\n gap: '15px',\n type: CONTROL_TYPE.group,\n isFillContent: true,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule,\n },\n ],\n // actionLoad: ORDERING_MENU_GET,\n shouldCallActionFromSideMenu: (state) => {\n if(state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) {\n return state.restaurant?.data.businessMenu?.id === state.menuTemplate.templates ? getTemplateMenuById(parentId)?.business_id : parentId;\n }\n return false;\n },\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_PRODUCTS,\n initNewItemModel: item => {\n return {\n ...getInitModel(MODEL_TYPE.categoryProductModel, item),\n categoryExtras: mergeArrays(getDepotCategoryExtras(parentId, id), (item && item.extras) || []).map(\n extra => {\n const hasExtra = item && item.extras && item.extras.some(e => e.id === extra.id);\n return { ...extra, enabled: hasExtra, order: hasExtra ? (extra.order || 0) : 1000 + (extra.order || 0) };\n }\n ).sort((a, b) => a.order - b.order),\n };\n },\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n checkActiveButtonFromModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId, id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n }),\n ],\n getLabel: () => {\n const { parentId, id, subId } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getNameForProductsByIds(parentId, id, subId)\n : i18n.t('settings.orderingmenu.NEW_MENU_BUSINESS_PRODUCT_ID_LABEL');\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n return (category && category.products) || [];\n },\n });\n}\n\nexport function createCategoryExtrasSuboptionEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'image',\n settingsAaccessor: 'image_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n padding: '0 0 10px',\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.richText,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraSuboptionModel, item);\n },\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = (category && category.extras) || [];\n const extra = extras.find(f => f.id === subId);\n const options = (extra && extra.options) || [];\n const optionId = state.sectionModel.sectionModels[state.sectionModel.currentModelType].id || subToId;\n const option = options.find(f => f.id === optionId);\n\n return (option && option.suboptions) || [];\n },\n });\n}\n\nfunction createBusinesMenuCategoriesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(category) {\n return getBusinesMenuCategoriesFilter(this.selected, category);\n });\n\n return filterOptionsModel;\n}\n\nfunction createCategoryProductsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(product) {\n return getCategoryProductFilter(this.selected, product);\n });\n\n return filterOptionsModel;\n}\n\nexport function createReviewProductExtraMenuTemplate({ ...args }) {\n const { parentId, subId, subToId, id } = getHistoryLocationParams(window.location.search);\n const extraTypesModels = {\n [EXTRA_TYPES.extra]:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideExtra +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&extra=`,\n [EXTRA_TYPES.option]:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideOption +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}&option=`,\n [EXTRA_TYPES.suboption]:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideSuboption +\n `?parentId=${parentId}&id=${id}&subId=${subId}&subToId=${subToId}suboption=`,\n };\n return new SectionModel({\n filterOptions: createReviewProductExtraFilter(),\n isForceUpdate: true,\n showNeedSave: ({models, sectionModel}) => {\n const model = models[ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]?.model;\n return model?.isMarkedModelAsChanged;\n },\n columns: [\n {\n title: 'settings.orderingmenu.OVERRIDE_LABEL_NAME',\n accessor: 'name',\n type: CONTROL_TYPE.nestedItem,\n nestedTab: 15,\n isEditable: true,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n isLayout: true,\n accessor: 'name',\n quantity: item => {\n const extraOverrides = item && item.overrides && item.overrides.filter(x => x.id === item.id);\n return (extraOverrides && extraOverrides.length) || 0;\n },\n type: CONTROL_TYPE.iconWithQuantity,\n url: item => extraTypesModels[item.extraType] + item.id,\n iconName: 'editItem',\n isShow: () => true,\n },\n ],\n actionName: ORDERING_MENU_GET,\n shouldCallActionFromSideMenu: (state) => {\n if(state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) {\n return state.restaurant?.data.businessMenu?.id === state.menuTemplate.templates ? getTemplateMenuById(parentId)?.business_id : parentId;\n }\n return false;\n },\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit,\n initNewItemModel: item => getInitModel(MODEL_TYPE.reviewExtra, item),\n isLayoutForm: true,\n showDeleteButton: false,\n controls: [createControlModel({ type: MODEL_CONTROL_TYPE.back })],\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const globalExtras =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.extras) || [];\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories && categories.find(el => el.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extraOverride = product && product.extras.find(p => p.id === subToId);\n const extras = globalExtras.concat((category && category.extras) || []);\n const extra = extras.find(el => el.id === subToId);\n return getInitModel(MODEL_TYPE.reviewExtra, extra).data.map(el => ({\n ...el,\n overrides: extraOverride && extraOverride.overrides,\n }));\n },\n });\n}\n\nfunction createReviewProductExtraFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(category) {\n return getBusinesMenuCategoriesFilter(this.selected, category);\n });\n\n return filterOptionsModel;\n}\nexport function createOverrideExtraMenuTemplate({ ...args }) {\n const {parentId} = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n ],\n isEditable: true,\n isLayoutForm: true,\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_EXTRA,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.extraModelWithOverrides, item);\n },\n typeAction: args.typeAction,\n shouldCallActionFromSideMenu: (state) => {\n if(state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) {\n return state.restaurant?.data.businessMenu?.id === state.menuTemplate.templates ? getTemplateMenuById(parentId)?.business_id : parentId;\n }\n return false;\n },\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideExtra,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n markModelAsChanged: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n mappingLambda: state => {\n const { id, subId, parentId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const product = category.products.find(p => p.id === subId);\n const allExtra = getDepotCategoryExtras(parentId, id, state);\n\n return mergeArrays(allExtra || [], (product && product.extras) || []);\n },\n });\n}\n\nexport function createOverrideOptionMenuTemplate({ ...args }) {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n {\n id: 'group1',\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MIN_LABEL',\n accessor: 'min',\n isEditable: true,\n type: CONTROL_TYPE.number,\n min: () => 0,\n max: item => item.max,\n useColorRed: item => item.min > item.max,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('min');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n },\n {\n title: i18n.t('settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_FREE_BUDGET'),\n accessor: 'free_budget',\n isEditable: true,\n min: () => 0,\n type: CONTROL_TYPE.number,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('free_budget');\n },\n isItemValid: item => item && item.max >= item.free_budget,\n max: item => item.max,\n useColorRed: item => item.free_budget > item.max && item.free_budget !== 0,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_SKU',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_HALF_OPTION_AVAILLABLE_LABEL',\n accessor: 'with_half_option',\n accessorsToOff: ['reduce_price_for_half_option', 'pizza_option'],\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('with_half_option');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_ALLOW_SUBOPTION_QUANTITY_LABEL',\n accessor: 'allow_suboption_quantity',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('allow_suboption_quantity');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_LIMIT_SUBOPTIONS_BY_MAX_LABEL',\n accessor: 'limit_suboptions_by_max',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('limit_suboptions_by_max');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_OPTION_CONDITIONED_LABEL',\n accessor: 'conditioned',\n isShow: () => {\n const options = getOrderingMenuOptions(parentId, id);\n return options.length > 1;\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION_DELETE,\n labelIconName: 'delete',\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('conditioned');\n },\n },\n ],\n isLayoutForm: true,\n isEditable: true,\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_OPTION,\n initNewItemModel: item => getInitModel(MODEL_TYPE.optionModelWithOverrides, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideOption,\n shouldCallActionFromSideMenu: (state) => {\n if(state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) {\n return state.restaurant?.data.businessMenu?.id === state.menuTemplate.templates ? getTemplateMenuById(parentId)?.business_id : parentId;\n }\n return false;\n },\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras,\n markModelAsChanged: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n mappingLambda: state => {\n const { id, subId, subToId } = getHistoryLocationParams(window.location.search);\n const businessMenu = state.restaurant.data.businessMenu;\n const categories = (businessMenu && businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const product = category && category.products.find(p => p.id === subId);\n const extras = mergeArrays(\n (category && category.extras) || [],\n getDepotCategoryExtras(parentId, id, state)\n );\n const extra = extras.find(f => f.id === subToId);\n const overridesExtra = product && product.extras.find(e => e.id === extra.id);\n const extraWithOverride =\n extra &&\n extra.options &&\n extra.options.map(e => ({ ...e, overrides: overridesExtra && overridesExtra.overrides }));\n\n return extraWithOverride || [];\n },\n });\n}\n\nexport function createOverrideSuboptionMenuTemplate({ ...args }) {\n const {parentId} = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n isFuncRequired: (item) => item !== null,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('name');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_DESCRIPTION_LABEL',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('description');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_PRICE_LABEL',\n accessor: 'price',\n min: () => 0,\n isEditable: true,\n type: CONTROL_TYPE.number,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('price');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_MAX_LABEL',\n accessor: 'max',\n isEditable: true,\n min: () => 0,\n type: CONTROL_TYPE.number,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('max');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_SUBOPTION_SKU_LABEL',\n accessor: 'sku',\n isEditable: true,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('sku');\n },\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_EXTRAS_CUSTOM_TAG_LABEL',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n labelIconName: 'delete',\n clickAction: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION_DELETE,\n isShowIconLabel: item => {\n return item.overridesProperty && item.overridesProperty.includes('tag');\n },\n },\n ],\n actionName: TEMPLATE_MENU_BUSINESS_PRODUCT_OVERRIDE_SUBOPTION,\n initNewItemModel: item => {\n return getInitModel(MODEL_TYPE.suboptionsModelWithOverrides, item);\n },\n isLayoutForm: true,\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideSuboption,\n shouldCallActionFromSideMenu: (state) => {\n if(state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.id) {\n return state.restaurant?.data.businessMenu?.id === state.menuTemplate.templates ? getTemplateMenuById(parentId)?.business_id : parentId;\n }\n return false;\n },\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n markModelAsChanged: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra,\n mappingLambda: state => {\n const { id, subToId, subId, parentId } = getHistoryLocationParams(window.location.search);\n const categories =\n (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.categories) || [];\n const category = categories.find(f => f.id === id);\n const extras = mergeArrays(\n getDepotCategoryExtras(parentId, id, state),\n (category && category.extras) || []\n );\n const extra = extras.find(f => f.id === subToId);\n const options = (extra && extra.options) || [];\n const product = category && category.products.find(p => p.id === subId);\n const overridesExtra = product && product.extras.find(e => e.id === extra.id);\n return options\n .flatMap(el => el.suboptions)\n .map(el => ({\n ...el,\n overrides: overridesExtra && overridesExtra.overrides,\n }));\n },\n });\n}\n\nexport function createBusinessGalleryMenuTemplate() {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n actionName: ORDERING_MENU_BUSINESS_GALLERY,\n filterOptions: createGalleryFilter(),\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery,\n columns: [\n {\n title: '',\n component: function(item) {\n return (\n \n );\n },\n width: '100px',\n },\n {\n accessor: 'title',\n title: 'settings.business-gallery.TITLE',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryEdit,\n iconName: 'editItem',\n },\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n label: 'settings.business-gallery.LABEL',\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryNew + `?id=${id}`,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n ],\n dragActionName: ORDERING_MENU_BUSINESS_GALLERY_REORDER,\n actionLoad: ORDERING_MENU_GET,\n initNewItemModel: item => item,\n mappingLambda: state => {\n const businessMenu = state.restaurant.data && state.restaurant.data.businessMenu;\n return (businessMenu && businessMenu.gallery) || [];\n },\n });\n}\n\nexport function createBusinessGalleryNewMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.business-gallery.IMAGE',\n accessor: 'file',\n settingsAaccessor: 'file_settings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.business-gallery.DESCRIPTION',\n accessor: 'description',\n isEditable: true,\n type: CONTROL_TYPE.textArea,\n },\n {\n title: 'settings.business-gallery.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: ORDERING_MENU_BUSINESS_GALLERY,\n initNewItemModel: item => getInitModel(MODEL_TYPE.gallery, item),\n actionLoad: ORDERING_MENU_GET,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(parentId) || getMenuTemplateNameById(id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.business-gallery.LABEL',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getBusinessMenuGalleryNameById(id) : i18n.t('settings.business-gallery.NEW_LABEL');\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => {\n const businessMenu = state.restaurant.data && state.restaurant.data.businessMenu;\n return (businessMenu && businessMenu.gallery) || [];\n },\n });\n}\n\nfunction createGalleryFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(gallery) {\n return getGalleryFilter(this.selected, gallery);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport SectionModel from \"../../models/sectionModel\";\n\nimport {\n ORDERING_MENU_GET,\n ORDERING_MENU_BUSINESS_INFO,\n BUSINESS_CATEGORY,\n BUSINESS_CATEGORY_GET,\n MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_SWITCH_CONTROL_COLOR,\n MODEL_CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { getInitModel } from \"../initModels\";\nimport { getDepotNameById, getMenuTemplateNameById, isDepotByPathname } from '../restaurant';\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {createControlModel, filtrateControlByDepotRole} from \"../controlModelFactory\";\nimport { getBusinesMenuCategoriesFilter, sortByProp } from '../filter';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport { Avatar } from '../../app/components/Avatar/Avatar';\nimport React from 'react';\n\nexport function createBusinesInfoEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"header\",\n settingsAaccessor: \"header_settings\",\n isEditable: true,\n type: CONTROL_TYPE.imageEdit\n },\n {\n id: \"group1\",\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_DELIVERY_LABEL\",\n accessor: \"disable_delivery\",\n typeColor: TYPE_SWITCH_CONTROL_COLOR.red,\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_TAKEAWAY_LABEL\",\n accessor: \"disable_takeaway\",\n typeColor: TYPE_SWITCH_CONTROL_COLOR.red,\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MESSAGE_LABEL\",\n accessor: \"message\",\n isEditable: true,\n type: CONTROL_TYPE.textArea\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_SCHEDULER_ORDERS\",\n accessor: \"disable_scheduled_orders\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MESSAGE_ENABLED_LABEL\",\n accessor: \"message_enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_GIFT\",\n accessor: \"allow_gift\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_NAME_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ABOUT_LABEL\",\n accessor: \"about\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_KOSHER_LABEL\",\n accessor: \"kosher\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ALWAYS_DELIVER_LABEL\",\n accessor: \"always_deliver\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_EMAIL_LABEL\",\n accessor: \"email\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DESCRIPTION_LABEL\",\n accessor: \"description\",\n isEditable: true,\n type: CONTROL_TYPE.richText\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_PHONE_LABEL\",\n accessor: \"phone\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MINIMUM_LABEL\",\n accessor: \"minimum\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ZIPCODE_LABEL\",\n accessor: \"zipcode\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MINIMUM_TAKEAWAY_LABEL\",\n accessor: \"minimum_takeaway\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ADDRESS_NOTES_LABEL\",\n accessor: \"address_notes\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"new-order-directive.ADDRESS_LABEL\",\n accessor: \"address\",\n isEditable: true,\n isShowIcon: true,\n withEmpty: true,\n type: CONTROL_TYPE.address\n },\n {\n title: \"\",\n accessor: \"address\",\n isEditable: true,\n isFillContent: true,\n isHideSearch: true,\n isHidePolygon: true,\n type: CONTROL_TYPE.mapAddress\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_INFO,\n initNewItemModel: item => getInitModel(MODEL_TYPE.businessInfoModel, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n label: \"settings.orderingmenu.MENU_BUSINESS_INFO\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ],\n mappingLambda: state => state.restaurant.data.businessMenu || {}\n });\n}\n\nexport function createDepotMenuTemplateBusinessCategoriesEditSectionModel() {\n const { id } = getHistoryLocationParams(window.location.search);\n const isDepot = !!getDepotNameById(id) || isDepotByPathname()\n return new SectionModel({\n filterOptions: createDepotBusinessCategoriesEditSectionModelMenuTemplateFilter(),\n columns: [\n {\n title: \"\",\n width: \"70px\",\n component: function(businessCategory) {\n return ;\n },\n type: CONTROL_TYPE.image\n },\n {\n title: \"settings.businessCategories.CATEGORY_NAME\",\n accessor: 'name'\n },\n {\n title: \"\",\n controlTitle: \"\",\n accessor: \"isEnabled\",\n width: \"140px\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n withLoader: true,\n }\n ],\n isForceUpdate: true,\n actionName: BUSINESS_CATEGORY,\n actionLoad: BUSINESS_CATEGORY_GET,\n editAction: MENU_TEMPLATE_BUSINESS_CATEGORY_SETTING_EDIT,\n typeModel: isDepot ? ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories,\n parentUrl: isDepot ? TYPE_SECTION_DEPOT_MODEL.depotsEdit : MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ]),\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n return isDepot ? getDepotNameById(id) : getMenuTemplateNameById(id);\n },\n }),\n ],\n label: \"settings.businessCategories.DEPOT_LABEL\",\n sortByFunc: function(items) {\n return sortByProp(items);\n },\n mappingLambda: state => {\n const data = state.restaurant.data.businessCategory || []\n const businessCategories = state.restaurant.data.businessMenu?.business_categories || []\n return data.map(category => {\n const name = category.nameTranslations === null ? category.name : category.nameTranslations[i18n.language]\n return {\n name: name || '',\n isEnabled: businessCategories.includes(category.id),\n ...category\n }\n })\n }\n });\n}\n\nfunction createDepotBusinessCategoriesEditSectionModelMenuTemplateFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(category) {\n return getBusinesMenuCategoriesFilter(this.selected, category);\n });\n\n return filterOptionsModel;\n}","import React from 'react';\nimport i18n from '../../i18n';\n\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport SectionModel from '../../models/sectionModel';\nimport { createControlModel } from '../controlModelFactory';\nimport { getBusinesDiscountFilter } from '../filter';\nimport { getInitModel } from '../initModels';\nimport {\n getBusinessMenuOfferNameById,\n getDiscountCalculationBaseType,\n getDiscountOrderTypeLabel, getDiscountTargetType,\n getDiscountTypeLabel,\n getMenuTemplateNameById,\n getNameByIdsBusinessMenu,\n} from '../restaurant';\n\nimport {\n ORDERING_MENU_BUSINESS_DISCOUNTS,\n ORDERING_MENU_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n DATECONTROL_TYPE,\n DISCOUNT_TYPE,\n discountOrderTypes,\n discountTypes, getOfferCalculationBase,\n getOfferDiscountTarget,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n RATE_TYPE,\n rateTypes, TYPE_ACTION,\n} from '../../utils/enums';\nimport { defaultPromiseResolve } from '../../utils/objects-util';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\n\nimport IconButton from '../../app/components/IconButton';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\n\nexport function createBusinesDiscountsSectionMenuTemplate({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createBusinesDiscountsSectionFilter(),\n columns: [\n {\n title: \"settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL\",\n accessor: \"discount_target\",\n component: item=> getDiscountTargetType(item.discount_target) || null,\n centered: true\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n component: item => getDiscountOrderTypeLabel(item.order_type),\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n component: item => getDiscountTypeLabel(item.type) || null,\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n component: item =>\n item.rate_type > 0 ? (\n \n ) : null,\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n centered: true,\n },\n {\n title: \"settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON\",\n accessor: \"calculation_base\",\n component: item=> getDiscountCalculationBaseType(item.calculation_base) || null,\n centered: true\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n centered: true,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n centered: true,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('settings.orderingmenu.MENU_DISCOUNTS_EDIT_TOOLTIP_LABEL'),\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_DISCOUNTS,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n typeAction: args.typeAction,\n tableMinWidth: 1200,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew + `?parentId=${id}`,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n label: 'settings.orderingmenu.MENU_DISCOUNTS',\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.offers) || [];\n },\n });\n}\n\nexport function createBusinesDiscountEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TYPE_LABEL',\n accessor: 'type',\n connect: () => ({\n defaultValue: { key: '', value: i18n.t('settings.orderingmenu.MENU_DISCOUNT_TYPE_SELECT_LABEL') },\n values: discountTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_RATE_TYPE_LABEL',\n accessor: 'rate_type',\n connect: () => ({\n defaultValue: { key: '', value: i18n.t('settings.orderingmenu.MENU_RATE_TYPE_SELECT_LABEL') },\n values: rateTypes(),\n }),\n isRequired: true,\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_RATE_LABEL',\n accessor: 'rate',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_MINIMUM_LABEL',\n accessor: 'minimum',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_LIMIT_LABEL',\n accessor: 'limit',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_START_LABEL',\n accessor: 'start',\n isEditable: true,\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_END_LABEL',\n accessor: 'end',\n min: item => item.start,\n isEditable: true,\n inlineType: 'inlineOdd',\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_ORDER_TYPE_LABEL',\n accessor: 'order_type',\n connect: () => ({\n values: discountOrderTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_COUPON_LABEL',\n accessor: 'coupon',\n isEditable: true,\n isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_SINGLE_USER_LABEL',\n accessor: 'single_user',\n isEditable: true,\n isShow: item => item && item.type === DISCOUNT_TYPE.coupon,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.orderingmenu.MENU_DISCOUNTS_CALCULATION_BASED_ON\",\n accessor: \"calculation_base\",\n connect: () => ({\n values: getOfferCalculationBase()\n }),\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: 'settings.orderingmenu.MENU_DISCOUNT_TARGET_LABEL',\n accessor: 'discount_target',\n connect: () => ({\n values: getOfferDiscountTarget(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: \"settings.orderingmenu.MENU_DISCOUNT_SHOW_IN_MARKETPLACE_APP\",\n accessor: \"show_in_marketplace\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: 'settings.orderingmenu.DISCOUNT_BUSINESS_SHEDULE_ENABLED_LABEL',\n accessor: 'enable_schedule',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE_LABEL',\n accessor: 'schedule',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule,\n },\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_DISCOUNTS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.offerModel, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu(parentId || id);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_DISCOUNTS',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getBusinessMenuOfferNameById(id) : i18n.t('settings.orderingmenu.NEW_MENU_DISCOUNTS');\n },\n mappingLambda: state => {\n return (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.offers) || [];\n },\n });\n}\n\nfunction createBusinesDiscountsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(businesDiscount) {\n return getBusinesDiscountFilter(this.selected, businesDiscount);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport SectionModel from \"../../models/sectionModel\";\n\nimport { ORDERING_MENU_DELIVERY_ZONES, ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE, ORDERING_MENU_GET } from \"../../store/reducers/restaurant/restaurant-actions\";\n\nimport {\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n CONTROL_TYPE,\n MODEL_TYPE,\n DELIVERY_ZONE_TYPE,\n MODEL_CONTROL_TYPE,\n TYPE_ACTION,\n getDeliveryZoneTypes, MARKETPLACE_SETTINGS_MODEL\n} from \"../../utils/enums\";\nimport { getHistoryLocationParams } from \"../../utils/routesHelper\";\nimport { createControlModel } from \"../controlModelFactory\";\nimport { getDeliveryZonesFilter } from \"../filter\";\nimport { getInitModel } from \"../initModels\";\nimport {\n getCurrentBusinessMenu,\n getMenuTemplateNameById,\n getNameByIdsBusinessMenu, getOrderingMenuDeliveryZonesNameById,\n} from '../restaurant';\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createMenuDeliveryZonesSectionMenuTemplate({ ...args }) {\n const { id } = getHistoryLocationParams(args.params);\n\n return new SectionModel({\n filterOptions: createDeliveryZonesSectionFilter(),\n columns: [\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL\",\n accessor: \"name\",\n isHideDeleteButton: item=> item.isMarkerplace,\n width: '150px',\n fixedWidth: '150px'\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL\",\n accessor: \"minimum\",\n centered: true,\n width: '200px',\n fixedWidth: '200px'\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL\",\n accessor: \"price\",\n centered: true,\n width: '200px',\n fixedWidth: '200px'\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL\",\n accessor: \"operation_profile\",\n centered: true,\n width: 'auto',\n fixedWidth: 'auto'\n },\n {\n //empty item for align items\n title: 'basic.EDIT_BUTTON',\n accessor: \"enabled\",\n width: \"90px\",\n fixedWidth: \"90px\",\n type: CONTROL_TYPE.label,\n isInline: true,\n isShow: item => item.isGlobalZone\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.orderingmenu.DELIVERY_ZONE_EDIT_TOOLTIP_LABEL\"),\n isShow: item => !item.isMarkerplace && !item.isGlobalZone\n },\n {\n title: \"\",\n controlTitle: \"\",\n accessor: \"enabled\",\n tooltipText: i18n.t(\"settings.orderingmenu.DELIVERY_ZONE_ATTACH_TOOLTIP\"),\n label: {\n onLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL\",\n offLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL\",\n },\n isEditable: true,\n type: CONTROL_TYPE.switch,\n withLoader: true,\n isInline: true,\n isShow: (item)=> item.isMarkerplace && !item.isGlobalZone,\n },\n {\n title: \"\",\n width: \"90px\",\n hideInHeader: true,\n accessor: \"enabled\",\n centered: true,\n isEditable: true,\n withLoader: true,\n type: CONTROL_TYPE.switch,\n label: {\n onLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADDED_LABEL\",\n offLabel: \"settings.orderingmenu.MENU_BUSINESS_PRODUCT_EXTRA_ADD_LABEL\",\n },\n isShow: (item)=> item.isGlobalZone,\n isHideDeleteButton: () => true,\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_DELIVERY_ZONES,\n tableMinWidth: 640,\n editAction: ORDERING_MENU_DELIVERY_ZONES_LIST_UPDATE,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n typeAction: args.typeAction,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew + `?parentId=${id}`\n })\n ],\n label: \"settings.orderingmenu.MENU_DELIVERY_ZONES\",\n mappingLambda: state => {\n const zones = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu.delivery_zones) || [];\n const globalZones = ((state.restaurant.data && state.restaurant.data.deliveryZones) || []);\n const deliveryZoneReferenceIds = zones\n .filter(zone => zone.data.delivery_zone_reference && zone.data.delivery_zone_reference.zone_id)\n\n const globalZonesWithFlag = globalZones.map(zone => {\n const find = deliveryZoneReferenceIds.find(z => z.data.delivery_zone_reference.zone_id === zone.id);\n return ({\n ...zone,\n data: {\n ...zone.data,\n delivery_zone_reference: {\n zone_id: zone.id\n }\n },\n id: find && find.id,\n enabled: !!find,\n type: DELIVERY_ZONE_TYPE.deliveryZoneReference,\n isGlobalZone: true\n })\n });\n\n return zones.filter(zone => zone.type !== DELIVERY_ZONE_TYPE.deliveryZoneReference).concat(globalZonesWithFlag) || [];\n }\n });\n}\n\nexport function createMenuDeliveryZoneEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_NAME_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_MINIMUM_LABEL\",\n accessor: \"minimum\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_PRICE_LABEL\",\n accessor: \"price\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_USER_PRICE_FOR_MIXED_MODE_LABEL\",\n accessor: \"price_calculation_mode_bool\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_TYPE_LABEL\",\n accessor: \"type\",\n connect: ()=> ({\n values: getDeliveryZoneTypes()\n }),\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_OPERATION_LABEL\",\n accessor: \"operation_profile\",\n connect: state=> ({\n values: [{ key: \"\", value: \"-\" }]\n .concat((state.restaurant.data.operations && state.restaurant.data.operations.profiles) || [])\n .map(operation => ({\n key: operation.name,\n value: operation.name\n }))\n }),\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_REFERENCE_REGION_LABEL\",\n accessor: \"reference\",\n connect: state=> {\n return ({\n values: [{ key: \"\", value: \"-\" }]\n .concat((state.restaurant.data.configuration && state.restaurant.data.configuration.regions) || [])\n .map(region => ({ key: region.id, value: region.name }))\n });\n },\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.reference,\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"\",\n accessor: \"region\",\n isEditable: true,\n isFillContent: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.polygon,\n type: CONTROL_TYPE.mapRegion\n },\n {\n title: \"\",\n accessor: \"circle\",\n isEditable: true,\n isFillContent: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.circle,\n type: CONTROL_TYPE.mapRegion\n },\n {\n title: \"\",\n accessor: \"reference\",\n isFillContent: true,\n isHideDepots: true,\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.reference,\n type: CONTROL_TYPE.mapRegion\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_GLOBAL_REFERENCE_TYPE_LABEL\",\n accessor: \"zone_id\",\n connect: state=> {\n return ({\n values: (state.restaurant.data.deliveryZones || [])\n .filter(f=> f.enabled)\n .map(deliveryZone=> ({ key: deliveryZone.id, value: deliveryZone.name }))\n });\n },\n isShow: item=> item.type === DELIVERY_ZONE_TYPE.deliveryZoneReference,\n isEditable: true,\n type: CONTROL_TYPE.select\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_DELIVERY_ZONES,\n initNewItemModel: item => {\n const businessMenu = (item && item.businessMenu) || getCurrentBusinessMenu();\n const initModel = getInitModel(MODEL_TYPE.deliveryZoneModel, { \n businessMenu, \n ...item, \n setDefaultRegion: !item \n });\n\n return {\n ...initModel,\n marker: {\n id: businessMenu.id,\n title: businessMenu.name,\n location: businessMenu.location\n },\n region: initModel.data.region,\n circle: initModel.data.circle ? {\n center: initModel.data.circle.center,\n radius: initModel.data.circle.radio * 1000\n } : null,\n reference: (initModel.data.reference || {}).region_id,\n zone_id: (initModel.data.delivery_zone_reference || {}).zone_id\n };\n },\n typeAction: args.typeAction,\n typeModel: args.typeAction === TYPE_ACTION.edit\n ? ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit\n : ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\"\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n return getNameByIdsBusinessMenu( parentId || id);\n }\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.MENU_DELIVERY_ZONES\",\n })\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit ? getOrderingMenuDeliveryZonesNameById(id) : i18n.t('settings.orderingmenu.NEW_MENU_DELIVERY_ZONES');\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ],\n\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu || {};\n return ((businessMenu && businessMenu.delivery_zones) || []).map(el => ({...el, businessMenu}))\n }\n });\n}\n\nfunction createDeliveryZonesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(deliveryZone) {\n return getDeliveryZonesFilter(this.selected, deliveryZone);\n });\n\n return filterOptionsModel;\n}\n","import i18n from \"../../i18n\";\n\nimport FilterOptionsModel from \"../../models/filterOptionsModel\";\nimport SectionModel from \"../../models/sectionModel\";\n\nimport {\n BUSINESS_PARENT_MENU,\n BUSINESS_PARENT_MENU_GET, BUSINESS_PARENT_MENU_UPDATE,\n} from \"../../store/reducers/restaurant/restaurant-actions\";\n\nimport {\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n CONTROL_TYPE, MODEL_TYPE, MODEL_CONTROL_TYPE,\n} from \"../../utils/enums\";\nimport { getDeliveryZonesFilter } from \"../filter\";\nimport {getInitModel} from \"../initModels\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {getMenuTemplateNameById} from \"../restaurant\";\nimport {createControlModel} from \"../controlModelFactory\";\n\nexport function createParentMenuSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n filterOptions: createDeliveryZonesSectionFilter(),\n isForceUpdate: true,\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU_NAME\",\n accessor: \"name\",\n isEditable: true,\n nestedTab: 15,\n type: CONTROL_TYPE.nestedItem,\n },\n {\n accessor: \"enabled\",\n isEditable: true,\n component: function(item) {\n return item && item.enabled\n ? i18n.t(\"basic.ENABLED_STATUS\")\n : i18n.t(\"basic.DISABLED_STATUS\")\n },\n type: CONTROL_TYPE.switch,\n width: \"70px\"\n },\n {\n title: \"\",\n controlTitle: \"\",\n accessor: \"enabled\",\n width: \"200px\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true\n }\n ],\n showDeleteButton: false,\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: BUSINESS_PARENT_MENU,\n editAction: BUSINESS_PARENT_MENU_UPDATE,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n typeAction: args.typeAction,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ],\n label: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n }\n })\n ],\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu) || {};\n const parentMenu = (state.restaurant.data.parentMenu && state.restaurant.data.parentMenu) || {};\n return getInitModel(MODEL_TYPE.parentMenu, {businessMenu, parentMenu}).data;\n }\n });\n}\n\nexport function createParentMenuEditSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU_NAME\",\n accessor: \"name\",\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.DELIVERY_ZONE_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n ],\n actionLoad: BUSINESS_PARENT_MENU_GET,\n actionName: BUSINESS_PARENT_MENU,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n parentUrl: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n mappingLambda: state => {\n const businessMenu = (state.restaurant.data.businessMenu && state.restaurant.data.businessMenu) || {};\n const parentMenu = (state.restaurant.data.parentMenu && state.restaurant.data.parentMenu) || {};\n return getInitModel(MODEL_TYPE.parentMenu, {businessMenu, parentMenu}).data;\n }\n });\n}\n\nfunction createDeliveryZonesSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(deliveryZone) {\n return getDeliveryZonesFilter(this.selected, deliveryZone);\n });\n\n return filterOptionsModel;\n}\n","import SectionModel from '../../models/sectionModel';\nimport i18n from '../../i18n';\nimport {\n DEPOT_OPERATION_MODE_SETTING,\n DEPOT_OPERATION_MODE_SETTING_GET,\n DEPOT_OPERATION_MODE_SETTING_GET_ALL,\n DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE,\n DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET,\n} from '../../store/reducers/restaurant/restaurant-actions';\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { createControlModel } from '../controlModelFactory';\nimport { getDepotNameById, getOperationsModeForDepot, isMobileWidth,getRestaurantPaymentEnabled, hasDepotBusinessMenu } from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport { getInitModel } from '../initModels';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getOperationModeSectionFilter } from '../filter';\n\nexport const createDepotOperationTimingEditSectionModel = ({ ...args }) => {\n return new SectionModel({\n columns: [\n {\n title: \"settings.operationTiming.NAME\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.operationTiming.MAX_DELIVERY_TIME\",\n accessor: \"maxDeliveryTime\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: \"settings.operationTiming.WAITING_TIMES\",\n accessor: \"waitingTimes\",\n isEditable: true,\n type: CONTROL_TYPE.arrayItems,\n },\n {\n title: \"settings.operationTiming.MARKETPLACE_WAITING_TIMES\",\n accessor: \"marketplaceWaitingTimes\",\n isEditable: true,\n type: CONTROL_TYPE.arrayItems,\n isShow: () => getRestaurantPaymentEnabled() && hasDepotBusinessMenu(),\n }\n ],\n actionLoad: DEPOT_OPERATION_MODE_SETTING_GET,\n actionName: DEPOT_OPERATION_MODE_SETTING,\n initNewItemModel: item => item || getInitModel(MODEL_TYPE.operationTiming),\n typeAction: args.typeAction,\n showDeleteButton: true,\n typeModel: args.typeAction === TYPE_ACTION.edit ? TYPE_SECTION_DEPOT_MODEL.operationModeEdit : TYPE_SECTION_DEPOT_MODEL.operationModeNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n key: \"name\",\n parentUrl: TYPE_SECTION_DEPOT_MODEL.operationMode,\n getLabel: () => {\n const params = getHistoryLocationParams(window.location.search)\n return params.id;\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(parentId);\n },\n }),\n createBreadcrumbModel({ label: \"settings.operationTiming.LABEL\" })\n ],\n mappingLambda: state => {\n const params = getHistoryLocationParams(window.location.search || args?.params);\n const depot = state?.restaurant?.data?.depots?.find(d => d.id === (params?.parentId || params?.id));\n const profiles = depot?.operationConfiguration?.profiles?.map(p => ({\n ...p,\n id: p.name\n }))\n\n return profiles?.find(profile => profile?.id.trim() === params?.id)\n },\n });\n}\n\nexport const createDepotOperationTimingSectionModel = ({ ...args }) => {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n filterOptions: createDepotOperationModeSectionFilter(),\n columns: [\n {\n title: \"settings.operationTiming.NAME\",\n accessor: \"name\",\n },\n {\n title: \"settings.operationTiming.MAX_DELIVERY_TIME\",\n accessor: \"maxDeliveryTime\",\n width: \"25%\",\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_DEPOT_MODEL.operationModeEdit,\n iconName: \"editItem\",\n tooltipText: i18n.t(\"settings.operationTiming.EDIT_TOOLTIP\")\n }\n ],\n tabs: [\n {\n title: \"settings.operationTiming.LABEL\",\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationMode,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n {\n title: \"settings.operationTiming.OPERATION_DEPOT_ACTIVE\",\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationModeActive,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n ],\n key: \"name\",\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationMode,\n parentUrl: TYPE_SECTION_MODEL.depots,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_DEPOT_MODEL.operationModeNew + `?parentId=${id}`,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n showDeleteButton: true,\n isForceUpdate: true,\n tableMinWidth: 700,\n label: \"settings.operationTiming.LABEL\",\n actionName: DEPOT_OPERATION_MODE_SETTING,\n actionLoad: DEPOT_OPERATION_MODE_SETTING_GET,\n mappingLambda: state => {\n const { id, parentId } = getHistoryLocationParams(window.location.search);\n const depot = (state.restaurant.data.depots || []).find(d => d.id === (parentId || id));\n return ((depot?.operationConfiguration || {}).profiles || []).map(p => ({\n ...p,\n id: p.name\n }))\n },\n })\n}\n\nfunction createDepotOperationModeSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(item) {\n return getOperationModeSectionFilter(this.selected, item);\n });\n\n return filterOptionsModel;\n}\n\nexport const createDepotOperationTimingActiveSelectSectionModel = ({ ...args }) => {\n return new SectionModel({\n columns: [\n {\n title: \"settings.operationTiming.ACTIVE_PROFILE\",\n accessor: \"activeProfile\",\n type: CONTROL_TYPE.select,\n isEditable: true,\n connect: state => {\n const params = getHistoryLocationParams(window.location.search || args.params);\n return {\n values: getOperationsModeForDepot(params.parentId || params.id, state),\n }\n }\n },\n {\n title: \"settings.operationTiming.OPERATION_DEPOT_ACTIVE_RESET\",\n accessor: \"defaultProfile\",\n type: CONTROL_TYPE.button,\n label: \"settings.operationTiming.OPERATION_DEPOT_ACTIVE_RESET\",\n clickAction: DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE_RESET,\n },\n ],\n initNewItemModel: item => {\n return {\n activeProfile: ((item.operationConfiguration || {}).activeProfile || \"\"),\n id: item.id || \"\",\n };\n },\n tabs: [\n {\n title: \"settings.operationTiming.LABEL\",\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationMode,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n {\n title: \"settings.operationTiming.OPERATION_DEPOT_ACTIVE\",\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationModeActive,\n search: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return `?id=${id}`\n },\n },\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_DEPOT_MODEL.operationModeActive,\n parentUrl: TYPE_SECTION_MODEL.depots,\n label: i18n.t(\"settings.operationTiming.OPERATION_DEPOT_ACTIVE\"),\n actionName: DEPOT_OPERATION_MODE_SETTING_SET_ACTIVE,\n actionLoad: DEPOT_OPERATION_MODE_SETTING_GET_ALL,\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n mappingLambda: state => {\n const restaurant = state.restaurant.data || {};\n return (restaurant.depots || [])\n .map(depot => ({\n id: depot?.id,\n operationConfiguration: depot?.operationConfiguration,\n }));\n },\n });\n}\n","import SectionModel from '../../models/sectionModel';\nimport {\n CONTROL_TYPE,\n CROP_MODE,\n getMarketplaceLanguages,\n getMarketplaceMessageTypes,\n getMarketplaceSearchTypes,\n MARKETPLACE_MESSAGE_TYPE,\n MARKETPLACE_SEARCH_TYPES,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_SECTION_MESSAGE_MODEL,\n TYPE_SWITCH_CONTROL_COLOR,\n} from '../../utils/enums';\nimport {MARKETPLACE_MESSAGE, MESSAGE_GALLERY} from '../../store/reducers/restaurant/restaurant-actions';\nimport {createControlModel} from '../controlModelFactory';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport {getInitModel} from '../initModels';\nimport {createBreadcrumbModel} from '../createBreadcrumbModel';\nimport {getMessageGalleryNameById, getMessageNameById, isMobileWidth} from '../restaurant';\nimport {getLabelByLanguage, getMarketplaceMessageGalleryFilter, sortByPropNumber, sortItemsByProp} from '../filter';\nimport User from \"../user\";\nimport {\n GET_PRODUCTS_BY_ID_BUSINESS,\n MARKETPLACE_MESSAGE_GALLERY,\n MARKETPLACE_MESSAGE_GALLERY_REORDER,\n MARKETPLACE_MESSAGE_GET,\n PUSH_MESSAGE\n} from \"../../store/reducers/order/order-actions\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport ItemLogo from \"../../app/components/ItemLogo\";\nimport React from \"react\";\nimport i18n from 'i18next';\n\nexport function createMessageSettingsEditSectionModel({...args}) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.marketplaceMessage.BANNER_SETTINGS',\n accessor: 'banner',\n settingsAaccessor: 'banner_settings',\n type: CONTROL_TYPE.imageEdit,\n isEditable: true,\n },\n {\n isFillContent: true,\n title: 'settings.marketplaceMessage.MESSAGE',\n accessor: 'message',\n showExtraEdit: true,\n type: CONTROL_TYPE.richText,\n isEditable: true,\n isShow: data =>\n data.type === MARKETPLACE_MESSAGE_TYPE.serviceShutdown ||\n data.type === MARKETPLACE_MESSAGE_TYPE.generalWarning ||\n data.type === MARKETPLACE_MESSAGE_TYPE.article,\n },\n {\n title: 'settings.marketplaceMessage.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceMessage.LABEL',\n accessor: 'label',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceMessage.SECONDARY_TITLE',\n accessor: 'secondary_title',\n type: CONTROL_TYPE.text,\n isEditable: true,\n },\n {\n title: 'settings.marketplaceMessage.TAG',\n accessor: 'tag',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceMessage.ACTION_BUTTON_TITLE',\n accessor: 'action_button_title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.marketplaceMessage.TYPE',\n accessor: 'type',\n connect: () => ({\n values: getMarketplaceMessageTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.marketplaceMessage.LANGUAGE',\n accessor: 'language',\n connect: () => ({\n values: getMarketplaceLanguages(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.marketplaceMessage.ENABLED',\n accessor: 'enabled',\n width: '200px',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShow: data => data.type !== MARKETPLACE_MESSAGE_TYPE.serviceShutdown,\n },\n {\n title: 'settings.marketplaceMessage.BUSINESS_LIST_ID',\n accessor: 'list_id',\n isEditable: true,\n connect: state => {\n const language =\n User.instance.getCurrentUserInfo() && User.instance.getCurrentUserInfo().configuration.language;\n return {\n values: sortItemsByProp(\n ((state && state.restaurant.data && state.restaurant.data.listPromotion) || [])\n .filter(item => item.list_type === MARKETPLACE_SEARCH_TYPES.none)\n .map(item => ({\n key: item.id,\n value: getLabelByLanguage(language, item.name_translations) || item.label || '',\n })),\n 'value'\n ),\n };\n },\n isShow: data => data.type === MARKETPLACE_MESSAGE_TYPE.customList,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.marketplaceMessage.ENABLED',\n accessor: 'enabled',\n width: '200px',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n typeColor: TYPE_SWITCH_CONTROL_COLOR.red,\n isInline: true,\n isShow: data => data.type === MARKETPLACE_MESSAGE_TYPE.serviceShutdown,\n },\n {\n title: 'settings.marketplaceMessage.LIST_TYPE',\n accessor: 'list_type',\n values: getMarketplaceSearchTypes(),\n isEditable: true,\n type: CONTROL_TYPE.select,\n isShow: data => data.type === MARKETPLACE_MESSAGE_TYPE.listPromotion\n },\n {\n title: 'settings.marketplaceMessage.PRODUCT_ID',\n accessor: 'product_id',\n connect: (state) => {\n state.localValue.product_id = null;\n return {\n values: (state.marketplace.data.products || []).map(prod => ({ key: prod.id, value: prod.name, })),\n }\n },\n isEditable: true,\n type: CONTROL_TYPE.select,\n isShow: data => data.type === MARKETPLACE_MESSAGE_TYPE.bussinesPromotion,\n },\n {\n title: 'settings.marketplaceMessage.BUSINESS_ID',\n accessor: 'business_id',\n isEditable: true,\n action: GET_PRODUCTS_BY_ID_BUSINESS,\n connect: state => {\n const restaurant = (state && state.restaurant && state.restaurant.data) || {};\n const depots = restaurant.depots || [];\n const {templates, globalTemplates} = state.menuTemplate.data || {};\n const giftCard = restaurant.giftCard &&\n restaurant.giftCard.businessMenu && {\n businessId: restaurant.giftCard.businessMenu.id,\n name: restaurant.giftCard.businessMenu.name,\n };\n\n return {\n values: sortItemsByProp(\n (giftCard ? depots.concat([giftCard]) : depots)\n .filter(f => f.businessId)\n .map(m => ({ key: m.businessId, value: m.name }))\n .concat([...templates, ...globalTemplates].map(t => ({value: t.name + 'temp', key: t.business_id}))),\n 'value'\n ),\n };\n },\n isShow: data =>\n data.type === MARKETPLACE_MESSAGE_TYPE.bussinesPromotion ||\n data.type === MARKETPLACE_MESSAGE_TYPE.referral,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'title',\n accessor: 'id',\n clickAction: PUSH_MESSAGE,\n label: 'settings.marketplaceMessage.PUSH',\n type: CONTROL_TYPE.button,\n isShow: () => !args.hidePush,\n },\n ],\n typeAction: args.typeAction,\n actionLoad: MARKETPLACE_MESSAGE_GET,\n disableGlobalKeyDown: true,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.marketplace,\n typeModel: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n actionName: MARKETPLACE_MESSAGE,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n label: 'settings.marketplaceMessage.MARKETPLACE',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const {id} = getHistoryLocationParams(window.location.search);\n return getMessageNameById(id);\n },\n })\n ],\n saveControlsConfig: {\n save: {\n action: (item, history, newItem)=> {\n if(args.typeAction === TYPE_ACTION.new) {\n history.push(TYPE_SECTION_MESSAGE_MODEL.messageInfo + '?id=' + newItem.id);\n }\n }\n }\n },\n stayAfterSave: true,\n getLabel: () => {\n return args.typeAction === TYPE_ACTION.edit\n ? i18n.t('settings.marketplaceMessage.INFO')\n : i18n.t('settings.marketplaceMessage.NEW_MARKETPLACE');\n },\n mappingLambda: state => state.marketplace.data.message || [],\n initNewItemModel: item => getInitModel(MODEL_TYPE.marketplace, item),\n });\n}\n\nexport function createMessageSettingsGalleySectionModel() {\n const {id} = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n filterOptions: createMessageSettingsSectionFilter(),\n columns: [\n {\n title: '',\n component: function(item) {\n return (\n \n );\n },\n width: '100px',\n },\n {\n accessor: 'title',\n title: 'settings.messageSettings.TITLE',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"90px\",\n centered: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MESSAGE_MODEL.messageGalleryEdit,\n iconName: 'editItem',\n },\n ],\n showDeleteButton: true,\n parentUrl: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n actionName: MESSAGE_GALLERY,\n typeModel: TYPE_SECTION_MESSAGE_MODEL.messageGallery,\n tableMinWidth: 600,\n dragActionName: MARKETPLACE_MESSAGE_GALLERY_REORDER,\n actionLoad: MARKETPLACE_MESSAGE_GET,\n isForceUpdate: true,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MESSAGE_MODEL.messageGalleryNew + '?parentId=' + id,\n }),\n createControlModel({ type: MODEL_CONTROL_TYPE.sortMode }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.APP_BUILDER',\n }),\n createBreadcrumbModel({\n label: 'settings.marketplaceMessage.MARKETPLACE',\n }),\n ],\n getLabel: () => {\n const {id} = getHistoryLocationParams(window.location.search);\n return getMessageNameById(id);\n },\n sortByFunc: items => sortByPropNumber(items, 'order', false),\n mappingLambda: state => {\n const {id} = getHistoryLocationParams(window.location.search);\n const messages = state.marketplace.data.message || [];\n const message = messages.find(m => m.id === id);\n return (message && message.gallery) || [];\n },\n })\n}\n\nexport function createMessageSettingsGalleyEditSectionModel(args) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'file',\n settingsAaccessor: 'file_settings',\n type: CONTROL_TYPE.imageEdit,\n isEditable: true,\n },\n {\n title: 'settings.messageSettings.DESCRIPTION',\n accessor: 'description',\n type: CONTROL_TYPE.richText,\n isEditable: true,\n },\n {\n title: 'settings.messageSettings.TITLE',\n accessor: 'title',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n\n ],\n typeAction: args.typeAction,\n actionLoad: MARKETPLACE_MESSAGE_GET,\n disableGlobalKeyDown: true,\n parentUrl: TYPE_SECTION_MESSAGE_MODEL.messageGallery,\n typeModel: args.typeAction === TYPE_ACTION.edit ? TYPE_SECTION_MESSAGE_MODEL.messageGalleryEdit : TYPE_SECTION_MESSAGE_MODEL.messageGalleryNew,\n actionName: MARKETPLACE_MESSAGE_GALLERY,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.APP_BUILDER',\n }),\n createBreadcrumbModel({\n label: 'settings.marketplaceMessage.MARKETPLACE',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getMessageNameById(parentId);\n }\n })\n ],\n getLabel: () => {\n const {id, parentId} = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getMessageGalleryNameById(parentId, id)\n : i18n.t('settings.marketplaceMessage.NEW_MESSAGE');\n },\n mappingLambda: state => {\n const {parentId} = getHistoryLocationParams(window.location.search);\n const messages = state.marketplace.data.message || [];\n const message = messages.find(m => m.id === parentId);\n return (message && message.gallery) || [];\n },\n initNewItemModel: item => getInitModel(MODEL_TYPE.messageGallery, item),\n });\n}\n\n\nfunction createMessageSettingsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(gallery) {\n return getMarketplaceMessageGalleryFilter(this.selected, gallery);\n });\n\n return filterOptionsModel;\n}\n","import SectionModel from '../../models/sectionModel';\n\nimport {\n DEPOT_BUSINESS_TRANSLATION,\n DEPOT_BUSINESS_TRANSLATION_EXPORT,\n DEPOT_BUSINESS_TRANSLATION_GET,\n DEPOT_BUSINESS_TRANSLATION_IMPORT,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n languages,\n MODEL_CONTROL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport {createControlModel, filtrateControlByDepotRole} from '../controlModelFactory';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getDepotNameById } from '../restaurant';\nimport FilterOptionsModel from '../../models/filterOptionsModel.js';\nimport i18n from '../../i18n.js';\nimport { translationsFilter } from '../filter.js';\n\nexport function createDepotBusinessTranslationsSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createDepotBusinessTranslationsSectionFilter(),\n columns: [\n {\n columns: [\n {\n title: 'settings.translations.OBJECT_TYPE_LABEL',\n accessor: 'object_type',\n width: '150px',\n fixedWidth: '150px',\n },\n {\n title: 'settings.translations.PROPERTY_NAME_LABEL',\n accessor: 'property_name',\n width: '150px',\n fixedWidth: '150px',\n },\n {\n title: 'settings.translations.ORIGINAL_VALUES_LABEL',\n accessor: 'original_value',\n width: '40%',\n fixedWidth: '40%',\n },\n {\n title: 'settings.translations.TRANSLATION_LABEL',\n accessor: 'translated_value',\n width: '40%',\n fixedWidth: '40%',\n type: CONTROL_TYPE.inputText\n }\n ],\n accessor: 'translations',\n isEditable: true,\n type: CONTROL_TYPE.translationTable,\n },\n ],\n initNewItemModel: item => {\n return item;\n },\n actionName: DEPOT_BUSINESS_TRANSLATION,\n actionLoad: DEPOT_BUSINESS_TRANSLATION_GET,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.translations,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n stayAfterSave: true,\n withSearch: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n label: 'settings.translations.LABEL',\n controlSelect: {\n values: languages(),\n action: DEPOT_BUSINESS_TRANSLATION_GET\n },\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n icon: 'export',\n text: i18n.t('settings.translations.EXPORT_LABEL'),\n action: DEPOT_BUSINESS_TRANSLATION_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.importFile,\n icon: 'import',\n text: i18n.t('settings.translations.IMPORT_LABEL'),\n action: DEPOT_BUSINESS_TRANSLATION_IMPORT,\n }),\n ], [MODEL_CONTROL_TYPE.back, MODEL_CONTROL_TYPE.importFile]),\n mappingLambda: state => {\n return state.restaurant.data?.translations\n },\n });\n}\n\nfunction createDepotBusinessTranslationsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(translations) {\n return translationsFilter(this.selected, translations);\n });\n\n return filterOptionsModel;\n\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport {getStageByNumber} from \"../../../services/restaurant.js\";\nimport \"./index.scss\";\n\nexport const StagePeriods = ({stage}) => {\n\n return
{getStageByNumber(stage)}
\n\n}\n","import React, {useEffect, useState} from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\nimport i18n from \"../../../i18n.js\";\nimport {useSelector} from \"react-redux\";\nimport {getPeriodsByDate} from \"../../../services/restaurant.js\";\n\nexport const PeriodDatesAndStage = ({periodId}) => {\n const [parsedStage, setParsedStage] = useState('');\n const [date, setDate] = useState(\"\");\n const [stage, setStage] = useState(\"\");\n\n const periods = useSelector(state => state.reconciliations?.data?.summary?.periods);\n\n useEffect(() => {\n\n if(periods?.length > 0){\n const period = periods.find((e) => e.id === periodId);\n if(period){\n const result = getPeriodsByDate(period.startDate,period.endDate);\n setStage(period.stage);\n setDate(result);\n }\n }\n\n },[periods, periodId]);\n\n const getStageByNumber = (stage) => {\n let stageResult = '';\n switch(stage) {\n case 0:\n stageResult = i18n.t('stagePeriods.NOT_YET_APPROVED'); break;\n case 1:\n stageResult = i18n.t('stagePeriods.APPROVED'); break;\n case 2:\n stageResult = i18n.t('stagePeriods.EXECUTION'); break;\n case 3:\n stageResult = i18n.t('stagePeriods.PAYMENT_READY'); break;\n case 4:\n stageResult = i18n.t('stagePeriods.DECLINED'); break;\n default:\n stageResult = '';\n }\n return stageResult;\n }\n\n useEffect(() => {\n setParsedStage(getStageByNumber(stage));\n }, [stage]);\n\n\n return
\n {date}\n
\n \n {parsedStage}\n
\n
\n\n}\n","import React from 'react';\nimport SectionModel from '../../models/sectionModel.js';\nimport {\n generateRandomString,\n getDepotNameById,\n getPeriodsByDate,\n getReconciliationsConfigurationsNameById,\n getTerritoriesEntity,\n isMobileWidth\n} from '../restaurant.js';\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n RECONCILIATIONS_MODEL,\n TYPE_ACTION, TYPE_SECTION_DEPOT_MODEL, TYPE_SECTION_MODEL,\n} from '../../utils/enums.js';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel.js';\nimport { createControlModel } from '../controlModelFactory.js';\nimport FilterOptionsModel from '../../models/filterOptionsModel.js';\nimport i18n from '../../i18n.js';\nimport { getHistoryLocationParams } from '../../utils/routesHelper.js';\nimport {\n getReconciliationsDepotsSelect,\n getTerritoriesSelect,\n} from '../../app/components/SectionItemAudienceFilter/audienceFilterHelpers.js';\nimport { getInitModel } from '../initModels.js';\nimport {\n DEPOT_RECONCILIATIONS_CONFIGURATIONS,\n DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET,\n RECONCILIATIONS_CONFIGURATIONS,\n RECONCILIATIONS_CONFIGURATIONS_CONFIG,\n RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET,\n RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET, RECONCILIATIONS_CONFIGURATIONS_EXPORT,\n RECONCILIATIONS_CONFIGURATIONS_GET,\n RECONCILIATIONS_CONFIGURATIONS_IMPORT,\n RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET,\n RECONCILIATIONS_PERIOD_GET,\n RECONCILIATIONS_PERIODS,\n RECONCILIATIONS_PERIODS_ADD,\n RECONCILIATIONS_PERIODS_APPROVE,\n RECONCILIATIONS_PERIODS_COLLAPSE_TABLE,\n RECONCILIATIONS_PERIODS_EXPORT,\n RECONCILIATIONS_PERIODS_GET,\n RECONCILIATIONS_PERIODS_INVOICE,\n RECONCILIATIONS_PERIODS_RECALCULATE,\n RECONCILIATIONS_PERIODS_RELOAD,\n RECONCILIATIONS_PERIODS_TABLE_INVOICE_EXPORT,\n RECONCILIATIONS_PERIODS_TABLE_XLS_EXPORT,\n RECONCILIATIONS_PERIODS_UNMOUNT_TABLE,\n RECONCILIATIONS_PERIODS_XLS,\n} from '../../store/reducers/reconciliationModel/reconciliationModel-actions.js';\nimport { StagePeriods } from '../../app/components/Stage/StagePeriods.js';\nimport LinkDownload from '../../app/components/LinkDownload/LinkDownload.jsx';\nimport { PeriodDatesAndStage } from '../../app/components/PeriodDatesAndStage/PeriodDatesAndStage.js';\nimport {getDepotPeriodFilter, sortItemsByProp} from '../filter.js';\nimport TextWithTooltip from '../../app/components/TextWithTooltip/index.js';\nimport { isRTL } from '../userModel.js';\nimport {getRestaurant} from \"../../store/selectors.js\";\n\nexport function createSettingsReconciliationsProviderSectionModel() {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n isForceUpdate: true,\n columns: [\n {\n accessor: 'templateName',\n title: 'reconciliations.TEMPLATE_NAME',\n width: '250px',\n fixedWidth: '250px',\n type: CONTROL_TYPE.text,\n },\n {\n accessor: 'territoryName',\n title: 'reconciliations.TERRITORY',\n width: 'auto',\n fixedWidth: 'auto',\n type: CONTROL_TYPE.text,\n },\n {\n accessor: 'parentId',\n title: 'reconciliations.PARENT',\n width: 'auto',\n component: (data,func1, func2, item) => {\n if(data && data.parentId && item && item.length > 0) {\n const currentParentElement = item.find((e) => e.id === data.parentId);\n return currentParentElement ? currentParentElement.templateName : \"\";\n\n }\n return null;\n },\n fixedWidth: 'auto',\n type: CONTROL_TYPE.text,\n },\n {\n accessor: 'depotName',\n title: 'reconciliations.DEPOT',\n width: '400px',\n whiteSpace: 'nowrap',\n component: data => {\n if(data.depotData && data.depotData.length > 0){\n const depotNames = data.depotData.map(depot => depot.depotName);\n return ;\n }\n\n return ''\n },\n fixedWidth: '400px',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: '40px',\n type: CONTROL_TYPE.link,\n link: RECONCILIATIONS_MODEL.settingsTemplateEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n },\n ],\n hideCellForSort: true,\n typeModel: RECONCILIATIONS_MODEL.settings,\n actionName: RECONCILIATIONS_CONFIGURATIONS,\n actionLoad: RECONCILIATIONS_CONFIGURATIONS_GET,\n tableMinWidth: 1200,\n label: 'reconciliations.SETTINGS',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.RECONCILIATIONS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n icon: 'export',\n text: i18n.t('reconciliations.EXPORT_LABEL'),\n action: RECONCILIATIONS_CONFIGURATIONS_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.importFile,\n icon: 'import',\n text: i18n.t('reconciliations.IMPORT_LABEL'),\n action: RECONCILIATIONS_CONFIGURATIONS_IMPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: RECONCILIATIONS_MODEL.settingsTemplateNew,\n }),\n ],\n mappingLambda: state => sortItemsByProp(state.reconciliations?.data?.configurations || [], 'templateName'),\n });\n}\n\nexport function createSettingsReconciliationsTemplateEditSectionModel({ ...args }) {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n columns: [\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_NAME_LABEL',\n accessor: 'templateName',\n placeholder: 'reconciliations.SETTINGS_TEMPLATE_NAME_PLACEHOLDER',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n id: 'groupCampaignsEditDate',\n columns: [\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_PARENT_LABEL',\n accessor: 'parentId',\n isEditable: true,\n connect: state => {\n const reconciliations = state.reconciliations?.data?.configurations || [];\n const reconciliationConfigurationsTypes = reconciliations.map(item => ({ key: item.id, value: item.templateName }));\n return {\n values: [{ key: null, value: '-' }].concat(reconciliationConfigurationsTypes)\n };\n },\n action: RECONCILIATIONS_CONFIGURATIONS_PARENT_MERGED_GET,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_TERRITORY_LABEL',\n accessor: 'territoryId',\n isRequired: true,\n isEditable: true,\n connect: () => ({\n values: getTerritoriesSelect(),\n }),\n type: CONTROL_TYPE.select,\n isShow: () => !!getTerritoriesEntity().length,\n action: RECONCILIATIONS_CONFIGURATIONS_DEPOTS_GET,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_DEPOT_LABEL',\n accessor: 'depotIds',\n width: '369px',\n refreshedId: 'territoryId',\n placeholderMulti: (selectedData, data) => {\n const filteredDepots = data.filter(depot => selectedData.includes(depot.value));\n\n return filteredDepots.map(depot => depot.key).join(', ');\n },\n getDefaultData: (state) => {\n if(state && state.length > 0 && id){\n const findCurrentSetting = state.find((e) => e.id === id);\n if(findCurrentSetting && findCurrentSetting.depotData){\n const depotNames = findCurrentSetting.depotData.map(depot => ({\n key: depot.depotName,\n value: depot.depotId,\n }));\n return depotNames\n }\n return null;\n }\n return null;\n },\n connect: () => ({ values: getReconciliationsDepotsSelect() }),\n type: CONTROL_TYPE.reconciliationMultiSelect,\n },\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n {\n id: 'groupCampaignsEditDate',\n columns: [\n {\n columns: [\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_LABEL',\n accessor: 'title',\n width: '240px',\n fixedWidth: '240px',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_DEPOT_LABEL',\n accessor: 'Depot',\n width: '140px',\n fixedWidth: '140px',\n min: '-100',\n type: CONTROL_TYPE.inputPercent,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TERRITORY_LABEL',\n accessor: 'Territory',\n width: '140px',\n fixedWidth: '140px',\n min: '-100',\n type: CONTROL_TYPE.inputPercent,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_GLOBAL_LABEL',\n accessor: 'Global',\n width: '140px',\n fixedWidth: '140px',\n min: '-100',\n type: CONTROL_TYPE.inputPercent,\n },\n {\n title: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_SUM_LABEL',\n accessor: 'Total',\n width: '140px',\n fixedWidth: '140px',\n min: '-100',\n isReadonly: true,\n isGreen: true,\n type: CONTROL_TYPE.inputPercent,\n },\n ],\n accessor: 'fees',\n type: CONTROL_TYPE.reconciliationFeesTable,\n },\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n type: CONTROL_TYPE.group,\n },\n ],\n actionName: RECONCILIATIONS_CONFIGURATIONS,\n actionLoad: RECONCILIATIONS_CONFIGURATIONS_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.reconciliationsSettingsTemplateModel, item),\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? RECONCILIATIONS_MODEL.settingsTemplateEdit\n : RECONCILIATIONS_MODEL.settingsTemplateNew,\n parentUrl: RECONCILIATIONS_MODEL.settings,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.RECONCILIATIONS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'reconciliations.SETTINGS',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return args.typeAction === TYPE_ACTION.edit\n ? getReconciliationsConfigurationsNameById(id)\n : i18n.t('reconciliations.SETTINGS_TEMPLATE_NEW_LABEL');\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n saveControlsConfig: {\n cancel: {\n title: 'basic.RESET_BUTTON',\n action: () => {},\n isInit: true,\n },\n },\n mappingLambda: state => state.reconciliations?.data?.configurations || [],\n });\n}\n\nexport function createPeriodsReconciliationsSectionModel() {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n isForceUpdate: true,\n columns: [\n {\n accessor: 'startDate',\n title: 'reconciliations.PERIODS',\n width: '250px',\n component: data => getPeriodsByDate(data.startDate, data.endDate),\n type: CONTROL_TYPE.text,\n },\n {\n accessor: 'stage',\n title: 'reconciliations.STATUS',\n width: '150px',\n component: data => ,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.INVOICE',\n width: '150px',\n type: CONTROL_TYPE.text,\n component: function(period) {\n return (\n \n );\n },\n },\n {\n title: 'reconciliations.XLS',\n width: 'auto',\n type: CONTROL_TYPE.text,\n component: function(period) {\n return (\n \n );\n },\n },\n {\n title: 'reconciliations.ACTIONS',\n textRight: true,\n width: '68px',\n fixedWidth: '90px',\n type: CONTROL_TYPE.link,\n link: RECONCILIATIONS_MODEL.periodsEdit,\n iconName: 'editItem',\n isShow: item => !item.stage,\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n },\n {\n title: '',\n width: '68px',\n fixedWidth: '68px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: RECONCILIATIONS_MODEL.periodsView,\n iconName: 'eyeIcon',\n isShow: item => !!item.stage,\n tooltipText: i18n.t('reconciliations.PERIOD'),\n },\n ],\n initNewItemModel: item => getInitModel(MODEL_TYPE.reconciliationsPeriodsTemplateModel, item),\n actionName: RECONCILIATIONS_PERIODS,\n typeModel: RECONCILIATIONS_MODEL.periods,\n actionLoad: RECONCILIATIONS_PERIODS_GET,\n rangePickerAction: RECONCILIATIONS_PERIODS_ADD,\n hideCellForSort: true,\n tableMinWidth: 1200,\n label: 'reconciliations.PERIODS',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.RECONCILIATIONS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n text: 'reconciliations.ADD_PERIOD',\n openDateRange: true,\n }),\n ],\n mappingLambda: state => {\n const periodsData = state.reconciliations?.data?.summary?.periods;\n if (periodsData) {\n periodsData.forEach(e => {\n e.isShowDeleteButton = e.stage === 1;\n });\n }\n\n return periodsData || [];\n },\n });\n}\n\nexport function createPeriodsReconciliationsPeriodEditSectionModel({ ...args }) {\n const { id } = getHistoryLocationParams(window.location.search);\n return new SectionModel({\n filterOptions: createReconciliationsSectionFilter(),\n columns: [\n {\n id: 'groupPeriodsReconciliations',\n columns: getReconciliationPeriodEditsExecutionsColumns(),\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n type: CONTROL_TYPE.group,\n },\n ],\n actionLoad: RECONCILIATIONS_PERIOD_GET,\n typeAction: args.typeAction,\n tableMinWidth: 5700,\n stayAfterSave: true,\n searchDataId: 'stats',\n actionOnUnmount: RECONCILIATIONS_PERIODS_UNMOUNT_TABLE,\n typeModel:\n args.typeAction === TYPE_ACTION.edit ? RECONCILIATIONS_MODEL.periodsEdit : RECONCILIATIONS_MODEL.periodsView,\n parentUrl: RECONCILIATIONS_MODEL.periods,\n actionName: RECONCILIATIONS_PERIODS,\n initNewItemModel: item => getInitModel(MODEL_TYPE.reconciliationsPeriodTemplateModel, item),\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.RECONCILIATIONS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'reconciliations.PERIODS',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return ;\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.listItems,\n items: [{\n icon: 'button-minus',\n text: i18n.t('reconciliations.COLLAPSE_ALL_ITEMS'),\n isShow: (show, item) => {\n if (item) {\n return show;\n }\n return true;\n },\n action: RECONCILIATIONS_PERIODS_COLLAPSE_TABLE,\n },\n {\n icon: 'button-plus',\n text: i18n.t('reconciliations.EXPAND_ALL_ITEMS'),\n isShow: (show, item) => {\n if (item) {\n return show;\n }\n return false;\n },\n action: RECONCILIATIONS_PERIODS_COLLAPSE_TABLE,\n },],\n action: RECONCILIATIONS_PERIODS_EXPORT,\n customClassName: () => {\n if(isRTL()) {\n return 'periodItemsControlRtl'\n }\n return 'periodItemsControl'\n }\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.actionButton,\n icon: 'xls',\n action: RECONCILIATIONS_PERIODS_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.actionButton,\n width: '120px',\n text: i18n.t('reconciliations.PERIODS_RECALCULATE'),\n action: RECONCILIATIONS_PERIODS_RECALCULATE,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.dropdown,\n icon: 'more-dots',\n items: [\n {\n type: MODEL_CONTROL_TYPE.actionButton,\n width: '120px',\n text: i18n.t('reconciliations.PERIODS_RELOAD'),\n action: RECONCILIATIONS_PERIODS_RELOAD,\n }\n ],\n }),\n ],\n controlSettings: {\n position: 'subHeader'\n },\n saveControlsConfig: {\n cancel: {\n title: 'basic.RESET_BUTTON',\n action: () => {},\n isInit: true,\n },\n approve: {\n title: 'basic.APPROVE_BUTTON',\n action: RECONCILIATIONS_PERIODS_APPROVE,\n isShowClose: false,\n redirectIfSuccess: RECONCILIATIONS_MODEL.periodsView + `?id=${id}`,\n className: 'approve-button-reconciliation',\n isInit: true,\n },\n },\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const period = state?.reconciliations?.data?.summary?.periods.find(e => e.id === id);\n\n return period && period.stats ? { ...period, stats: period.stats } : { stats: [] };\n },\n });\n}\n\nexport function viewPeriodsReconciliationsPeriodEditSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createReconciliationsSectionFilter(),\n columns: [\n {\n id: 'groupPeriodsReconciliations',\n columns: getReconciliationPeriodViewExecutionsColumns(),\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n type: CONTROL_TYPE.group,\n },\n ],\n isHideControls: true,\n actionLoad: RECONCILIATIONS_PERIOD_GET,\n typeAction: args.typeAction,\n tableMinWidth: 5850,\n typeModel: RECONCILIATIONS_MODEL.periodsView,\n parentUrl: RECONCILIATIONS_MODEL.periods,\n searchDataId: 'stats',\n actionName: RECONCILIATIONS_PERIODS,\n initNewItemModel: item => item,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.RECONCILIATIONS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'reconciliations.PERIODS',\n }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return ;\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.actionButton,\n icon: 'xls',\n action: RECONCILIATIONS_PERIODS_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.actionButton,\n icon: 'invoice',\n action: RECONCILIATIONS_PERIODS_INVOICE,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const period = state?.reconciliations?.data?.summary?.periods.find(e => e.id === id);\n\n return period && period.stats ? { ...period, stats: period.stats } : { stats: [] };\n },\n });\n}\n\nexport const getReconciliationPeriodEditsExecutionsColumns = (isEdit = true) => [\n {\n columns: [\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_COUNTERPARTIES',\n accessor: 'tableName',\n width: '250px',\n fixedWidth: '250px',\n widthHeader: '256px',\n sticky: true,\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_INVOICE',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n component: function(period) {\n return (\n \n );\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_XLS',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n component: function(period) {\n return (\n \n );\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TOTAL_REVENUES',\n accessor: 'depotName',\n width: '350px',\n fixedWidth: '350px',\n colSpan: '3',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_DEPOT',\n accessor: 'depotRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TERRITORY',\n accessor: 'territoryRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_GLOBAL',\n accessor: 'globalRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_OFFSET',\n accessor: 'offset',\n width: '150px',\n isReadonly: false,\n fixedWidth: '150px',\n rowSpan: '2',\n type: isEdit ? CONTROL_TYPE.inputNumber : CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_DEPOT',\n accessor: 'depotReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TERRITORY',\n accessor: 'territoryReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_GLOBAL',\n accessor: 'globalReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TOTAL_RECONCILIATION',\n accessor: 'depotName',\n width: '350px',\n fixedWidth: '350px',\n colSpan: '3',\n type: CONTROL_TYPE.text,\n },\n\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DELIVERY_ORDERS',\n accessor: 'deliveryCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TAKEAWAY_ORDERS',\n accessor: 'takeawayCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_ACCEPTED_ORDERS',\n accessor: 'totalAcceptedOrdersCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_CANCELED_ORDERS',\n accessor: 'totalCanceledOrdersCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_PRODUCTS_PRICE_SUM',\n accessor: 'totalProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_PRODUCTS_PRICE_SUM_IN_CASH',\n accessor: 'totalCashProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_PRODUCTS_PRICE_SUM_IN_CARD',\n accessor: 'totalCreditCardProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CARD_PAYMENTS',\n accessor: 'totalCreditCardPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CASH_PAYMENTS',\n accessor: 'totalCashPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_BONUS_PAYMENTS',\n accessor: 'totalBonusPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_PAYMENTS',\n accessor: 'totalDiscountPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DELIVERY_PRICE',\n accessor: 'totalDeliveryPrice',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TOPUP_TO_MINIMUM',\n accessor: 'totalTopUpToMinimum',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TAX',\n accessor: 'totalTax',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DRIVER_TIPS',\n accessor: 'totalDriverTip',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_SERVICE_FEE',\n accessor: 'totalServiceFee',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_LOYALTY_MARKETPLACE_RESP',\n accessor: 'totalMarketPlaceRefundLoyaltyAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_CARD_MARKETPLACE_RESP',\n accessor: 'totalMarketPlaceRefundCardAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_MARKETPLACE_RESP',\n accessor: 'totalMarketplaceDiscount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_RESHIPMENT_MARKETPLACE_RESP',\n accessor: 'totalMarketplaceReshipment',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_LOYALTY_BUSINESS_RESP',\n accessor: 'totalBusinessRefundLoyaltyAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_CARD_BUSINESS_RESP',\n accessor: 'totalBusinessRefundCardAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_BUSINESS_RESP',\n accessor: 'totalBusinessDiscount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_RESHIPMENT_BUSINESS_RESP',\n accessor: 'totalBusinessReshipment',\n width: '150px',\n fixedWidth: '150px',\n widthHeader: '171px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n // {\n // title: 'reconciliations.PERIODS_TABLE_TOTAL_CANCELED_REFUNDS_MARKETPLACE',\n // accessor: 'totalCanceledRefundsMarketplace',\n // width: '150px',\n // fixedWidth: '150px',\n // widthHeader: '150px',\n // rowSpan: '2',\n // type: CONTROL_TYPE.text,\n // },\n // {\n // title: 'reconciliations.PERIODS_TABLE_TOTAL_CANCELED_REFUNDS_BUSINESS',\n // accessor: 'totalCanceledRefundsBusiness',\n // width: '150px',\n // fixedWidth: '150px',\n // widthHeader: '195px',\n // rowSpan: '2',\n // type: CONTROL_TYPE.text,\n // },\n ],\n accessor: 'stats',\n isEditable: true,\n type: CONTROL_TYPE.reconciliationPeriodsTable,\n },\n];\nexport const getReconciliationPeriodViewExecutionsColumns = () => [\n {\n columns: [\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_COUNTERPARTIES',\n accessor: 'tableName',\n width: '250px',\n fixedWidth: '250px',\n widthHeader: '256px',\n sticky: true,\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_INVOICE',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n component: function(period) {\n return (\n \n );\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_XLS',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n component: function(period) {\n return (\n \n );\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TOTAL_REVENUES',\n accessor: 'depotName',\n width: '450px',\n fixedWidth: '450px',\n colSpan: '3',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_DEPOT',\n accessor: 'depotRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TERRITORY',\n accessor: 'territoryRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_GLOBAL',\n accessor: 'globalRevenue',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_DEPOT',\n accessor: 'depotReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TERRITORY',\n accessor: 'territoryReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_GLOBAL',\n accessor: 'globalReconciliation',\n width: '150px',\n fixedWidth: '150px',\n isChild: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_PERIOD_TABLE_TOTAL_RECONCILIATION',\n accessor: 'depotName',\n width: '450px',\n fixedWidth: '450px',\n colSpan: '3',\n type: CONTROL_TYPE.text,\n },\n\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DELIVERY_ORDERS',\n accessor: 'deliveryCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TAKEAWAY_ORDERS',\n accessor: 'takeawayCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_ACCEPTED_ORDERS',\n accessor: 'totalAcceptedOrdersCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_CANCELED_ORDERS',\n accessor: 'totalCanceledOrdersCount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_PRODUCTS_PRICE_SUM',\n accessor: 'totalProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_PRODUCTS_PRICE_SUM_IN_CASH',\n accessor: 'totalCashProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_PRODUCTS_PRICE_SUM_IN_CARD',\n accessor: 'totalCreditCardProductPrices',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CARD_PAYMENTS',\n accessor: 'totalCreditCardPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CASH_PAYMENTS',\n accessor: 'totalCashPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_BONUS_PAYMENTS',\n accessor: 'totalBonusPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_PAYMENTS',\n accessor: 'totalDiscountPayments',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DELIVERY_PRICE',\n accessor: 'totalDeliveryPrice',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TOPUP_TO_MINIMUM',\n accessor: 'totalTopUpToMinimum',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_TAX',\n accessor: 'totalTax',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DRIVER_TIPS',\n accessor: 'totalDriverTip',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_SERVICE_FEE',\n accessor: 'totalServiceFee',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_LOYALTY_MARKETPLACE_RESP',\n accessor: 'totalMarketPlaceRefundLoyaltyAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_CARD_MARKETPLACE_RESP',\n accessor: 'totalMarketPlaceRefundCardAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_MARKETPLACE_RESP',\n accessor: 'totalMarketplaceDiscount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_RESHIPMENT_MARKETPLACE_RESP',\n accessor: 'totalMarketplaceReshipment',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_LOYALTY_BUSINESS_RESP',\n accessor: 'totalBusinessRefundLoyaltyAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_REFUND_BY_CARD_BUSINESS_RESP',\n accessor: 'totalBusinessRefundCardAmount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_DISCOUNT_BUSINESS_RESP',\n accessor: 'totalBusinessDiscount',\n width: '150px',\n fixedWidth: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_RESHIPMENT_BUSINESS_RESP',\n accessor: 'totalBusinessReshipment',\n width: '150px',\n fixedWidth: '150px',\n widthHeader: '171px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CANCELED_REFUNDS_MARKETPLACE',\n accessor: 'totalCanceledRefundsMarketplace',\n width: '150px',\n fixedWidth: '150px',\n widthHeader: '150px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.PERIODS_TABLE_TOTAL_CANCELED_REFUNDS_BUSINESS',\n accessor: 'totalCanceledRefundsBusiness',\n width: '150px',\n fixedWidth: '150px',\n widthHeader: '195px',\n rowSpan: '2',\n type: CONTROL_TYPE.text,\n },\n ],\n accessor: 'stats',\n width: '5400px',\n type: CONTROL_TYPE.reconciliationPeriodsTable,\n },\n];\n\nexport function createSettingsReconciliationsDepotSectionModel() {\n return new SectionModel({\n columns: [\n {\n title: 'reconciliations.BUSINESS_MAIL_LABEL',\n accessor: 'businessMail',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'reconciliations.WIRE_TRANSFER_ID_LABEL',\n placeholder: 'reconciliations.PLACEHOLDER_TOKEN',\n accessor: 'wireTransferId',\n isEditable: true,\n type: CONTROL_TYPE.text,\n formatedFn: () => generateRandomString(12),\n firmatedIconTooltip: i18n.t('reconciliations.GENERATE_ID'),\n formatedIcon: 'generateRandom',\n },\n {\n title: 'reconciliations.INVOICE_KEY_LABEL',\n accessor: 'invoiceKey',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n ],\n actionName: DEPOT_RECONCILIATIONS_CONFIGURATIONS,\n actionLoad: DEPOT_RECONCILIATIONS_CONFIGURATIONS_GET,\n initNewItemModel: item => ({\n businessMail: item.businessMail || '',\n wireTransferId: item.wireTransferId || '',\n invoiceKey: item.invoiceKey || '',\n }),\n typeAction: TYPE_ACTION.edit,\n typeModel: TYPE_SECTION_DEPOT_MODEL.reconciliation,\n parentUrl: TYPE_SECTION_MODEL.depots,\n label: 'settings.depotSettingsLabel.RECONCILIATION',\n stayAfterSave: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const restaurant = getRestaurant(state);\n const depot = restaurant.depots.find(f => f.id === id);\n return depot?.reconciliationSettings || {};\n },\n });\n}\n\nexport function createSettingsReconciliationsConfigSectionModel() {\n return new SectionModel({\n columns: [\n {\n title: 'reconciliations.BUILD_WIRE_TRANSFER_FILE',\n accessor: 'buildWireTransferFile',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'reconciliations.EXPLICITLY_USE_TAX_IN_FORMULA',\n accessor: 'explicitlyUseTaxInFormula',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n actionName: RECONCILIATIONS_CONFIGURATIONS_CONFIG,\n actionLoad: RECONCILIATIONS_CONFIGURATIONS_CONFIG_GET,\n initNewItemModel: item => ({\n buildWireTransferFile: item.buildWireTransferFile || false,\n explicitlyUseTaxInFormula: item.explicitlyUseTaxInFormula || false,\n }),\n typeAction: TYPE_ACTION.edit,\n typeModel: RECONCILIATIONS_MODEL.configuration,\n parentUrl: RECONCILIATIONS_MODEL.settings,\n label: 'reconciliations.CONFIGURATION',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.RECONCILIATIONS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => state.reconciliations?.data?.configurationSettings || {},\n });\n}\n\nfunction createReconciliationsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, 'reconciliations.SEARCH_BY_DEPOT', function(period) {\n return getDepotPeriodFilter(this.selected, period);\n });\n\n return filterOptionsModel;\n}\n","import SectionModel from \"../../models/sectionModel.js\";\nimport {\n PROVIDERS_SETTING,\n PROVIDERS_SETTING_DETAILS_GET,\n PROVIDERS_SETTING_DETAILS_UNMOUNT,\n PROVIDERS_SETTING_GET\n} from \"../../store/reducers/restaurant/restaurant-actions.js\";\nimport {\n CONTROL_TYPE,\n EXTERNAL_COURIER_PROVIDER,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n PROVIDERS_TYPE_MODEL,\n TYPE_ACTION,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums.js\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel.js\";\nimport {createControlModel} from \"../controlModelFactory.js\";\nimport {getExternalCycleLogo, isMobileWidth} from \"../restaurant.js\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel.js\";\nimport {getInitModel} from \"../initModels.js\";\nimport i18n from \"i18next\";\nimport {Avatar} from \"../../app/components/Avatar/Avatar.jsx\";\nimport React from \"react\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper.js\";\n\nexport function createProvidersSectionModel() {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n columns: [\n {\n title: \"settings.providers.NAME\",\n accessor: \"name\",\n width: \"100%\",\n fixedWidth: \"150px\",\n component: item => {\n return (\n \n )\n }\n },{\n title: 'settings.providers.ACTIONS',\n textAlign: 'center',\n width: '58px',\n headerWidth: '98px',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.providersEdit,\n isShow: (item) => {\n return item.provider !== EXTERNAL_COURIER_PROVIDER.delivApp\n },\n\n iconName: 'editItem',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n },\n ],\n actionName: PROVIDERS_SETTING,\n actionLoad: PROVIDERS_SETTING_GET,\n typeModel: TYPE_SECTION_MODEL.providers,\n label: \"settings.TITLE_PROVIDERS\",\n breadcrumbs: [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.INTEGRATIONS_LABEL\"}),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.providersNew\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n mappingLambda: state => {\n let result = [];\n const currentProviders = state?.restaurant?.data?.providers;\n if(currentProviders && currentProviders.length > 0) {\n result = currentProviders.filter((e) => e.isActive);\n }\n return result;\n }\n });\n}\n\nexport function createProvidersEditSectionModel({...args}) {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n columns: [\n {\n title: 'settings.providers.SELECT_INTEGRATION',\n accessor: 'provider',\n isEditable: true,\n type: CONTROL_TYPE.select,\n isShow: () => args.typeAction !== TYPE_ACTION.edit,\n isInlineRow: true,\n connect: state => {\n let result = state?.restaurant?.data?.providers;\n result = result ? result.filter((e) => !e.isActive) : [];\n return {\n values: result ? result.map((provider) => ({key: provider.name, value: provider.id})) : [],\n };\n },\n },\n {\n id: \"yangoSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_CORRECTION_THRESHOLD_IN_METER\",\n accessor: \"correctionThresholdInMeter\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.providers.DETAILS_EMERGENCY_CONTACT_NAME\",\n accessor: \"emergencyContactName\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.providers.DETAILS_EMERGENCY_CONTACT_PHONE\",\n accessor: \"emergencyContactPhone\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_HOST\",\n accessor: \"host\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_TOKEN\",\n accessor: \"token\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_USE_ORDER_ID\",\n accessor: \"useOrderId\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.providers.DETAILS_USE_YANGO_GEOLOCATION\",\n accessor: \"useYangoGeolocation\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.Yango === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n {\n id: \"woltSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_MERCHANT_ID\",\n accessor: \"merchantId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_SUPPORT_EMAIL\",\n accessor: \"supportEmail\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_SUPPORT_PHONE\",\n accessor: \"supportPhone\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_HOST\",\n accessor: \"host\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.Wolt === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n {\n id: \"doorDashSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_DEVELOPER_ID\",\n accessor: \"developerId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_KEY_ID\",\n accessor: \"keyId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_SIGNING_SECRET\",\n accessor: \"signingSecret\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.DoorDash === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n {\n id: \"sendimanSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_USER\",\n accessor: \"user\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_PASSWORD\",\n accessor: \"password\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_TEST_MODE\",\n accessor: \"testMode\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.providers.DETAILS_IS_IN_DEBUG_MODE\",\n accessor: \"isInDebugMode\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.Sendiman === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n {\n id: \"haatSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_TEST_MODE\",\n accessor: \"testMode\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.Haat === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n {\n id: \"gettSettings\",\n columns: [\n {\n title: \"settings.providers.DETAILS_BUSINESS_ID\",\n accessor: \"businessId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_CLIENT_ID\",\n accessor: \"clientId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_CLIENT_SECRET\",\n accessor: \"clientSecret\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.providers.DETAILS_PRODUCT_ID\",\n accessor: \"productId\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n ],\n isEditable: true,\n isShow: (item) => {\n return item && PROVIDERS_TYPE_MODEL.Gett === item.provider\n },\n type: CONTROL_TYPE.group\n },\n\n\n ],\n typeAction: args.typeAction,\n actionName: PROVIDERS_SETTING,\n actionOnUnmount: PROVIDERS_SETTING_DETAILS_UNMOUNT,\n actionLoad: args.typeAction === TYPE_ACTION.edit ? PROVIDERS_SETTING_DETAILS_GET : PROVIDERS_SETTING,\n parentUrl: TYPE_SECTION_MODEL.providers,\n label: \"\",\n getLabel: (item) => item && item.provider ? item.provider : args.typeAction === TYPE_ACTION.new ? i18n.t(\"settings.TITLE_PROVIDERS\") : \"\",\n initNewItemModel: item =>\n getInitModel(MODEL_TYPE.providers, item),\n breadcrumbs: args.typeAction === TYPE_ACTION.edit ? [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.INTEGRATIONS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.TITLE_PROVIDERS\"}),\n ] : [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.INTEGRATIONS_LABEL\"}),\n ],\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_MODEL.providersEdit\n : TYPE_SECTION_MODEL.providersNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: () => true,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n let result = null;\n const currentProviders = state?.restaurant?.data?.providersDetails;\n if(id) {\n result = {...currentProviders, provider: id};\n } else {\n result = {...currentProviders};\n }\n\n return result ? result : null;\n }\n });\n}\n\n","import SectionModel from \"../../models/sectionModel.js\";\nimport {\n CLOUD_PRINTERS_SETTING,\n CLOUD_PRINTERS_SETTING_GET\n} from \"../../store/reducers/restaurant/restaurant-actions.js\";\nimport {\n CONTROL_TYPE,\n languages,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums.js\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel.js\";\nimport {createControlModel} from \"../controlModelFactory.js\";\nimport {getCloudPrinterById, isMobileWidth} from \"../restaurant.js\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel.js\";\nimport {getInitModel} from \"../initModels.js\";\nimport i18n from \"i18next\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper.js\";\n\nexport function createCloudPrintersSectionModel() {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n columns: [\n {\n title: \"settings.cloudPrinters.PRINTER_PRN\",\n accessor: \"prnID\",\n width: \"300px\",\n fixedWidth: \"150px\",\n },\n {\n title: \"settings.cloudPrinters.LANGUAGE\",\n accessor: \"language\",\n width: \"100%\",\n fixedWidth: \"150px\",\n },\n {\n title: 'settings.cloudPrinters.ACTIONS',\n textAlign: 'center',\n width: '65px',\n headerWidth: '98px',\n type: CONTROL_TYPE.link,\n isShow: () => true,\n link: TYPE_SECTION_MODEL.cloudPrintersEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n },\n ],\n actionName: CLOUD_PRINTERS_SETTING,\n actionLoad: CLOUD_PRINTERS_SETTING_GET,\n typeModel: TYPE_SECTION_MODEL.cloudPrinters,\n label: \"settings.cloudPrinters.CLOUD_PRINTERS\",\n breadcrumbs: [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.cloudPrintersNew\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n mappingLambda: state => {\n let result = state?.restaurant?.data?.cloudPrinters;\n return result ? result : [];\n }\n });\n}\n\nexport function createCloudPrintersEditSectionModel({...args}) {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n columns: [\n {\n title: 'settings.cloudPrinters.PRINTER_PRN',\n accessor: 'prnID',\n isEditable: true,\n isRequired: true, \n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.cloudPrinters.LANGUAGE',\n accessor: 'language',\n connect: () => ({\n values: languages(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n isRequired: true\n },\n {\n title: 'settings.cloudPrinters.AUTOMATIC_PRINTING_OF_ORDER',\n accessor: 'autoPrintBon',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.cloudPrinters.AUTOMATIC_PRINTING_OF_NEW_ORDER_NOTIFICATION',\n accessor: 'autoPrintNewOrderNotification',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },],\n typeAction: args.typeAction,\n actionName: CLOUD_PRINTERS_SETTING,\n actionLoad: args.typeAction === TYPE_ACTION.edit ? CLOUD_PRINTERS_SETTING_GET : CLOUD_PRINTERS_SETTING,\n parentUrl: TYPE_SECTION_MODEL.cloudPrinters,\n label: args.typeAction === TYPE_ACTION.new ? \"settings.cloudPrinters.CLOUD_PRINTERS\" : \"\",\n getLabel: (data) => {\n if(data && data.id) {\n const result = getCloudPrinterById(data.id);\n return result ? result.prnID : \"\"\n }\n return \"\";\n },\n initNewItemModel: item =>\n getInitModel(MODEL_TYPE.cloudPrinters, item),\n breadcrumbs: args.typeAction === TYPE_ACTION.edit ? [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.cloudPrinters.CLOUD_PRINTERS\"}),\n ] : [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n ],\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_MODEL.cloudPrintersEdit\n : TYPE_SECTION_MODEL.cloudPrintersNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: () => true,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const cloudPrinter = state?.restaurant?.data?.cloudPrinters;\n const result = cloudPrinter?.find((e) => e.id === id)\n\n return result ? result : null;\n }\n });\n}\n\n","import SectionModel from \"../../models/sectionModel.js\";\nimport {\n FLEET_SETTINGS,\n FLEET_SETTINGS_GET,\n FLEET_SETTINGS_TELEMETRY_BLINK,\n FLEET_SETTINGS_TELEMETRY_GET,\n FLEET_SETTINGS_UNMOUNT,\n} from \"../../store/reducers/restaurant/restaurant-actions.js\";\nimport {\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums.js\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel.js\";\nimport {createControlModel} from \"../controlModelFactory.js\";\nimport {getFleetProducerType, getFleetVehicleType} from \"../restaurant.js\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel.js\";\nimport {FleetProducerType} from \"../../app/components/FleetProducerType/FleetProducerType.js\";\nimport {FleetVehicleType} from \"../../app/components/FleetVehicleType/FleetVehicleType.js\";\nimport {getInitModel} from \"../initModels.js\";\nimport i18n from \"../../i18n.js\";\nimport {getFleetFilter} from \"../filter.js\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper.js\";\n\nexport function createFleetSectionModel() {\n return new SectionModel({\n filterOptions: createFleetSectionModelFilter(),\n columns: [\n {\n title: \"fleet.TABLE_PRODUCER\",\n accessor: \"producer\",\n width: '150px',\n fixedWidth: '151px',\n component: fleet => FleetProducerType(fleet?.producer),\n },\n /*{\n title: \"fleet.TABLE_SERIAL_NUMBER\",\n accessor: \"serialNumber\",\n width: '130px',\n fixedWidth: '130px',\n },*/\n {\n title: \"fleet.TABLE_PLATE_NUMBER\",\n accessor: \"plateNumber\",\n width: '150px',\n fixedWidth: '151px',\n },\n {\n title: \"fleet.TABLE_CAPACITY\",\n accessor: \"capacity\",\n width: '150px',\n fixedWidth: '151px',\n },\n {\n title: \"fleet.TABLE_TYPE\",\n accessor: \"vehicleType\",\n width: '150px',\n fixedWidth: '151px',\n component: fleet => FleetVehicleType(fleet?.vehicleType),\n },\n {\n title: \"fleet.TABLE_DESCRIPTION\",\n accessor: \"description\",\n width: '301px',\n fixedWidth: '301px',\n },\n {\n title: 'fleet.ACTIONS',\n textAlign: 'center',\n width: '48px',\n headerWidth: '98px',\n fixedWidth: '48px',\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.fleetTelemetry,\n url: item=> MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit + \"?id=\" + item.id + \"plateNumber=\" + item.serialNumber,\n iconName: 'telemetry',\n isVisible: (item) => {\n return item.producer === 1\n },\n tooltipText: i18n.t('fleet.TELEMETRY'),\n },\n {\n title: '',\n width: '48px',\n fixedWidth: '48px',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.fleetEdit,\n iconName: 'editItem',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n },\n ],\n actionName: FLEET_SETTINGS,\n actionLoad: FLEET_SETTINGS_GET,\n typeModel: TYPE_SECTION_MODEL.fleet,\n label: \"fleet.TITLE_FLEET\",\n key: 'vehicleId',\n breadcrumbs: [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"settings.OPERATIONS_MANAGEMENT_LABEL\"}),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.fleetNew\n }),\n /*createControlModel({\n type: MODEL_CONTROL_TYPE.filter\n }),*/\n ],\n mappingLambda: state => {\n const data = state.restaurant?.data?.fleet;\n\n return data ? data : [];\n }\n\n });\n}\n\nexport function createFleetTelemetrySectionModel({...args}) {\n return new SectionModel({\n filterOptions: createFleetSectionModelFilter(),\n columns: [\n {\n id: 'groupVehicleTView',\n columns: [\n {\n title: 'fleet.TABLE_TYPE',\n accessor: 'vehicleType',\n isEditable: false,\n iconName: (value) => {\n const vehicles = getFleetVehicleType();\n const findVehicle = vehicles.find((e) => e.key === value);\n\n return findVehicle ? findVehicle?.icon : ''\n },\n type: CONTROL_TYPE.icon,\n },\n {\n title: 'fleet.TABLE_PLATE_NUMBER',\n accessor: 'plateNumber',\n isEditable: false,\n width: 'auto',\n type: CONTROL_TYPE.text,\n },\n\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n {\n id: 'groupGeoTView',\n columns: [\n {\n title: 'fleet.SPEED',\n accessor: 'speed',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'fleet.BATTERY_LEVEL',\n accessor: 'batteryLevel',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n width: 500,\n alignItems: 'flex-end',\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n\n {\n id: 'groupBatteryView',\n columns: [\n {\n title: 'fleet.READY',\n accessor: 'readyOn',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'fleet.FALL_STATE',\n accessor: 'fallState',\n isEditable: false,\n isNoClickableIcon: () => true,\n isShowIconLabel: (item) => item.fallState !== 'false',\n labelIconName: 'warn',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'fleet.IGNITION',\n accessor: 'ignitionOn',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n width: 500,\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n {\n id: 'groupTotalView',\n columns: [\n {\n title: 'fleet.TOTAL_MILEAGE',\n accessor: 'totalMileage',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'fleet.VIBRATION_STATE',\n accessor: 'vibrationState',\n isNoClickableIcon: () => true,\n isShowIconLabel: (item) => item.vibrationState !== 'false',\n labelIconName: 'warn',\n isEditable: false,\n type: CONTROL_TYPE.text,\n },\n\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n width: 500,\n alignItems: 'flex-end',\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n {\n id: 'groupTotalView',\n columns: [\n {\n title: 'fleet.LOCATION',\n accessor: 'blink',\n isEditable: false,\n iconName: 'blink',\n showPushMessageIcon: true,\n type: CONTROL_TYPE.button,\n label: \"fleet.LOCATION\",\n isDisableConfirmDialog: true,\n clickAction: FLEET_SETTINGS_TELEMETRY_BLINK,\n },\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n width: 500,\n alignItems: 'flex-end',\n gap: '16px',\n type: CONTROL_TYPE.group,\n },\n {\n title: '',\n accessor: 'location',\n isEditable: false,\n isReadOnly: true,\n isFillContent: true,\n isHideSearch: true,\n type: CONTROL_TYPE.mapByLocation,\n }\n\n ],\n actionName: FLEET_SETTINGS,\n actionLoad: FLEET_SETTINGS_TELEMETRY_GET,\n typeModel: TYPE_SECTION_MODEL.fleetTelemetry,\n label: \"\",\n typeAction: args.typeAction,\n isHideControls: true,\n actionOnUnmount: FLEET_SETTINGS_UNMOUNT,\n parentUrl: TYPE_SECTION_MODEL.fleet,\n initNewItemModel: item =>\n getInitModel(MODEL_TYPE.fleetTelemetry, item),\n breadcrumbs: [\n createBreadcrumbModel({label: \"fleet.SETTINGS\"}),\n createBreadcrumbModel({label: \"fleet.TITLE_FLEET\"}),\n createBreadcrumbModel({label: \"fleet.TELEMETRY\"}),\n createBreadcrumbModel({label: \"settings.OPERATIONS_MANAGEMENT_LABEL\"}),\n ],\n getLabel: (item) => {\n return item?.plateNumber;\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: () => true,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n let data = state.restaurant?.data?.fleetTelemetry;\n let dataFleet = state.restaurant?.data.fleet;\n\n if(data && data.lat && data.lng) {\n data = {...data, location: {latitude: data.lat, longitude: data.lng}}\n }\n\n if(data && dataFleet && dataFleet.length > 0) {\n const currentFleet = dataFleet.find((e) => e.vehicleId === id);\n if(currentFleet) {\n data = {...data, vehicleData: currentFleet}\n }\n }\n\n\n return data ? data : {};\n }\n\n\n });\n}\n\nexport function createFleetEditSectionModel({...args}) {\n return new SectionModel({\n filterOptions: new FilterOptionsModel(),\n columns: [\n {\n title: 'fleet.TABLE_PRODUCER',\n accessor: 'producer',\n isEditable: true,\n connect: state => {\n const result = getFleetProducerType();\n return {\n defaultValue: result && result.length > 0 ? result[0] : {key: '', value: '-'},\n values: result,\n };\n },\n type: CONTROL_TYPE.select,\n },\n {\n title: 'fleet.TABLE_TYPE',\n accessor: 'vehicleType',\n isEditable: true,\n connect: () => ({\n values: getFleetVehicleType(),\n }),\n type: CONTROL_TYPE.iconsSelector,\n },\n {\n title: 'fleet.TABLE_PLATE_NUMBER',\n accessor: 'plateNumber',\n isEditable: true,\n min: '-100',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'fleet.TABLE_CAPACITY',\n accessor: 'capacity',\n isEditable: true,\n min: () => '-100',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'fleet.TABLE_SERIAL_NUMBER',\n accessor: 'serialNumber',\n isEditable: true,\n min: '-100',\n type: CONTROL_TYPE.text,\n },\n\n {\n title: \"fleet.TABLE_DESCRIPTION\",\n isEditable: true,\n accessor: \"description\",\n type: CONTROL_TYPE.text,\n }\n ],\n typeAction: args.typeAction,\n key: 'vehicleId',\n actionName: FLEET_SETTINGS,\n parentUrl: TYPE_SECTION_MODEL.fleet,\n label: \"\",\n initNewItemModel: item =>\n getInitModel(MODEL_TYPE.fleet, item),\n breadcrumbs: [\n createBreadcrumbModel({label: \"header.menu.SETTINGS_LABEL\"}),\n createBreadcrumbModel({label: \"fleet.TITLE_FLEET\"}),\n createBreadcrumbModel({label: \"settings.OPERATIONS_MANAGEMENT_LABEL\"}),\n ],\n getLabel: (item) => {\n return item?.plateNumber;\n },\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? TYPE_SECTION_MODEL.fleetEdit\n : TYPE_SECTION_MODEL.fleetNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: () => true,\n }),\n ],\n mappingLambda: state => {\n const data = state.restaurant?.data?.fleet;\n\n return data ? data : [];\n }\n });\n}\n\nfunction createFleetSectionModelFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function (\n region\n ) {\n return getFleetFilter(region, this.selected);\n });\n\n return filterOptionsModel;\n\n}\n","import React from \"react\";\nimport \"./index.scss\";\nimport {getFleetProducerType} from \"../../../services/restaurant.js\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\n\nexport const FleetProducerType = (producerId) => {\n const producer = getFleetProducerType();\n\n if(producer && producer[producerId]){\n return
\n \n

{producer[producerId].value}

\n\n
\n\n }\n\n return <>;\n}\n","import React from \"react\";\nimport \"./index.scss\";\nimport {getFleetVehicleType} from \"../../../services/restaurant.js\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\n\nexport const FleetVehicleType = (vehicleId) => {\n const vehicles = getFleetVehicleType();\n const findVehicle = vehicles.find((e) => e.key === vehicleId);\n\n if(vehicles && findVehicle){\n return
\n \n
;\n }\n return <>;\n}\n","import {ADMIN_ORDER_FILTER_TYPE} from \"../../../utils/enums.js\";\nimport moment from \"moment/moment.js\";\nimport {\n DATE_FORMAT,\n getFormattedDate,\n prepareEndDate,\n prepareStartDate, setStartTime\n} from \"../../../utils/convertTime.js\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\nimport DatePicker from \"../DatePicker/DatePicker.jsx\";\nimport React from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport './index.scss';\n\nconst AdminOrderDateSearchFilter = ({type, onClose, onClear, value}) => {\n const {t} = useTranslation();\n\n const handleOnDateChange = newValue => {\n let date = newValue;\n\n if(!date) {\n return new Promise(resolve=> {\n resolve();\n onClose();\n });\n }\n\n switch (type) {\n case ADMIN_ORDER_FILTER_TYPE.dateStart:\n date = prepareStartDate(newValue);\n break;\n case ADMIN_ORDER_FILTER_TYPE.dateEnd:\n date = prepareEndDate(newValue);\n break;\n default:\n break;\n }\n\n return new Promise(resolve=> {\n resolve();\n onClose(type, date);\n });\n }\n\n return (\n \n {type === ADMIN_ORDER_FILTER_TYPE.dateStart && (
\n {value\n ? getFormattedDate(value, DATE_FORMAT)\n : t(\"admin-orders.ADMIN_ORDERS_SEARCH_DATE_START_LABEL\")\n }\n {!!value && (\n \n )}\n
)}\n {type === ADMIN_ORDER_FILTER_TYPE.dateEnd && (
\n {value\n ? getFormattedDate(value, DATE_FORMAT)\n : t(\"admin-orders.ADMIN_ORDERS_SEARCH_DATE_END_LABEL\")\n }\n {!!value && (\n \n )}\n
)}\n \n )}\n />\n )\n}\n\nexport default AdminOrderDateSearchFilter;","import React from \"react\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {\n ADMIN_ORDER_FILTER_TYPE,\n} from \"../../../utils/enums\";\nimport {AdminOrderDateSearchFilter} from '../AdminOrderDateSearchFilter';\n\nconst AdminOrderSearchFilterControl = ({\n t,\n filter,\n onSetType, onClearSearch, onFilterSearch\n}) => {\n return (\n
\n \n \n {/**/}\n {/**/}\n {/**/}\n
\n );\n}\n\nexport default withTranslation()(AdminOrderSearchFilterControl);\n","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { toast } from \"react-toastify\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { COURIER_APPROVE_ORDERS } from \"../../../store/reducers/userModel/userModel-actions\";\nimport { fetchUser } from \"../../../api/user-requests\";\n\nimport {\n getDepotNameByBusinessId,\n getExternalCycleDriverInfo,\n getExternalCycleLogo,\n getExternalCyclePriceInfo\n} from \"../../../services/restaurant\";\n\nimport {\n ACCOUNT_ORDER_STATUS,\n CYCLE_STATE,\n DEFAULT_ORDERS_GROUPS,\n DELIVERY_STRATEGY,\n WAITER_TYPES,\n getCurrencyIcons,\n PENDING_ORDER_TYPE, getAccountOrderStatusTitle\n} from \"../../../utils/enums\";\nimport {\n getStaticTime,\n isAfterDateByCurrent,\n} from \"../../../utils/convertTime\";\nimport {defaultPromiseResolve, objectKeysToUpperLowerCase} from \"../../../utils/objects-util\";\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport { Avatar } from \"../Avatar/Avatar\";\nimport IconButton from \"../IconButton\";\nimport TimeBox from \"../TimeBox/TimeBox\";\nimport TimeInfoETA from \"../TimeInfoETA/TimeInfoETA\";\nimport Waiter from \"../Waiter/Waiter\";\nimport { currentUserIsDeliveryManager, getUserByGroupId } from \"../../../services/userModel\";\nimport CourierInfoControl from \"../CourierInfoControl/CourierInfoControl\";\nimport { PENDING_ORDER_CANCEL_CYCLE } from \"../../../store/reducers/order/order-actions\";\nimport ExternalCycleDriverInfo from \"../ExternalCycleDriverInfo\";\nimport {getOrderSource} from \"../../../utils/order.js\";\nimport {deliveryIconNames} from \"../../../utils/constants.js\";\n\nconst AdminOrderItem = ({\n t,\n value,\n selected,\n filterStatus,\n withFirstNameClient,\n showOnlyImageStatus,\n showOnlyIdOrder,\n hidePrice,\n isMobile,\n isAdminOrder,\n onClick,\n withHeaderCourier,\n groupCourierMiddle,\n groupCourierEnd,\n hideTimeInCourier,\n users, externalCycles,\n approveOrders, cancelCycle\n}) => {\n const [courier, setCourier] = useState(null);\n const [isOpenCourierInfo, setIsOpenCourierInfo] = useState(false);\n\n const handleOnApprove = () => {\n return approveOrders({ courierId: (value || {}).courier_id });\n }\n\n const handleOnCardControlClick = () => setIsOpenCourierInfo(!isOpenCourierInfo);\n\n const handleOnCancelCourier = () => {\n if(currentUserIsDeliveryManager()) {\n cancelCycle({ id: value.courier_id }).then(()=> {\n setIsOpenCourierInfo(false);\n }, error=> {\n toast.error(error || \"Error\");\n });\n } \n }\n \n const timeValue = (value.groupId === DEFAULT_ORDERS_GROUPS.preOrders || isAdminOrder)\n ? value.delivery_strategy === DELIVERY_STRATEGY.asap ? value.creation_datetime : value.delivery_datatime\n : (value.creation_datetime || value.date);\n\n const getAddress = () => {\n if(!value || !value.address){\n return '';\n }\n\n if(value.address.city){\n return `${value.address.city}${value.address.street ? ', ' + value.address.street : ''}`; \n } else {\n return `${value.address || ''}${value.city ? ', ' + value.city : ''}`;\n }\n }\n\n const isShowApproveCycle = () => {\n return currentUserIsDeliveryManager() &&\n ((courier && courier.isExternalGroup)\n ? courier.state === CYCLE_STATE.started\n : (courier && (!courier.cycle || (courier.cycle && courier.cycle.state === CYCLE_STATE.started))));\n }\n\n useEffect(() => {\n if(value && value.courier_id && withHeaderCourier) {\n const findCourier = externalCycles.find(f => f.id === value.courier_id) ||\n getUserByGroupId(users, value.courier_id);\n if(findCourier) {\n setCourier(findCourier);\n } else {\n if(!courier || courier.userId !== value.courier_id) {\n fetchUser(value.courier_id).then(d => {\n setCourier(objectKeysToUpperLowerCase(d.data));\n });\n }\n }\n }\n }, [value, users, externalCycles, withHeaderCourier, courier])\n\n const getSourceTypeLabel = () => {\n return getOrderSource(value.order_source, value.order_source_id);\n }\n\n const deliveryLabel = {\n [PENDING_ORDER_TYPE.delivery]: t(\"dashboard.orders.DELIVERY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.takeAway]: t(\"dashboard.orders.TAKEAWAY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.dinein]: t(\"dashboard.orders.DINEIN_ORDERS_MODE_LABEL\"),\n }\n\n return (\n
onClick(value.id)}\n >\n {!!getSourceTypeLabel() && (\n
{getSourceTypeLabel()}
\n )}\n {withHeaderCourier && courier && (\n
\n {!isShowApproveCycle() && (\n \n )}\n {isShowApproveCycle() && (\n
\n \n {courier.approveValidity && (\n
\n )}\n
\n )}\n
\n  {getExternalCyclePriceInfo(courier)}\n \n {courier.isExternalGroup ? getExternalCycleDriverInfo(courier, \"name\") : courier.firstName}\n \n {courier.isExternalGroup\n ? \n : }\n
\n {isOpenCourierInfo && (\n )\n }\n isShowCancel={currentUserIsDeliveryManager()}\n onClose={()=> setIsOpenCourierInfo(false)} \n onCancel={handleOnCancelCourier}\n />\n )}\n
\n )}\n
\n \n {!showOnlyIdOrder && ({isMobile ? `for ${value.customer_name}` : (getDepotNameByBusinessId(value.business_id)) || t(\"admin-orders.ADMIN_ORDERS_ORDER_LABEL\")})}\n {withFirstNameClient && ( {value.customer_name ? value.customer_name : \"\"} )}\n  # {value.sequence_id || value.orderId}\n \n {!hidePrice && (\n \n {value.price} {getCurrencyIcons(value.currency)}\n \n )}\n \n
\n
\n {[ACCOUNT_ORDER_STATUS.canceled, ACCOUNT_ORDER_STATUS.finished].includes(value.status) && (\n {getAccountOrderStatusTitle(value.status)}\n )}\n {getAddress() && ({getAddress()})}\n
\n
\n {timeValue &&
\n \n \n\n    \n {value.status === ACCOUNT_ORDER_STATUS.accepted && !isAfterDateByCurrent(value.readiness_time) && (\n <>\n \n \n \n )}\n {(value.status === ACCOUNT_ORDER_STATUS.ready || value.status === ACCOUNT_ORDER_STATUS.delivering) && (\n <>\n \n {isAfterDateByCurrent(value.dropoff_eta) && ({t(\"admin-orders.DROPOFF_ETA_ETA\")})}\n {!isAfterDateByCurrent(value.dropoff_eta) && ()}\n \n )}\n
}\n\n {filterStatus === ACCOUNT_ORDER_STATUS.pending && (\n \n \n \n )}\n {isAdminOrder && value.delivery_strategy === DELIVERY_STRATEGY.concreteTime && (\n {t(\"admin-orders.SCHEDULED_ON\")}: {getStaticTime(value.delivery_datetime)}\n )}\n \n {isAdminOrder && value.delivery_strategy === DELIVERY_STRATEGY.concreteTime && (\n \n )} \n \n {!showOnlyImageStatus && (\n \n {deliveryLabel[(value.delivery_type || (value.type + 1))]}\n \n )}\n \n \n
\n
\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n users: state.userModel.data || [],\n externalCycles: state.externalCycles.data || []\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n approveOrders: data => dispatch(createAction(COURIER_APPROVE_ORDERS, data)),\n cancelCycle: data => dispatch(createAction(PENDING_ORDER_CANCEL_CYCLE, data)) \n };\n };\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(AdminOrderItem));\n","import React, {useEffect} from \"react\";\nimport classNames from \"classnames\";\nimport {DATE_TIME_FORMAT_DAYTIME, getFormattedDate} from \"../../../utils/convertTime\";\nimport {getCurrencyIcons, getRefoundChannelType, RESHIPMENT_TYPE_VALUE} from \"../../../utils/enums\";\nimport {useTranslation} from \"react-i18next\";\nimport LayoutHeaderControls from \"../LayoutHeaderControls/LayoutHeaderControls\";\n\nimport \"./index.scss\";\nimport {useDispatch} from \"react-redux\";\nimport {actionLoadUsersByIds} from \"../../../store/reducers/userModel/userModel-actions.js\";\nimport {getNameById} from \"../../../services/order.js\";\n\nexport const RefundDetails = ({refunds, currency, onClose}) => {\n const dispatch = useDispatch();\n const {t} = useTranslation();\n\n useEffect(() => {\n if(refunds?.length) {\n dispatch(actionLoadUsersByIds({ ids: refunds.map(r => r.user).filter(id => !!id) }));\n }\n }, [dispatch, refunds]);\n\n return (\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_LABEL\")}
\n {(refunds || []).map(refund=> (\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_DATE_LABEL\")}
\n
{getFormattedDate(refund.date, DATE_TIME_FORMAT_DAYTIME)}
\n
\n
\n
{t(\"admin-orders.REFUND_TYPE_REASON\")}
\n
{t(RESHIPMENT_TYPE_VALUE[refund.refund_type])}
\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_PAYME_TRANSACTION_AUTH_NUMBER_LABEL\")}
\n
{refund.payme_transaction_auth_number || \"-\"}
\n
\n
\n
{t(\"admin-orders.RESTAURANT_REFOUND_CHANNEL\")}
\n
{(getRefoundChannelType().find(type => type.key === refund.refund_channel) || {}).value || \"-\"}
\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_AMOUNT_LABEL\")}
\n
{refund.refund_amount || \"-\"} {refund.refund_amount && getCurrencyIcons(currency)}
\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_NOTES_LABEL\")}
\n
{refund.notes || \"-\"}
\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_INVOICE_URL_LABEL\")}
\n
{\n refund.invoice_url\n ? {refund.invoice_url}\n : \"-\"\n }
\n
\n
\n
{t(\"admin-orders.REFUNDS_INFO_USER_LABEL\")}
\n
{getNameById(refund.user)}
\n
\n
\n ))}\n
\n \n
\n )\n}","import React from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport IconButton from \"../IconButton\";\nimport classnames from \"classnames\";\nimport {getCurrencyIcons} from \"../../../utils/enums\";\n\nexport const ProductCard = ({product, currency, onClick, showQuantity}) => {\n const {t} = useTranslation();\n\n const getSpicy = () => {\n let arr = [];\n for(let i = 0; i < product.spicy; i++){\n arr.push(\n \n )\n }\n\n return arr;\n }\n const getVegan = () => {\n let count = 0;\n product.vegan && count++;\n product.vegetarian && count++;\n\n let arr = [];\n for(let i = 0; i < count; i++){\n arr.push(\n \n )\n }\n return arr;\n }\n\n return (\n
\n
\n {product.name}/\n {/**/}\n
\n
\n
\n {product.name}\n {product.description}\n
\n\n
\n
\n {!!product.spicy && (\n \n {t(\"create-order.product.SPICY\")}\n {getSpicy()}\n )\n }\n {product.gluten_free && (\n \n {t(\"create-order.product.GLUTEN_FREE\")}\n \n )\n }\n {!!getVegan().length && (\n \n {t(\"create-order.product.VEGAN\")}\n {getVegan()}\n \n )}\n
\n {!showQuantity && !!product.price && (\n {!!product.price_before_discount && ({getCurrencyIcons(currency)}{product.price_before_discount})}  \n {getCurrencyIcons(currency)}{product.price}\n )}\n\n {showQuantity && !!product.full_price && (\n \n x{product.quantity} {getCurrencyIcons(currency)}{product.full_price}\n \n )}\n
\n\n
\n
\n )\n}","import classnames from \"classnames\";\nimport React from \"react\";\nimport \"./index.scss\";\n\nexport const CounterButton = ({onClickAdd, onClickRemove, disabled, quantity = 0}) => {\n const handleOnAdd = e => {\n if(!disabled) {\n onClickAdd && onClickAdd();\n }\n }\n const handleOnRemove = e => {\n if(!disabled) {\n onClickRemove && onClickRemove();\n }\n }\n return (\n
\n
-
\n
{quantity}
\n
+
\n
\n )\n}","import React from 'react';\nimport classnames from 'classnames';\nimport './style.scss';\nimport IconButton from \"../../IconButton\";\n\nconst CounterButton = ({onClickAdd, onClickRemove, disableAdd, quantity = 0}) => {\n const handleOnAdd = e => {\n onClickAdd && onClickAdd();\n }\n const handleOnRemove = e => {\n onClickRemove && onClickRemove()\n }\n return (\n
\n
\n
{quantity}
\n
\n
\n )\n}\n\nexport default CounterButton;\n","import React from \"react\";\nimport classnames from \"classnames\";\nimport \"./style.scss\";\nimport IconButton from \"../../IconButton\";\n\nconst Warning = ({message}) => {\n return (\n
\n \n {message}\n
\n )\n}\n\nexport default Warning;\n","import React from 'react';\nimport classnames from 'classnames';\nimport './style.scss';\nimport CounterButton from \"../CounterButton/CounterButton\";\nimport {getCurrencyIcons} from \"../../../../utils/enums\";\n\nconst ProductAddDish = ({product, onChange, currency, useClass, allProductsCount, currentIndex}) => {\n const filteredSuboptions = ((product || {}).suboptions || []).filter(s => s.enabled);\n const handleOnAdd = (data, operation) => {\n let suboptions = [];\n if(product.min === 1 && product.max === 1) {\n suboptions = filteredSuboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: (el.quantity ? el.quantity : 0) + operation}\n : {...el, quantity: 0}\n ))\n } else {\n suboptions = filteredSuboptions.map(el => {\n const newQuantity = (el.quantity ? el.quantity : 0) + operation;\n return el.id === data.id && (data.max ? data.max >= newQuantity : true)\n ? {...el, quantity: newQuantity}\n : {...el}\n });\n }\n\n const suboptionQuantity = suboptions.reduce((acc, cv) => acc + (cv.quantity ? cv.quantity : 0), 0) || 0;\n\n if(suboptionQuantity <= product.max || product.max === 0) {\n onChange({...product, suboptions});\n }\n }\n const handleOnRemove = (data, operation) => {\n const suboptions = filteredSuboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: (el.quantity ? el.quantity : 0) + operation}\n : {...el}\n ))\n const suboptionQuantity = suboptions.reduce((acc, cv) => acc + (cv.quantity ? cv.quantity : 0), 0);\n if(suboptionQuantity >= 0) {\n onChange({...product, suboptions: suboptions});\n }\n }\n const handleOnSelect = (data, operation) => {\n const suboptions = filteredSuboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: 1}\n : {...el, quantity: 0}\n ));\n onChange({...product, suboptions: suboptions});\n }\n\n const isRadio = product.max === 1 && product.min === 1\n const isOneOptional = product.min === 0 && product.max === 1;\n\n return (\n
\n
\n {product.name}\n {isRadio && (\n ` (min 1 - max 1) `\n )}\n {isOneOptional && (\n ` (max 1) `\n )}\n {!isOneOptional && !isRadio && (\n ` ${product.min ? '(min ' + product.min + ' - ' : '('}${product.max ? 'max ' + product.max + ')' : ')'} `\n )}\n
\n
\n {allProductsCount > 0 && Array(allProductsCount)\n .fill(0)\n .map((_, index) => (\n \n
\n
\n \n ))}\n\n
\n
s.max === 1) || !product.allow_suboption_quantity,\n fixMargin: !product.allow_suboption_quantity,\n withButton: (product.max === 0 || product.max > 1) && product.allow_suboption_quantity,\n })}>\n {filteredSuboptions.map(subopt => (\n (isRadio)\n ? ()\n : ( 1) && (product.allow_suboption_quantity )}\n currency={currency}\n key={\"subpotion\" + subopt.id}\n />)\n ))}\n
\n
\n )\n}\n\nconst CheckBox = ({option, currency, showButton, onClickAdd, onClickRemove}) => {\n const handleOnChange = () => {\n !!option.quantity ? onClickRemove(option, -option.quantity) : onClickAdd(option, +1);\n }\n const handleOnAdd = () => {\n onClickAdd(option, +1);\n }\n const handleOnRemove = () => {\n if(option.quantity -1 >= 0) {\n onClickRemove(option, -1);\n }\n }\n\n return (\n
\n \n
e.stopPropagation()}>\n {!!option.price ? (
+{getCurrencyIcons(currency)}{option.price}
) : (
)}\n {showButton && ()}\n
\n
\n )\n};\n\nconst RadioButton = ({currency, option, onSelect}) => {\n const handleOnChange = (e) => {\n e.preventDefault();\n onSelect(option, !!option.quantity ? -1 : 1);\n }\n return (\n \n )\n};\nexport default ProductAddDish;\n","import React, {useCallback, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport './style.scss';\nimport Modal from 'react-modal';\nimport {useTranslation} from \"react-i18next\";\nimport {DebounceInput} from \"react-debounce-input\";\nimport {isRTL} from \"../../../../services/userModel\";\nimport {getProductPrice} from \"../../../../api/order-requests\";\nimport {getCurrencyIcons} from \"../../../../utils/enums\";\nimport CounterButton from \"../CounterButton/CounterButton\";\nimport IconButton from \"../../IconButton\";\nimport Warning from \"../Warning/Warning\";\nimport ProductAddDish from \"../ProductAddDish/ProductAddDish\";\n\nconst HALF_OPTION = {\n all: 0,\n left: 1,\n right: 2\n}\n\nconst getMergedProductData = ({allProducts, productEdit, ingredients}) => {\n let forSetHalfProduct = [];\n const withHalf = allProducts.filter(el => el.with_half_option);\n const withoutHalf = allProducts.filter(el => !el.with_half_option);\n const forSetProducts = withoutHalf.map(el => {\n const find = productEdit.options && productEdit.options.find(edit => edit.id === el.id);\n if(find) {\n find.suboptions = el.suboptions.map(sub => {\n const findSub = find.suboptions.find(subel => subel.id === sub.id);\n return findSub ? {...sub, ...findSub} : sub;\n })\n }\n return find ? {...el, ...find} : el;\n });\n\n const isWithHalf = productEdit.options\n ? productEdit.options\n .filter(el => el.with_half_option)\n .flatMap(el => el.suboptions)\n .some(el => el.half_option >= 1)\n : false;\n\n\n if(isWithHalf) {\n const suboptions = productEdit.options\n .filter(el => el.with_half_option)\n .flatMap(el => el.suboptions);\n\n const leftSides = suboptions.filter(el => el.half_option === HALF_OPTION.left);\n const rightSides = suboptions.filter(el => el.half_option === HALF_OPTION.right);\n\n const fullSides = withHalf.flatMap(el => {\n return [\n {...el, halfOption: HALF_OPTION.left, suboptions: el.suboptions.map(sub => {\n const find = leftSides.find(ls => ls.id === sub.id);\n return find ? find : sub\n })},\n {...el, halfOption: HALF_OPTION.right, suboptions: el.suboptions.map(sub => {\n const find = rightSides.find(ls => ls.id === sub.id);\n return find ? find : sub\n })}\n ]\n });\n forSetHalfProduct = fullSides;\n\n } else {\n const fullProducts = withHalf.map(el => {\n const find = productEdit.options && productEdit.options.find(edit => edit.id === el.id);\n if(find) {\n find.suboptions = el.suboptions.map(sub => {\n const findSub = find.suboptions.find(subel => subel.id === sub.id);\n return findSub ? {...sub, ...findSub} : sub;\n })\n }\n return find ? {...el, ...find} : el;\n });\n forSetHalfProduct = fullProducts;\n }\n\n const subopt = ingredients.suboptions\n ? ingredients.suboptions.map(el => productEdit.ingredients.includes(el.name) ? {...el, quantity: 0} : {...el, quantity: 1})\n : [];\n\n return {\n isWithHalf: isWithHalf,\n forSetProducts: forSetProducts,\n ingredients: {...ingredients, suboptions: subopt},\n forSetHalfProduct: forSetHalfProduct,\n }\n}\n\nconst checkRespectTo = (product, data) => {\n const enabledAllSuboptions = product.suboptions.filter(el => el.enabled);\n if(product.enabled && enabledAllSuboptions.length) {\n const subopt = data\n .flatMap(el => el.suboptions)\n .filter(el => el.enabled);\n const find = subopt.find(el => el.id === product.respect_to);\n return find ? !!find.quantity : true;\n }\n\n return false;\n}\n\nconst RestaurantAddDish = ({giftMode, isOpen, productEdit, handleOnAddToCart, onClose, editMode, product, currency, business_id, emitProduct}) => {\n const {t} = useTranslation();\n const [init, setInit] = useState(true);\n const [mergedInit, setMergedInit] = useState(true);\n\n const allProducts = (product && product.extras.flatMap(extra => extra.options)) || [];\n const [products, setProducts] = useState([]);\n const [halfProducts, setHalfProducts] = useState([]);\n const [isHalf, setIsHalf] = useState(false);\n\n const [isLoading, setIsLoading] = useState(true);\n const [shuffle, setShuffle] = useState(false);\n const [disableNext, setDisableNext] = useState(false);\n\n const createProductIngredients = data => {\n if(!!data.length){\n const subopt = data.map((el, i) => ({enabled: true, max: 1, name: el.name, quantity: el.quantity === 0 ? 0 : 1, id: i})) || [];\n return {\n id: \"Ingredients\",\n name: t(\"create-order.product.INGREDIENTS\"),\n min: 0,\n max: data.length,\n suboptions: subopt,\n enabled: true\n }\n } else {\n return {};\n }\n }\n const [ingredients, setIngredients] = useState(createProductIngredients((product && product.ingredients) || []));\n const [nameOnBox, setNameOnBox] = useState(editMode && productEdit ? productEdit.name_on_box : \"\");\n const [quantity, setQuantity] = useState(productEdit && editMode ? productEdit.quantity : 1);\n const [comments, setComments] = useState(productEdit && editMode ? productEdit.comment : \"\");\n const [fullPrice, setFullPrice] = useState(editMode && productEdit ? productEdit.full_price : 0);\n\n const [error, setError] = useState(null);\n\n const productsMap = products\n .filter(el => checkRespectTo(el, [...halfProducts, ...products]));\n\n const halfProductsMap = halfProducts\n .filter(el => checkRespectTo(el, [...halfProducts, ...products]));\n\n\n const hasIngredients = !!Object.keys(ingredients).length;\n const countOfAllProducts =\n productsMap.length + halfProductsMap.length + (hasIngredients ? 1 : 0) + (!!halfProducts.length ? 1 : 0) + (product && product.allow_comments ? 1 : 0);\n const countOfAllSteps = countOfAllProducts + 1;\n\n useEffect(() => {\n if(editMode) {\n setCurrentIndex(countOfAllProducts);\n }\n }, [editMode, countOfAllProducts]);\n\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const checkError = useCallback(() => {\n let newError = \"\";\n const products = [...productsMap, null, ...halfProductsMap];\n products.forEach((prod, index) => {\n if(index+1 + (hasIngredients ? 0 : -1) === currentIndex && prod) {\n const condition = checkValidProduct(prod);\n if(condition) {\n newError = t(\"create-order.product.MINIMUM_OPTION\", {minCount: prod.name?.toLowerCase()});\n }\n }\n });\n setError(newError);\n }, [currentIndex, halfProductsMap, productsMap, hasIngredients, t])\n\n useEffect(() => {\n if(currentIndex <= countOfAllProducts) {\n checkError();\n }\n }, [currentIndex, countOfAllProducts, checkError]);\n\n useEffect(() => {\n if(editMode) {\n const data = getMergedProductData({\n allProducts: allProducts,\n productEdit: productEdit,\n ingredients: ingredients\n });\n if(data.isWithHalf !== isHalf) {\n setIsHalf(data.isWithHalf);\n }\n setIngredients(data.ingredients);\n setProducts(data.forSetProducts);\n setHalfProducts(data.forSetHalfProduct);\n setTimeout(() => {\n setMergedInit(false);\n // getPrice();\n }, 0);\n } else {\n const productsData = allProducts.filter(el => !el.with_half_option);\n if(productsData.length) {\n setProducts(productsData);\n }\n const halfData = allProducts.filter(el => el.with_half_option);\n if(halfData.length) {\n setHalfProducts(halfData);\n }\n }\n\n // eslint-disable-next-line\n }, []);\n\n const changeQuantityOfIngredients = option => {\n const newproducts = products.map(el => (\n el.id === option.id\n ? option\n : el\n ))\n setProducts(newproducts);\n }\n const changeQuantityOfIngredientsHalf = option => {\n const newproducts = halfProducts.map(el => (\n el.id === option.id && el.halfOption === option.halfOption\n ? option\n : el\n ))\n setHalfProducts(newproducts);\n }\n const changeIngredients = data => {\n setIngredients(data);\n }\n const handleOnChangeMessage = value => {\n setComments(value);\n }\n const handleOnChangeNameOnBox = (value) => {\n setNameOnBox(value);\n }\n const handleOnAddProduct = () => {\n if(product.max && product.max === quantity) {\n return;\n }\n setQuantity(quantity +1);\n }\n const handleOnRemoveProduct = () => {\n if(editMode && quantity -1 >= 0) {\n setQuantity(quantity -1);\n } else if (!editMode && quantity -1 > 0) {\n setQuantity(quantity -1);\n }\n }\n const isValid = useCallback(() => {\n const isValidProducts = products\n .filter(el => checkRespectTo(el, [...products, ...halfProducts]))\n .every(prod => !checkValidProduct(prod));\n const isValidHalf = halfProducts\n .filter(el => checkRespectTo(el, [...products, ...halfProducts]))\n .every(prod => !checkValidProduct(prod));\n\n return isValidHalf && isValidProducts && quantity > 0;\n }, [quantity, products, halfProducts])\n\n const checkValidProduct = prod => {\n const allQuantity = prod.suboptions.reduce((acc, cv) => cv.quantity ? (acc = cv.quantity + acc) : acc, 0);\n\n const limitByMax = prod.limit_suboptions_by_max\n ? true\n : (prod.min === 1 && prod.max === 1);\n const condition = limitByMax\n ? prod.min !== 0 && !((prod.min <= allQuantity) && (allQuantity <= prod.max))\n : !(prod.min <= allQuantity) && prod.min !== 0;\n\n return condition;\n }\n\n const handleEmitProduct = useCallback((data, isValid) => {\n emitProduct && emitProduct(data, isValid);\n }, [emitProduct]);\n const getPrice = useCallback(() => {\n checkError([...halfProducts, ...products]);\n\n if(!!product) {\n setIsLoading(true);\n const data = {\n business_id: business_id,\n product: {\n id: product.id,\n quantity: quantity,\n price: product.price,\n full_price: product.full_price,\n name_on_box: nameOnBox,\n comment: comments,\n ingredients: ingredients.suboptions ? ingredients.suboptions.filter(el => !el.quantity).map(el => el.name) : [],\n options: [\n ...products\n .filter(el => checkRespectTo(el, [...products, ...halfProducts]))\n .map(el => ({\n id: el.id,\n with_half_option: el.with_half_option,\n name: el.name,\n suboptions: el.suboptions\n .filter(sub => !!sub.quantity)\n .map(sub => ({\n id: sub.id,\n price: sub.price,\n quantity: sub.quantity,\n name: sub.name,\n half_option: HALF_OPTION.all,\n }))\n })).filter(el => !!el.suboptions.length),\n ...halfProducts\n .filter(el => checkRespectTo(el, [...products, ...halfProducts]))\n .map(el => ({\n id: el.id,\n with_half_option: el.with_half_option,\n name: el.name,\n suboptions: el.suboptions\n .filter(sub => !!sub.quantity)\n .map(sub => ({\n id: sub.id,\n price: sub.price,\n quantity: sub.quantity,\n name: sub.name,\n half_option: el.halfOption\n }))\n })).filter(el => !!el.suboptions.length)\n ]\n }\n }\n\n getProductPrice(data).then(res => {\n if(res.status === 200) {\n setFullPrice(res.data.full_price);\n handleEmitProduct({...data, full_price: res.data.full_price}, isHalf);\n }\n setIsLoading(false);\n setDisableNext(false);\n }).catch(() => {\n setShuffle(true);\n setTimeout(() => {\n setShuffle(false);\n }, 1000);\n setDisableNext(true);\n setIsLoading(false);\n });\n }\n // eslint-disable-next-line\n }, [t, products, business_id, ingredients, product, quantity, halfProducts, isHalf, comments, nameOnBox]);\n\n useEffect(() => {\n if(editMode) {\n if(!mergedInit) {\n getPrice();\n }\n } else {\n getPrice();\n }\n // eslint-disable-next-line\n }, [quantity, product, mergedInit, nameOnBox, comments]);\n\n useEffect(() => {\n const productQuantity = products.some(pr => pr.suboptions.some(sub => sub.quantity));\n if(editMode) {\n if(!mergedInit) {\n getPrice();\n }\n } else {\n if(productQuantity || !init) {\n getPrice();\n setInit(false);\n }\n }\n // eslint-disable-next-line\n }, [products]);\n\n useEffect(() => {\n const halfQuantity = halfProducts.some(pr => pr.suboptions.some(sub => sub.quantity));\n if(editMode) {\n if(!mergedInit) {\n getPrice();\n }\n } else {\n if(halfQuantity || !init) {\n getPrice();\n setInit(false);\n }\n }\n // eslint-disable-next-line\n }, [halfProducts])\n\n const getHalfAllPortion = (isHalf) => {\n return {\n id: \"half_options\",\n name: t(\"create-order.product.TOPPINGS\"),\n min: 1,\n max: 1,\n suboptions: [\n {quantity:!isHalf, name: t(\"create-order.product.FOR_WHOLE\"), id: \"whole\"},\n {quantity:isHalf, name: t(\"create-order.product.HALFHALF\"), id: \"half\"}\n ]\n }\n }\n\n const changeTopping = (data) => {\n const newIsHalf = !!data.suboptions.find(el => el.id === \"half\").quantity;\n setIsHalf(newIsHalf)\n const withHalf = allProducts.filter(el => el.with_half_option);\n if (newIsHalf) {\n setHalfProducts(p => withHalf.flatMap(el => [\n {...el, name: t(\"create-order.product.ONE_SIDE\", {name: el.name}), halfOption: HALF_OPTION.left},\n {...el, name: t(\"create-order.product.ANOTHER_SIDE\", {name: el.name}), halfOption: HALF_OPTION.right}\n ]))\n } else {\n setHalfProducts(p => withHalf);\n }\n }\n\n const goToStep = option => {\n const options = [...productsMap];\n if(hasIngredients) {\n options.unshift(ingredients);\n }\n\n if(halfProducts.length) {\n options.push(getHalfAllPortion(isHalf));\n }\n\n options.push(...halfProductsMap);\n\n const findIndex = options.findIndex((opt) => {\n return option.halfOption\n ? opt.id === option.id && opt.halfOption === option.halfOption\n : opt.id === option.id\n });\n\n setCurrentIndex(findIndex);\n }\n\n return (\n \n
\n
\n \n
\n
\n\n
\n {giftMode ? (\n
\n \n
\n ) : (\n product && product.images && ({product.name}\n)\n )}\n\n
\n\n
\n \n {product && product.name}\n {product && (\n
\n {!!product.price_before_discount && ({getCurrencyIcons(currency)}{product.price_before_discount})}  \n {getCurrencyIcons(currency)}{product.price}\n
\n )}\n
\n
\n {product && product.description && (

{product.description}

)}\n {!!error && ()}\n {hasIngredients && currentIndex === 0 && ()}\n\n {productsMap\n .filter((_, index) => currentIndex === index +1 + (hasIngredients ? 0 : -1))\n .map(prod => (\n = 2}\n useClass={((!prod.min && prod.max === 1) || (!prod.min && !prod.max && !prod.limit_suboptions_by_max)) && \"checkbox-with-icon\"}\n />\n ))}\n\n\n {!!halfProducts.length && productsMap.length + 1 + (hasIngredients ? 0 : -1) === currentIndex && (\n \n )}\n\n {halfProducts\n .filter((_, index) => currentIndex === index + 2 + productsMap.length + (hasIngredients ? 0 : -1))\n .map((prod, i) => (\n = 2}\n useClass={!prod.min && prod.max === 1 && \"checkbox-with-icon\"}\n />\n ))}\n\n {countOfAllProducts !== 0 && currentIndex === countOfAllProducts && halfProducts && products && (\n
\n
{t(\"create-order.product.SUMMARY\")}
\n
\n {Array(countOfAllSteps)\n .fill(0)\n .map((_, index) => (\n \n
\n
\n \n ))}\n\n
\n
\n {([ingredients, ...productsMap, halfProductsMap.length ? getHalfAllPortion(isHalf) : {}, ...halfProductsMap]).map((option, i) => {\n const options = (option.suboptions || [])\n .filter(s => s.quantity)\n .map(s => (\n {s.name} {s.quantity > 1 ? ('x' + s.quantity) : ''} {s.price ? ('(+' + getCurrencyIcons(currency) + s.price + ')') : ''}
\n ))\n if(!option.name) {\n return null;\n }\n\n return (\n \n {option.name}:\n {options.length ? options : '-'}\n \n \n )\n })}\n {product && product.allow_comments && (\n <>\n {t(\"create-order.product.COMMENTS\")}:\n {nameOnBox || \"-\"} | {comments || \"-\"}\n \n \n )}\n
\n
\n )}\n\n {product && product.allow_comments && currentIndex === countOfAllProducts-1 && (
\n
{t(\"create-order.product.COMMENTS\")}
\n
\n {Array(countOfAllSteps)\n .fill(0)\n .map((_, index) => (\n \n
\n
\n \n ))}\n\n
\n\n
\n {t(\"create-order.product.BOX_NAME\")}\n handleOnChangeNameOnBox(e.target.value)}\n value={nameOnBox}\n />\n
\n\n
\n {t(\"create-order.product.COMMENTS\")}\n handleOnChangeMessage(e.target.value)}\n value={comments}\n />\n
\n
)}\n\n
\n
\n {currentIndex === countOfAllProducts && (\n <>\n product.max === q && product.max} onClickAdd={handleOnAddProduct} quantity={quantity} />\n
\n \n {\n editMode && quantity > 0\n ? t(\"create-order.product.SAVE\")\n : editMode && quantity === 0\n ? t(\"create-order.product.REMOVE\")\n :

{t(\"create-order.product.ADD_TO_CART\")}

\n }\n
\n \n {\n isLoading\n ? (
loader
)\n : (quantity !== 0) && getCurrencyIcons(currency) + fullPrice\n }\n
\n
\n \n )}\n {currentIndex !== countOfAllProducts && (\n <>\n \n \n \n )}\n
\n
\n\n \n )\n}\n\nexport default RestaurantAddDish;\n","import React, {useCallback, useState} from \"react\";\nimport \"./style.scss\";\nimport {useSelector} from \"react-redux\";\nimport {ProductCard} from \"./ProductCard\";\nimport SearchBox from \"../SearchBox\";\nimport {CounterButton} from \"../CounterButton/CounterButton\";\nimport {useTranslation} from \"react-i18next\";\nimport {getProductPrice} from \"../../../api/order-requests\";\nimport {getCurrencyIcons} from \"../../../utils/enums\";\nimport RestaurantAddDish from \"./RestaurantAddDish\";\n\nexport const CreateOrderMenu = ({onAddProduct, cart, getProduct, currency}) => {\n const {t} = useTranslation();\n const {businessMenu} = useSelector(state => state.restaurant.data);\n const [selectedProduct, setSelectedProduct] = useState(null);\n const [constructedProduct, setConstructedProduct] = useState(null);\n const [products, setProducts] = useState(cart || []);\n const [search, setSearch] = useState(\"\");\n const [disabledAdd, setDisabledAdd] = useState(false);\n\n const [index, setIndex] = useState(null);\n const [isEdit, setIsEdit] = useState(null);\n\n const selectProduct = (product, isEdit, index) => {\n setIndex(index);\n setIsEdit(isEdit);\n setSelectedProduct(product);\n }\n\n const addToCart = useCallback(() => {\n if(isEdit) {\n let newProducts = [];\n if(constructedProduct.product.quantity) {\n newProducts = products.map((el, i) => i === index ? constructedProduct : el);\n } else {\n newProducts = products.filter((el, i) => i !== index);\n }\n setProducts(newProducts);\n onAddProduct(newProducts);\n setIsEdit(null);\n setIndex(null);\n setSelectedProduct(null);\n } else {\n const newProducts = [...products, constructedProduct];\n onAddProduct(newProducts);\n setProducts(newProducts);\n setSelectedProduct(null);\n }\n\n }, [products, constructedProduct, index, isEdit, onAddProduct]);\n\n const saveProduct = useCallback((product) => {\n setConstructedProduct(product)\n }, [])\n\n const onClose = () => {\n setIsEdit(null);\n setIndex(null);\n setSelectedProduct(null);\n }\n\n const onClickAddFromCart = async (index, quantity) => {\n const newProduct = products.find((el, i) => i === index);\n if(newProduct) {\n newProduct.product.quantity = quantity;\n setDisabledAdd(true);\n const {data} = await getProductPrice(newProduct);\n newProduct.product = data.product;\n newProduct.full_price = data.full_price;\n setDisabledAdd(false);\n }\n const newProducts = products.map((el, i) => i === index ? {...el, product: {...el.product, quantity}} : el);\n setProducts(newProducts);\n onAddProduct(newProducts);\n }\n\n const onClickRemoveFromCart = async (index, quantity) => {\n let newProducts;\n if(quantity === 0) {\n newProducts = products.filter((p,i) => i !== index);\n } else {\n const newProduct = products.find((el, i) => i === index);\n if(newProduct) {\n newProduct.product.quantity = quantity;\n setDisabledAdd(true);\n const {data} = await getProductPrice(newProduct);\n newProduct.product = data.product;\n newProduct.full_price = data.full_price;\n setDisabledAdd(false);\n }\n newProducts = products.map((el, i) => i === index ? {...el, product: {...el.product, quantity}} : el);\n }\n\n setProducts(newProducts);\n onAddProduct(newProducts);\n }\n\n const getCartProducts = (product, i) => {\n const fullProduct = getProduct(product);\n const currProduct = (product || {}).product || {};\n\n const onAdd = () => {\n onClickAddFromCart(i, fullProduct.quantity +1);\n }\n const onRemove = () => {\n onClickRemoveFromCart(i, fullProduct.quantity -1);\n }\n\n return (\n
\n
\n
selectProduct(fullProduct, true, i)}\n className=\"title\"\n >\n {fullProduct.name}\n
\n \n
{getCurrencyIcons(businessMenu.currency || currency)}{fullProduct.full_price}
\n
\n
\n {(currProduct.options || []).map(option => (\n \n {option.name}: {(option.suboptions || []).filter(s => s.quantity).map(s => s.name + \" x\" + s.quantity + \", \")}\n \n ))}\n
\n
\n )\n }\n\n const getTotalPrice = () => {\n return getCurrencyIcons(businessMenu.currency || currency) + \"\" + products.reduce((acc, cv) => acc + (cv.full_price || 0), 0);\n }\n\n const strollToCategory = (name) => {\n const category = document.getElementById(name);\n const container = document.getElementById(\"products-container\");\n container.scrollBy({\n top: category.getBoundingClientRect().top - 200,\n left: 0,\n behavior: \"smooth\"\n });\n\n }\n\n return (\n
\n \n
\n\n
\n
\n {businessMenu && businessMenu.categories.map(c => (\n
strollToCategory(c.name)}>{c.name}
\n ))}\n
\n
\n {businessMenu && businessMenu.categories\n .map(c => (\n
\n
{c.name}
\n {c.products\n .filter(p => p.name?.toLowerCase()?.includes(search.trim()?.toLowerCase()))\n .map(p => (\n selectProduct(p, false)} currency={businessMenu.currency || currency}/>\n ))}\n
\n ))\n }\n
\n\n
\n
\n
{t(\"create-order.order.ORDER_SUMMARY\")}
\n {(products || []).map(getCartProducts)}\n {products && !products.length && (\n
{t(\"create-order.order.EMPTY_CART\")}
\n )}\n {!!(products || []).length && (\n
Total
{getTotalPrice()}
\n )}\n
\n
\n\n {!!selectedProduct && (\n \n )}\n
\n )\n}","import React, {useCallback, useEffect, useState} from 'react';\nimport classnames from 'classnames';\nimport \"./style.scss\";\nimport {getCurrencyIcons} from \"../../../../utils/enums.js\";\nimport {useTranslation} from \"react-i18next\";\nimport {getProductPrice} from \"../../../../api/order-requests.js\";\nimport {CounterButton} from \"../../CounterButton/CounterButton.jsx\";\nimport {isRTL} from \"../../../../services/userModel.js\";\n\nconst ProductAddDish = ({product, multiSelect, onChange, currency, withButtonsCounter, useClass, allProductsCount, currentIndex}) => {\n const handleOnAdd = (data, operation) => {\n let suboptions = [];\n if(product.min || multiSelect || !product.limit_suboptions_by_max) {\n suboptions = product.suboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: (el.quantity ? el.quantity : 0) + operation}\n : {...el}\n ));\n } else {\n suboptions = product.suboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: (el.quantity ? el.quantity : 0) + operation}\n : {...el, quantity: 0}\n ))\n }\n\n const suboptionQuantity = suboptions.reduce((acc, cv) => acc + (cv.quantity ? cv.quantity : 0), 0) || 0;\n\n let maxIsZero = false;\n if(product.max === 0){\n maxIsZero = suboptions.every(el => el.quantity ? el.quantity <= 1 : true);\n }\n\n if(suboptionQuantity <= product.max || maxIsZero || !product.limit_suboptions_by_max) {\n onChange({...product, suboptions});\n }\n }\n const handleOnRemove = (data, operation) => {\n const suboptions = product.suboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: (el.quantity ? el.quantity : 0) + operation}\n : {...el}\n ))\n const suboptionQuantity = suboptions.reduce((acc, cv) => acc + (cv.quantity ? cv.quantity : 0), 0);\n if(suboptionQuantity >= 0) {\n onChange({...product, suboptions: suboptions});\n }\n }\n const handleOnSelect = (data, operation) => {\n const suboptions = product.suboptions.map(el => (\n el.id === data.id\n ? {...el, quantity: 1}\n : {...el, quantity: 0}\n ));\n onChange({...product, suboptions: suboptions});\n }\n\n return (\n
\n
\n {product.name}\n {(!!product.max || !!product.min) && (!!product.min && product.max > 0)\n && ` ${product.min ? '(min ' + product.min + ' - ' : '('}${product.max ? 'max ' + product.max + ')' : ')'}`\n }\n
\n
\n {allProductsCount > 0 && Array(allProductsCount)\n .fill(0)\n .map((_, index) => (\n <>\n
\n
\n \n ))}\n\n
\n
\n {product.suboptions\n .filter(subopt => subopt.enabled)\n .map(subopt => (\n (product.min === 1 && product.max === 1)\n ? ()\n : ()\n ))}\n
\n
\n )\n}\n\nconst RadioButton = ({currency, option, onSelect}) => {\n const handleOnChange = (e) => {\n e.preventDefault();\n onSelect(option, !!option.quantity ? -1 : 1);\n }\n return (\n \n )\n};\n\nconst CheckBox = ({option, currency, showButton, onClickAdd, onClickRemove}) => {\n const handleOnChange = () => {\n !!option.quantity ? onClickRemove(option, -option.quantity) : onClickAdd(option, +1);\n }\n const handleOnAdd = () => {\n onClickAdd(option, +1);\n }\n const handleOnRemove = () => {\n if(option.quantity -1 >= 0) {\n onClickRemove(option, -1);\n }\n }\n\n return (\n
\n \n {showButton && ()}\n {!!option.price ? (
+{getCurrencyIcons(currency)}{option.price}
) : (
)}\n
\n )\n};\n\nexport const checkRespectToAndEnabledSuboptions = (product, data) => {\n const enabledAllSuboptions = product.suboptions.filter(el => el.enabled);\n if(product.enabled && enabledAllSuboptions.length) {\n const subopt = data\n .flatMap(el => el.suboptions)\n .filter(el => el.enabled);\n const find = subopt.find(el => el.id === product.respect_to);\n return find ? !!find.quantity : true;\n }\n\n return false;\n}\n\nconst HALF_OPTION = {\n all: 0,\n left: 1,\n right: 2\n}\n\nexport const CreateProduct = ({onClose, productEdit, handleOnAddToCart, editMode, product, currency, business_id, emitProduct}) => {\n const {t} = useTranslation();\n\n const allProducts = (product && product.extras.flatMap(extra => extra.options)) || [];\n const [products, setProducts] = useState([]);\n const [halfProducts, setHalfProducts] = useState([]);\n const [isHalf, setIsHalf] = useState(false);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n\n const [isLoading, setIsLoading] = useState(false);\n const createProductIngredients = data => {\n if(data.length){\n const subopt = data.map((el, i) => ({enabled: true, name: el.name, quantity: el.quantity === 0 ? 0 : 1, id: i})) || [];\n return {\n id: \"Ingredients\",\n name: t(\"create-order.product.INGREDIENTS\"),\n min: 0,\n max: data.length,\n suboptions: subopt,\n enabled: true,\n }\n } else {\n return {};\n }\n }\n const [ingredients, setIngredients] = useState(createProductIngredients((product && product.ingredients) || []));\n const [quantity, setQuantity] = useState(productEdit && editMode ? productEdit.quantity : 1);\n const [comments, setComments] = useState(productEdit && editMode ? productEdit.comment : \"\");\n const [fullPrice, setFullPrice] = useState(editMode && productEdit ? productEdit.full_price : 0);\n\n const [error, setError] = useState(null);\n\n const productsMap = products\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...halfProducts, ...products]));\n\n const halfProductsMap = halfProducts\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...halfProducts, ...products]));\n\n const hasIngredients = !!Object.keys(ingredients).length;\n const countOfAllProducts =\n productsMap.length + halfProductsMap.length + (hasIngredients ? 1 : 0) + (!!halfProducts.length ? 1 : 0);\n\n useEffect(() => {\n if(editMode) {\n mergeProduct();\n } else {\n setProducts(allProducts.filter(el => !el.with_half_option));\n setHalfProducts(allProducts.filter(el => el.with_half_option));\n }\n\n // eslint-disable-next-line\n }, [product]);\n\n const mergeProduct = () => {\n const isWithHalf = productEdit.options\n ? productEdit.options\n .filter(el => el.with_half_option)\n .flatMap(el => el.suboptions)\n .some(el => el.half_option >= 1)\n : false;\n setIsHalf(isWithHalf);\n\n const withHalf = allProducts.filter(el => el.with_half_option);\n const withoutHalf = allProducts.filter(el => !el.with_half_option);\n setProducts(withoutHalf.map(el => {\n const find = productEdit.options && productEdit.options.find(edit => edit.id === el.id);\n if(find) {\n find.suboptions = el.suboptions.map(sub => {\n const findSub = find.suboptions.find(subel => subel.id === sub.id);\n return findSub ? {...sub, ...findSub} : sub;\n })\n }\n return find ? {...el, ...find} : el;\n }));\n\n if(isWithHalf) {\n const suboptions = productEdit.options\n .filter(el => el.with_half_option)\n .flatMap(el => el.suboptions);\n\n const leftSides = suboptions.filter(el => el.half_option === HALF_OPTION.left);\n const rightSides = suboptions.filter(el => el.half_option === HALF_OPTION.right);\n\n\n const fullSides = withHalf.flatMap(el => {\n return [\n {...el, name: t(\"create-order.product.ONE_SIDE\", {name: el.name}), halfOption: 1, suboptions: el.suboptions.map(sub => {\n const find = leftSides.find(ls => ls.id === sub.id);\n return find ? find : sub\n })},\n {...el, name: t(\"create-order.product.ANOTHER_SIDE\", {name: el.name}), halfOption: 2, suboptions: el.suboptions.map(sub => {\n const find = rightSides.find(ls => ls.id === sub.id);\n return find ? find : sub\n })}\n ]\n });\n\n setTimeout(() => {\n setHalfProducts(fullSides);\n })\n\n } else {\n const fullProducts = withHalf.map(el => {\n const find = productEdit.options && productEdit.options.find(edit => edit.id === el.id);\n if(find) {\n find.suboptions = el.suboptions.map(sub => {\n const findSub = find.suboptions.find(subel => subel.id === sub.id);\n return findSub ? {...sub, ...findSub} : sub;\n })\n }\n return find ? {...el, ...find} : el;\n });\n\n setTimeout(() => {\n setHalfProducts(fullProducts);\n })\n }\n\n const subopt = ingredients.suboptions\n ? ingredients.suboptions.map(el => productEdit.ingredients.includes(el.name) ? {...el, quantity: 0} : {...el, quantity: 1})\n : [];\n\n setIngredients({...ingredients, suboptions: subopt});\n }\n\n useEffect(() => {\n const withHalf = allProducts.filter(el => el.with_half_option);\n if (isHalf) {\n setHalfProducts(p => withHalf.flatMap(el => [\n {...el, name: t(\"create-order.product.ONE_SIDE\", {name: el.name}), halfOption: HALF_OPTION.left},\n {...el, name: t(\"create-order.product.ANOTHER_SIDE\", {name: el.name}), halfOption: HALF_OPTION.right}\n ]))\n } else {\n setHalfProducts(p => withHalf);\n }\n\n // eslint-disable-next-line\n }, [isHalf])\n\n const changeQuantityOfIngredients = option => {\n const newproducts = products.map(el => (\n el.id === option.id\n ? option\n : el\n ))\n setProducts(newproducts);\n }\n const changeQuantityOfIngredientsHalf = option => {\n const newproducts = halfProducts.map(el => (\n el.id === option.id && el.halfOption === option.halfOption\n ? option\n : el\n ))\n setHalfProducts(newproducts);\n }\n const changeIngredients = data => {\n setIngredients(data);\n }\n const handleOnChangeMessage = value => {\n setComments(value);\n }\n const handleOnAddProduct = () => {\n setQuantity(quantity +1);\n }\n const handleOnRemoveProduct = () => {\n if(editMode && quantity -1 >= 0) {\n setQuantity(quantity -1);\n } else if (!editMode && quantity -1 > 0) {\n setQuantity(quantity -1);\n }\n }\n const isValid = useCallback(() => {\n const isValidProducts = products\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...products, ...halfProducts]))\n .every(prod => !checkValidProduct(prod));\n const isValidHalf = halfProducts\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...products, ...halfProducts]))\n .every(prod => !checkValidProduct(prod));\n\n return isValidHalf && isValidProducts && quantity > 0;\n }, [quantity, products, halfProducts])\n\n const checkError = useCallback(() => {\n let newError = \"\";\n const products = [...productsMap, null, ...halfProductsMap];\n products.forEach((prod, index) => {\n if(index+1 + (hasIngredients ? 1 : 0) === currentIndex && prod) {\n const condition = checkValidProduct(prod);\n if(condition) {\n newError = t(\"create-order.product.MINIMUM_OPTION\", {minCount: prod.name.toLowerCase()});\n }\n }\n });\n\n setError(newError);\n }, [currentIndex, halfProductsMap, productsMap, t, hasIngredients]);\n\n useEffect(() => {\n if(currentIndex <= countOfAllProducts) {\n checkError();\n }\n }, [currentIndex, countOfAllProducts, checkError]);\n\n const checkValidProduct = prod => {\n const allQuantity = prod.suboptions.reduce((acc, cv) => cv.quantity ? (acc = cv.quantity + acc) : acc, 0);\n\n const limitByMax = prod.limit_suboptions_by_max\n ? true\n : (prod.min === 1 && prod.max === 1);\n const condition = limitByMax\n ? prod.min !== 0 && !((prod.min <= allQuantity) && (allQuantity <= prod.max))\n : !(prod.min <= allQuantity) && prod.min !== 0;\n\n return condition;\n }\n\n const handleEmitProduct = useCallback((data, isValid) => {\n emitProduct && emitProduct(data, isValid);\n }, [emitProduct]);\n\n const getPrice = useCallback(() => {\n // checkError([...products, ...halfProducts]);\n if(!!product) {\n setIsLoading(true);\n const data = {\n business_id: business_id,\n product: {\n id: product.id,\n quantity: quantity,\n price: product.price,\n full_price: product.full_price,\n comment: comments,\n ingredients: ingredients.suboptions ? ingredients.suboptions.filter(el => !el.quantity).map(el => el.name) : [],\n options: [\n ...products\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...products, ...halfProducts]))\n .map(el => ({\n id: el.id,\n name: el.name,\n suboptions: el.suboptions.filter(sub => !!sub.quantity)\n .map(sub => ({\n id: sub.id,\n price: sub.price,\n quantity: sub.quantity,\n half_option: HALF_OPTION.all,\n name: sub.name\n }))\n })).filter(el => !!el.suboptions.length),\n ...halfProducts\n .filter(el => checkRespectToAndEnabledSuboptions(el, [...products, ...halfProducts]))\n .map(el => ({\n id: el.id,\n name: el.name,\n suboptions: el.suboptions\n .filter(sub => !!sub.quantity)\n .map(sub => ({\n id: sub.id,\n price: sub.price,\n quantity: sub.quantity,\n half_option: el.halfOption,\n name: sub.name\n }))\n })).filter(el => !!el.suboptions.length)\n ]\n }\n }\n\n getProductPrice(data).then(res => {\n if(res.status === 200) {\n setFullPrice(res.data.full_price);\n handleEmitProduct({...data, full_price: res.data.full_price}, isHalf);\n }\n setIsLoading(false);\n });\n }\n // eslint-disable-next-line\n }, [t, products, business_id, comments, ingredients, product, quantity, handleEmitProduct, halfProducts, isHalf]);\n\n useEffect(() => {\n getPrice();\n }, [getPrice]);\n\n const getHalfAllPortion = (isHalf) => {\n return {\n id: \"half_options\",\n name: t(\"create-order.product.TOPPINGS\"),\n min: 1,\n max: 1,\n enabled: true,\n suboptions: [\n {quantity:!isHalf, enabled: true, name: t(\"create-order.product.FOR_WHOLE\"), id: \"whole\"},\n {quantity:isHalf, enabled: true, name: t(\"create-order.product.HALFHALF\"), id: \"half\"}\n ]\n }\n }\n\n const changeTopping = (data) => {\n setIsHalf(!!data.suboptions.find(el => el.id === \"half\").quantity);\n\n const withHalf = allProducts.filter(el => el.with_half_option);\n if (isHalf) {\n setHalfProducts(p => withHalf.flatMap(el => [\n {...el, name: t(\"create-order.product.ONDE_SIDE\", {name: el.name}), halfOption: HALF_OPTION.left},\n {...el, name: t(\"create-order.product.ANOTHER_SIDE\", {name: el.name}), halfOption: HALF_OPTION.right}\n ]))\n } else {\n setHalfProducts(p => withHalf);\n }\n }\n\n return (\n
\n
\n
\n
+
\n
\n \"\"/\n
\n\n
\n \n {product && product.name}\n {product && (\n
\n {!!product.price_before_discount && ({getCurrencyIcons(currency)}{product.price_before_discount})}  \n {getCurrencyIcons(currency)}{product.price}\n
\n )}\n
\n
\n {product && product.description && (
{product.description}
)}\n {error &&
{error}
}\n {hasIngredients && currentIndex === 0 && ()}\n\n\n {productsMap\n .filter((_, index) => currentIndex === index +1 + (hasIngredients ? 1 : 0))\n .map(prod => (\n = 2}\n multiSelect={prod.limit_suboptions_by_max ? true : !(prod.min === 0 && prod.max === 1)}\n useClass={((!prod.min && prod.max === 1) || (!prod.min && !prod.max && !prod.limit_suboptions_by_max)) && \"checkbox-with-icon\"}\n />\n ))}\n\n\n {!!halfProducts.length && productsMap.length + 1 + (hasIngredients ? 1 : 0) === currentIndex && (\n \n )}\n\n {halfProductsMap\n .filter((_, index) => currentIndex === index + 2 + productsMap.length + (hasIngredients ? 1 : 0))\n .map((prod, i) => (\n = 2}\n useClass={!prod.min && prod.max === 1 && \"checkbox-with-icon\"}\n />\n ))}\n\n {currentIndex === countOfAllProducts && halfProducts && products && (\n
\n {([...halfProductsMap, ...productsMap]).map(option => (\n \n {option.name}: {(option.suboptions || []).filter(s => s.quantity).map(s => s.name + (s.quantity > 1 ? (\" x\" + s.quantity) : \"\") + \", \")}\n \n ))}\n
\n )}\n\n {product && product.allow_comments && currentIndex === countOfAllProducts && (
\n {t(\"create-order.product.COMMENTS\")}\n handleOnChangeMessage(e.target.value)} value={comments}/>\n
)}\n\n
\n
\n {currentIndex === countOfAllProducts && (\n <>\n {countOfAllProducts !== 0 && (\n \n )}\n \n
\n \n {\n editMode && quantity > 0\n ? t(\"create-order.product.SAVE\")\n : editMode && quantity === 0\n ? t(\"create-order.product.REMOVE\")\n : t(\"create-order.product.ADD_TO_CART\")\n }\n \n \n {\n isLoading\n ? t(\"create-order.product.LOADING\")\n : (quantity !== 0) && `${getCurrencyIcons(currency)}${fullPrice}`\n }\n \n
\n \n )}\n {currentIndex !== countOfAllProducts && (\n <>\n \n \n \n )}\n\n
\n
\n\n
\n )\n}","import React, {useCallback, useState} from \"react\";\nimport \"./style.scss\";\nimport {ProductCard} from \"./ProductCard\";\nimport {useTranslation} from \"react-i18next\";\nimport { ModalPopup } from '../ModalPopup/ModalPopup.jsx';\nimport { CreateProduct } from './CreateProduct/CreateProduct.jsx';\n\nexport const ListSelectedProducts = ({getProduct, currency, products, updateProductList, businessId}) => {\n const {t} = useTranslation();\n\n const [isEdit, setIsEdit] = useState(false);\n const [index, setIndex] = useState(null);\n const [selectedProduct, setSelectedProduct] = useState(null);\n\n const [editingProduct, setEditingProduct] = useState(null);\n\n const selectProduct = (product, index) => {\n setIndex(index);\n setIsEdit(true);\n setSelectedProduct(getProduct(product));\n }\n\n const onClose = () => {\n setIsEdit(false);\n setIndex(null);\n setSelectedProduct(null);\n }\n\n const addToCart = () => {\n if(editingProduct.product.quantity) {\n updateProductList(products.map((p, i) => i === index ? editingProduct : p));\n } else {\n updateProductList(products.filter((p, i) => i !== index));\n }\n\n onClose();\n }\n\n const saveProduct = useCallback((prod) => {\n setEditingProduct(prod)\n }, []);\n\n\n return (\n
\n
\n
{t(\"create-order.summary.SELECTED_PRODUCTS\")}
\n {products && products.map((p, i) => (\n selectProduct(p, i)}\n product={getProduct(p)}\n currency={currency}\n showQuantity\n />\n ))}\n
\n\n {!!selectedProduct && (\n }>)}\n\n
\n )\n};","import React, {useCallback, useEffect, useState} from 'react';\nimport './index.scss';\nimport classNames from 'classnames';\nimport {useTranslation} from \"react-i18next\";\nimport {useSelector} from \"react-redux\";\nimport {getRestaurant} from \"../../../store/selectors\";\nimport {getReshipmentTypes, WAITER_TYPES} from \"../../../utils/enums\";\nimport Dropdown from \"../Dropdown\";\nimport Waiter from \"../Waiter/Waiter\";\nimport LayoutHeaderControls from \"../LayoutHeaderControls/LayoutHeaderControls\";\nimport {CreateOrderMenu} from \"../CreateOrderMenu/CreateOrderMenu\";\nimport { ListSelectedProducts } from '../CreateOrderMenu/ListSelectedProducts.jsx';\n\nconst AddDish = ({fromEditMode, value, defOrder, quantityFromZero, withReshipments, headerLabelEditing, onClose, onSave}) => {\n const {t} = useTranslation();\n const restaurant = useSelector(getRestaurant);\n\n const [showRestaurantMenu, setShowRestaurantMenu] = useState(!fromEditMode);\n const [products, setProducts] = useState([]);\n const [reshipmentType, setReshipmentType] = useState(getReshipmentTypes()[0]);\n const [notes, setNotes] = useState(\"\");\n\n useEffect(() => {\n if(defOrder && defOrder.products) {\n setProducts(() => defOrder.products.map(formatedProduct));\n }\n\n // eslint-disable-next-line\n }, []);\n\n const handleOnSaveData = () => {\n const newOrder = {\n order: defOrder,\n products: products.map(p => ({...getProduct(p), ...p.product})),\n notes: notes,\n reshipment_type: reshipmentType.key,\n };\n onSave && onSave(newOrder);\n }\n\n const formatedProduct = (product) => {\n return {\n full_price: product.full_price,\n quantity: product.quantity,\n product: product,\n }\n };\n\n const updateProductList = useCallback(newList => {\n setProducts(newList);\n }, [])\n\n const getProduct = prod => {\n const allProducts = restaurant && restaurant.businessMenu && restaurant.businessMenu.categories\n .flatMap(allCategory => allCategory)\n .flatMap(cat => cat.products);\n\n if(!allProducts) {\n return prod;\n }\n\n const found = allProducts.find(el => el.id === prod.product.id);\n return {\n ...found,\n quantity: prod.product.quantity,\n comment: prod.product.comment,\n name_on_box: prod.product.name_on_box,\n full_price: prod.full_price\n };\n }\n\n const handleOnAddProduct = (prod, index) => {\n if(prod[0].product) {\n const data = {\n ...prod[0],\n ...prod[0].product,\n full_price: prod[0].full_price,\n }\n setProducts(products => ([...products, data]));\n }\n }\n\n const handleOnCloseMenu = () => {\n setShowRestaurantMenu(false);\n }\n\n return (\n
\n {headerLabelEditing && (
{headerLabelEditing}
)}\n {!showRestaurantMenu && (\n
\n {withReshipments && (\n
\n {t(\"admin-orders.RESHIPMENT_TYPE_REASON\")}\n setReshipmentType(item)}\n />\n
\n )}\n\n
\n {t(\"admin-orders.REFUNDS_INFO_NOTES_LABEL\")}\n \n
\n
\n )}\n\n {!showRestaurantMenu && products && (\n \n )}\n\n {!showRestaurantMenu && (\n setShowRestaurantMenu(true)}\n useClass={\"btn confirm addButton\"}\n />\n )}\n\n {showRestaurantMenu && (\n \n )}\n\n {showRestaurantMenu && (\n
\n
\n \n
\n
\n )}\n\n {!showRestaurantMenu && (\n
\n \n
\n )}\n
\n )\n}\n\n\nexport default AddDish;\n","import React, {useEffect, useRef, useState} from \"react\";\nimport classNames from \"classnames\";\nimport SearchBox from \"../SearchBox/SearchBox\";\nimport {useHistory, withRouter} from \"react-router\";\nimport {connect} from \"react-redux\";\nimport AdminOrderSearchFilterControl from \"../AdminOrderSearchFilterControl/AdminOrderSearchFilterControl\";\nimport AdminOrderItem from \"../AdminOrderItem/AdminOrderItem\";\nimport AdminOrderInfo from \"../AdminOrderInfo/AdminOrderInfo\";\nimport RefundOrder from \"../RefundOrder/RefundOrder\";\nimport CancelAdminOrder from \"../CancelAdminOrder/CancelAdminOrder\";\nimport {RefundDetails} from \"../RefundsDetails/RefundDetails\";\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport {\n actionAdminOrderGetOrderInfo,\n ADMIN_ORDER_GET,\n ADMIN_ORDER_RESHIPMENT,\n setAdminOrderSelectedOrderId,\n setFilterAdminOrders\n} from \"../../../store/reducers/order/order-actions\";\nimport {BUSINESS_MENU_GET, GIFT_CARD_GET} from \"../../../store/reducers/restaurant/restaurant-actions\";\nimport {getOrderMenuProducts} from \"../../../services/restaurant\";\nimport {\n ADMIN_ORDER_FILTER_TYPE,\n BASIC_PATH, CONTROL_TYPE, CUSTOMER_SERVICE_MODEL,\n EXTERNAL_COURIER_PROVIDER,\n MODEL_TYPE,\n PAY_METHOD,\n WAITER_TYPES\n} from '../../../utils/enums';\nimport {getISOTime, prepareEndDate, prepareStartDate} from \"../../../utils/convertTime\";\nimport {getHistoryLocationParams} from \"../../../utils/routesHelper\";\nimport {useTranslation} from \"react-i18next\";\nimport \"./style.scss\";\nimport CapturePaymentOrder from \"../CapturePaymentOrder\";\nimport AddDish from '../AddDish/index.js';\nimport {getInitModel} from '../../../services/initModels.js';\nimport {toast} from 'react-toastify';\nimport AutoSizer from \"react-virtualized-auto-sizer\";\nimport {List} from \"react-virtualized\";\nimport Waiter from \"../Waiter/Waiter.jsx\";\nimport {editCustomerOrderModel} from \"../../../models/editCustomerOrderModel.js\";\nimport {\n REPEAT_ORDER,\n resetCustomerOrderEditInfo\n} from \"../../../store/reducers/editCustomerOrder/editCustomerOrder-action.js\";\nimport {useInterval} from \"../../../services/hooks.js\";\nimport environment from 'environment';\nimport FilterTriggerControl from \"../FilterTriggerControl/index.js\";\nimport OrdersFilter from \"../OrdersFilter/OrdersFilter.jsx\";\nimport {adminOrderFilterModel, getQuantityFilters} from \"../../../services/filter.js\";\n\nconst rowHeightDefault = 130;\n\nconst initFilter = {\n businessId: null, end: null, deliveryStrategy: null,\n start: null, status: null, territory: null, search: null\n}\n\nconst CustomerServiceOrders = ({\n location,\n isMobile,\n adminOrders,\n territories,\n setFilter,\n filter,\n selectedOrderId, adminOrdersLoading,\n setSelectedOrderId, reshipmentOrder, onRepeatOrder,\n getAdminOrders, getOrderInfo, getGiftCardInfo, enableCallCenterMode, getBusinessMenu, saveOrderToEdit,\n}) => {\n const history = useHistory();\n const {t} = useTranslation();\n const [orderRefundId, setOrderRefundId] = useState(null);\n const [isOpenRefund, setIsOpenRefund] = useState(false);\n const [refundId, setRefundId] = useState(null);\n const [reshipmentOpen, setReshipmentOpen] = useState(false);\n const [refundOpen, setRefundOpen] = useState(false);\n const [cancelOrderOpen, setCancelOrderOpen] = useState(false);\n const [searchId, setSearchId] = useState(\"\");\n const [filterType, setFilterType] = useState(null);\n const [capturePaymentId, setCapturePaymentId] = useState(null);\n\n const order = selectedOrderId && adminOrders.find(f=> f.id === selectedOrderId);\n const orderMenuProduct = getOrderMenuProducts(order);\n const reshipmentOrderValue = (orderMenuProduct && getInitModel(MODEL_TYPE.reshipmentOrder, {\n currency: orderMenuProduct.currency,\n products: orderMenuProduct.items\n })) || {};\n\n const [isFilterOpen, setFilterOpen] = useState(false);\n const [filterModel, setFilterModel] = useState(filter || adminOrderFilterModel());\n const selectedOrderIdRef = useRef(selectedOrderId);\n\n useEffect(() => {\n selectedOrderIdRef.current = selectedOrderId;\n }, [selectedOrderId]);\n useInterval(() => {\n getAdminOrders(getFiltersValue(filterModel, {search: searchId, rememberOrder: order})).then((orders) => {\n const order = orders.items?.[0];\n const find = orders.items.find(o => o.id === selectedOrderIdRef.current);\n if(find) {\n handleOnSelect(find.id);\n } else {\n handleOnSelect(order.id);\n }\n });\n }, environment.requestCustomerServiceOrders);\n\n useEffect(()=> {\n getGiftCardInfo();\n\n // eslint-disable-next-line\n }, [getGiftCardInfo]);\n\n useEffect(()=> {\n const searchStr = getHistoryLocationParams(location.search).searchStr;\n if(searchStr) {\n let newFilter = {};\n for(let key in filterModel.options) {\n if(![CONTROL_TYPE.dateLink, CONTROL_TYPE.link, CONTROL_TYPE.groupCheckbox].includes(filterModel.options[key].type)) {\n newFilter = onSalesFilterChange(key, \"selected\", null);\n }\n }\n setSearchId(searchStr);\n getAdminOrders(getFiltersValue(newFilter, {search: searchStr})).then(orders=> {\n if(((orders || {}).items || [])[0]) {\n setSelectedOrderId(orders.items[0].id);\n getOrderInfo(orders.items[0].id);\n }\n });\n } else {\n getAdminOrders(getFiltersValue({...filterModel})).then(orders=> {\n if(((orders || {}).items || [])[0]) {\n setSelectedOrderId(orders.items[0].id);\n getOrderInfo(orders.items[0].id);\n }\n });\n }\n\n // eslint-disable-next-line\n }, []);\n\n const [init, setInit] = useState(true);\n useEffect(() => {\n if(init) {\n return setInit(false);\n }\n if(!isFilterOpen) {\n updateAdminOrders(filterModel);\n setFilter(filterModel);\n }\n // eslint-disable-next-line\n }, [isFilterOpen]);\n\n const handleOnSelect = id => {\n setSelectedOrderId(id);\n getOrderInfo(id);\n }\n\n const handleOnClickPrevoius = () => {\n const findOrder = adminOrders[adminOrders.findIndex(f=> f.id === selectedOrderId) - 1];\n const id = !findOrder ? adminOrders.length && adminOrders[adminOrders.length - 1].id : findOrder.id;\n\n handleOnSelect(id);\n }\n\n const handleOnClickNext = () => {\n const findOrder = adminOrders[adminOrders.findIndex(o=> o.id === selectedOrderId) + 1];\n const id = !findOrder ? adminOrders.length && adminOrders[0].id : findOrder.id;\n\n handleOnSelect(id);\n }\n\n const handleOnSearch = value => {\n handleOnFilterSearch(ADMIN_ORDER_FILTER_TYPE.search, value);\n setSearchId(value);\n }\n\n const handleOnFilterSearch = (type, value) => {\n if(type) {\n let newFilter = { ...filter };\n let updatedFilter = {...filterModel};\n switch (type) {\n case ADMIN_ORDER_FILTER_TYPE.search:\n newFilter.search = value;\n break;\n case ADMIN_ORDER_FILTER_TYPE.dateEnd:\n updatedFilter = onSalesFilterChange('end', 'selected', value);\n break;\n case ADMIN_ORDER_FILTER_TYPE.dateStart:\n updatedFilter = onSalesFilterChange('start', 'selected', value);\n break;\n default:\n break;\n }\n\n setFilter(updatedFilter);\n updateAdminOrders(updatedFilter, newFilter.search);\n } else {\n setFilterType(null);\n }\n }\n\n const getFiltersValue = (filter, additionalOptions = {}) => {\n const updatedFilter = {...initFilter};\n for(const key in filter.options) {\n updatedFilter[key] = filter.options[key].selected;\n }\n return {...updatedFilter, ...additionalOptions}\n }\n const updateAdminOrders = (filter, search) => {\n const updatedFilter = getFiltersValue(filter || filterModel);\n getAdminOrders({\n ...updatedFilter,\n search: search ?? updatedFilter.search ?? searchId,\n start: updatedFilter.start && getISOTime(updatedFilter.start),\n end: updatedFilter.end && getISOTime(updatedFilter.end),\n }).then(orders=> {\n if(orders && orders.items && orders.items[0]) {\n setSelectedOrderId(orders.items[0].id);\n getOrderInfo(orders.items[0].id);\n }\n });\n }\n\n const handleOnClearSearch = type => {\n return new Promise(resolve=> {\n resolve();\n switch (type) {\n case ADMIN_ORDER_FILTER_TYPE.dateStart:\n case ADMIN_ORDER_FILTER_TYPE.dateEnd:\n case ADMIN_ORDER_FILTER_TYPE.search:\n handleOnFilterSearch(type, \"\");\n break;\n default:\n break;\n }\n setFilterType(null);\n });\n }\n\n const handleOnReshipment = () => {\n setReshipmentOpen(true);\n getBusinessMenu(order.business_id);\n }\n\n const handleOnReshipmentClose = () => {\n return new Promise(resolve=> {\n resolve();\n setReshipmentOpen(false);\n });\n }\n\n const handleOnSave = (data) => {\n return new Promise((resolve, reject) => {\n resolve();\n reshipmentOrder(data).then(() => {\n resolve();\n handleOnReshipmentClose();\n }, error => {\n reject(error);\n toast(error);\n });\n })\n }\n\n const handleOnRefund = (id) => {\n setRefundOpen(true);\n setRefundId(id);\n }\n\n const handleOnRefundClose = () => {\n return new Promise(resolve=> {\n resolve();\n setRefundOpen(false);\n });\n }\n\n const handleOnCancelOrder = () => {\n setCancelOrderOpen(true);\n }\n\n const handleOnCancelOrderClose = () => {\n return new Promise(resolve=> {\n resolve();\n setCancelOrderOpen(false);\n });\n }\n\n const handleOnClose = () => {\n setSelectedOrderId(null);\n }\n\n const handleOnSetEditOrder = (orderId) => {\n return new Promise((resolve, reject) => {\n saveOrderToEdit({\n ...editCustomerOrderModel({\n ...order,\n // products: order.items\n }),\n orderInfo: order,\n })\n history.push(BASIC_PATH.editCustomerOrder + \"?orderId=\" + orderId);\n resolve();\n })\n }\n const handleOnRepeatOrder = (orderId) => {\n return new Promise((resolve, reject) => {\n onRepeatOrder({ ...order, saveUserData: true });\n history.push(\"/create-order\");\n resolve();\n })\n }\n\n const handleOnSetType = type => setFilterType(type);\n\n const handleOnSearchId = () => {\n if(order.customer_id) {\n history.push(CUSTOMER_SERVICE_MODEL.customers + \"?userId=\" + order.customer_id);\n }\n }\n\n const getRefundsById = refundId => {\n return (refundId &&\n ((order || {}).refunds || []).filter(r => r.payment_id === refundId)\n ) || [];\n }\n\n const closeRefundLayout = () => {\n setOrderRefundId(null);\n setIsOpenRefund(false);\n }\n\n const onOpenRefunds = id => {\n setOrderRefundId(id);\n setIsOpenRefund(true);\n }\n\n const getMaxAmount = paymentId => {\n return (orderMenuProduct.payments || []).find(p => p.id === paymentId).refund_remainder || order.refund_remainder;\n }\n\n const handleOnCapture = paymentId => {\n setCapturePaymentId(paymentId);\n }\n\n const getPayment = paymentId => {\n return (orderMenuProduct.payments || []).find(p => p.id === paymentId);\n }\n\n const isBonusRefund = () => {\n const payment = orderMenuProduct.payments.find(p => p.id === refundId);\n if(payment) {\n return payment.paymethod_id === PAY_METHOD.cash\n || (payment.paymethod_id === PAY_METHOD.bonus && !payment.reference_Id)\n || (payment.paymethod_id === PAY_METHOD.creditCard && payment.provider === EXTERNAL_COURIER_PROVIDER.external);\n } else {\n return false;\n }\n }\n\n const onSalesFilterChange = (key, prop, value) => {\n const filter = filterModel;\n if(filter.options[key]) {\n filter.options[key][prop] = key === 'start'\n ? (value ? prepareStartDate(value) : null)\n : key === 'end'\n ? (value ? prepareEndDate(value) : null)\n : value;\n }\n setFilterModel(filter);\n return filter;\n }\n\n return (\n
\n
\n
\n setFilterOpen(false)}\n />\n
\n
\n
\n {enableCallCenterMode ? (\n
history.push(\"/create-order\")}>\n \n
\n ) :
}\n \n

{t(\"admin-orders.ADMIN_ORDERS_ITEMS_LABEL\")}

\n setFilterOpen(true)}/>\n
\n
\n
{adminOrders.length}
\n {adminOrdersLoading && (\n
\n
\n
\n )}\n
\n
\n \n \n
\n\n
\n {adminOrders && !!adminOrders.length && (\n \n {({ height, width }) => {\n return (\n {\n const adminOrder = adminOrders[index];\n return (\n
\n \n
\n )\n }}\n rowCount={adminOrders.length}\n overscanRowCount={3}\n />\n );\n }}\n
\n )}\n
\n
\n {selectedOrderId && order && (\n \n )}\n {(!adminOrders || !adminOrders.length) && (\n
\n {t(\"admin-orders.ADMIN_ORDERS_EMPTY_ITEMS_LABEL\")}\n
\n )}\n
\n {reshipmentOpen && (\n \n )}\n {refundOpen && (\n \n )}\n {cancelOrderOpen && (\n \n )}\n {isOpenRefund && (\n \n )}\n {!!capturePaymentId && (\n setCapturePaymentId(null)} payment={getPayment(capturePaymentId)}/>\n )}\n
\n
\n )\n}\n\nconst mapStateToProps = state => {\n return {\n adminOrders: (state.order.data.adminOrders && state.order.data.adminOrders.items) || [],\n adminOrdersLoading: state.order.data.adminOrdersLoading,\n enableCallCenterMode: state.restaurant.data.configuration && state.restaurant.data.configuration.enableCallCenterMode,\n territories: state.restaurant.data.territories,\n filter: state.order.data.filter,\n selectedOrderId: state.order.data.selectedOrderId,\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n setSelectedOrderId: data=> dispatch(setAdminOrderSelectedOrderId(data)),\n getAdminOrders: data=> dispatch(createAction(ADMIN_ORDER_GET, data)),\n getGiftCardInfo: ()=> dispatch(createAction(GIFT_CARD_GET)),\n getOrderInfo: data=> dispatch(actionAdminOrderGetOrderInfo(data)),\n reshipmentOrder: data=> dispatch(createAction(ADMIN_ORDER_RESHIPMENT, data)),\n getBusinessMenu: data => dispatch(createAction(BUSINESS_MENU_GET, data)),\n setFilter: data => dispatch(setFilterAdminOrders(data)),\n saveOrderToEdit: data => dispatch(resetCustomerOrderEditInfo(data)),\n onRepeatOrder: data => dispatch(createAction(REPEAT_ORDER, data)),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(CustomerServiceOrders));\n","import React, { useState } from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getDefaultReviewsFilter, DEFAULT_PERIOD_STATE } from \"../../../utils/constants\";\nimport { ADMIN_ORDER_FILTER_TYPE, PERIOD_TYPE, getPeriodTypeTranslate } from \"../../../utils/enums\";\nimport { getPeriodByType, prepareEndDate } from \"../../../utils/convertTime\";\n\nimport {AdminOrderDateSearchFilter} from \"../AdminOrderDateSearchFilter/index.js\";\n\nconst CustomerReviewSearchPeriod = ({ filter, onSetFilter }) => {\n const [filterStart, setFilterStart] = useState(false);\n const [filterEnd, setFilterEnd] = useState(false);\n\n const handleOnSelectPeriod = type => {\n const newValue = !filter.periodFilter[type];\n onSetFilter(newValue \n ? { \n ...filter, \n ...getPeriodByType(type),\n periodFilter: type\n ? { ...DEFAULT_PERIOD_STATE, [type]: newValue }\n : DEFAULT_PERIOD_STATE\n } \n : { ...getDefaultReviewsFilter(), rating: filter.rating, deliveryRating: filter.deliveryRating }\n );\n }\n\n const handleOnSelectToday = () => {\n handleOnSelectPeriod(PERIOD_TYPE.today);\n }\n\n const handleOnSelectYesterday = () => {\n handleOnSelectPeriod(PERIOD_TYPE.yesterday);\n }\n\n const handleOnSelectWeek = () => {\n handleOnSelectPeriod(PERIOD_TYPE.week);\n }\n\n const handleOnSelectMonth = () => {\n handleOnSelectPeriod(PERIOD_TYPE.month);\n }\n\n const handleOnSelectPreviousMonth = () => {\n handleOnSelectPeriod(PERIOD_TYPE.prevMonth);\n }\n\n const handleOnSelectYear = () => {\n handleOnSelectPeriod(PERIOD_TYPE.year);\n }\n\n const handleOnFilterStart = () => {\n if(!filterStart) setFilterStart(true);\n }\n\n const handleOnFilterEnd = () => {\n if(!filterEnd) setFilterEnd(true);\n }\n \n const handleOnFilterDateChange = (type, value) => {\n switch (type) {\n case ADMIN_ORDER_FILTER_TYPE.dateStart:\n onSetFilter({\n ...filter, \n start: value,\n periodFilter: DEFAULT_PERIOD_STATE\n });\n setFilterStart(false);\n break;\n case ADMIN_ORDER_FILTER_TYPE.dateEnd:\n onSetFilter({ \n ...filter, \n end: prepareEndDate(value),\n periodFilter: DEFAULT_PERIOD_STATE\n });\n setFilterEnd(false);\n break;\n default:\n setFilterStart(false);\n setFilterEnd(false);\n break;\n }\n }\n\n const handleOnClearStart = () => {\n return new Promise(resolve=> {\n onSetFilter({ ...filter, start: null });\n resolve();\n });\n }\n\n const handleOnClearEnd = () => {\n return new Promise(resolve=> {\n onSetFilter({ ...filter, end: null });\n resolve();\n });\n }\n \n return (\n
\n
\n \n \n
\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.today)}\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.yesterday)}\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.week)}\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.month)}\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.prevMonth)}\n
\n
\n {getPeriodTypeTranslate(PERIOD_TYPE.year)}\n
\n
\n
\n );\n}\n\nexport default CustomerReviewSearchPeriod;","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { saveAs } from \"file-saver\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getReviewsReport } from \"../../../api/order-requests\";\nimport { getErrorMessage, requestResultIsOk } from \"../../../utils/request-util\";\nimport { fileFromRequestResult } from \"../../../utils/objects-util\";\n\nimport IconButton from \"../IconButton\";\nimport CustomerReviewSearchPeriod from \"../CustomerReviewSearchPeriod\";\n\nconst CustomerReviewsHeader = ({ t, filter, onSetFilter }) => {\n const handleOnReportSave = () => {\n return new Promise((resolve, reject)=> {\n getReviewsReport(filter).then(requestResult=> {\n if(requestResultIsOk(requestResult)) {\n const dataBlob = fileFromRequestResult(requestResult);\n if (dataBlob && dataBlob.file && dataBlob.fileName) {\n saveAs(new Blob([dataBlob.file], { type: dataBlob.contentType }), dataBlob.fileName);\n resolve();\n } else {\n reject(\"Can't convert file\"); \n }\n } else {\n reject(getErrorMessage(requestResult)); \n }\n }, err=> reject(err));\n });\n }\n\n return (\n
\n
\n {t(\"reviews.LABEL\")}\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n );\n}\n\nexport default withTranslation()(CustomerReviewsHeader);","import React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport RateItem from \"../RateItem\";\n\nconst RateSelect = ({ items, value, onSelect }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n \n const handleOnSelect = val => {\n return new Promise(resolve=> {\n onSelect && onSelect(value === val ? null : val);\n setIsOpen(false);\n resolve();\n });\n }\n\n const handleOnOpen = () => {\n return new Promise(resolve=> {\n setIsOpen(!isOpen);\n resolve();\n });\n }\n\n return (\n
\n
\n {!!value && ()}\n {!value && (t(\"basic.CHOOSE\"))}\n
\n {isOpen && (\n
\n {(items || []).map(item=> (\n
\n \n
\n ))}\n
\n )} \n
\n );\n}\n\nexport default RateSelect;\n","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { rates, RATE_CONTROL_WIDTH_HIDE } from \"../../../utils/constants\";\n\nimport RateItem from \"../RateItem\";\nimport RateSelect from \"../RateSelect\";\n\nconst RateControl = ({ title, value, isShowRateSelect, isInline = false, onClick }) => {\n const handleOnSelect = rate => {\n return new Promise(resolve=> {\n onClick && onClick(value !== rate ? rate : null);\n resolve();\n });\n }\n\n useEffect(()=> {\n\n }, [value, isShowRateSelect])\n\n return (\n
\n
{title}
\n
\n {rates.map(rate=> ())}\n
\n
\n \n
\n
\n );\n}\n\n\nconst mapStateToProps = state => ({\n isShowRateSelect: window.innerWidth <= RATE_CONTROL_WIDTH_HIDE //Fix for update after resize\n});\nexport default connect(mapStateToProps)(RateControl);","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport RateControl from \"../RateControl\";\n\nconst CustomerReviewsFilter = ({ t, filter, onSetFilter, isInline }) => {\n const handleOnDeliveryRateClick = deliveryRating => {\n onSetFilter && onSetFilter({ deliveryRating });\n }\n\n const handleOnProductRateClick = rating => {\n onSetFilter && onSetFilter({ rating });\n }\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n );\n}\n\nexport default withTranslation()(CustomerReviewsFilter);","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { withRouter } from \"react-router\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {CUSTOMER_SERVICE_MODEL} from \"../../../utils/enums\";\nimport { DATE_FORMAT, getFormattedDate } from \"../../../utils/convertTime\";\n\nimport RateItem from \"../RateItem\";\nimport {currentUserIsDepotRole} from \"../../../services/userModel.js\";\n\nconst ReviewItem = ({ t, history, value }) => {\n const handleOnCustomerClick = () => {\n if(value.customer_id && !currentUserIsDepotRole()) {\n history.push(`${CUSTOMER_SERVICE_MODEL.customers}?userId=${value.customer_id}`);\n }\n }\n\n const handleOnOrderClick = () => {\n if(value.id) history.push(`${CUSTOMER_SERVICE_MODEL.order}?searchStr=${value.id}`);\n }\n\n return (\n
\n
\n
\n
\n {value.customer_name}\n
\n
\n {value.depot && (
{value.depot}
)}\n
\n {value.sequence_id}\n
\n
{getFormattedDate(value.creation_datetime, DATE_FORMAT)}
\n
\n
\n
\n
\n {t(\"reviews.REVIEW_FILTER_RATE_PRODUCT\")}\n \n
\n
\n {t(\"reviews.REVIEW_FILTER_RATE_DELIVERY\")}\n \n
\n {value.depot && (
{value.depot}
)}\n
\n {t(\"admin-orders.ORDER_INFO_NUMBER_LABEL\")} {value.sequence_id}\n
\n
{getFormattedDate(value.creation_datetime, DATE_FORMAT)}
\n
\n
\n
\n {value.review}\n
\n
\n );\n}\n\nexport default withRouter(withTranslation()(ReviewItem));","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport ReviewItem from \"../ReviewItem\";\n\nconst CustomerReviewsData = ({ items, isLoading }) => {\n return (\n
\n {isLoading && (\n
\n
\n
\n )}\n {!isLoading && (items || []).map((item, i)=> ())}\n
\n );\n}\n\nconst mapStateToProps = state => ({\n items: state.customer.reviews || []\n});\n\nexport default connect(mapStateToProps)(CustomerReviewsData);","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { CUSTOMER_REVIEWS_GET } from \"../../../store/reducers/customer/customer-actions\";\n\nimport GlobalFilterDataService from \"../../../services/globalFilterDataService\";\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport { GLOBAL_FILTER_TYPE } from \"../../../utils/enums\";\n\nimport CustomerReviewsHeader from \"../CustomerReviewsHeader\";\nimport CustomerReviewsFilter from \"../CustomerReviewsFilter\";\nimport CustomerReviewsData from \"../CustomerReviewsData\";\n\nconst CustomerReviews = ({ getCustomerReviews }) => {\n const [isLoading, setIsLoading] = useState(false);\n const [filter, setFilter] = useState(GlobalFilterDataService.instance.getFilter(GLOBAL_FILTER_TYPE.reviews));\n\n const handleOnSetFilter = val => {\n GlobalFilterDataService.instance.setFilter(GLOBAL_FILTER_TYPE.reviews, { ...filter, ...val })\n setFilter({ ...filter, ...val });\n }\n\n useEffect(()=> {\n setIsLoading(true);\n getCustomerReviews(filter)\n .then(() => setIsLoading(false))\n .catch(() => setIsLoading(false));\n }, [filter, getCustomerReviews]);\n\n return (\n
\n \n \n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n getCustomerReviews: data=> dispatch(createAction(CUSTOMER_REVIEWS_GET, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(CustomerReviews);","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport CustomersListItem from \"../CustomersListItem\";\n\nconst CustomersListItems = ({ customerId, items, onSelect }) => {\n useEffect(()=> {\n if(items.length && !customerId) {\n onSelect && onSelect(items[0].consumerId);\n }\n }, [items, customerId, onSelect]);\n\n return (\n
\n {(items || []).map((item, i)=> (\n \n ))}\n
\n );\n}\n\nconst mapStateToProps = state => ({\n items: state.customer.customers || []\n});\n\nexport default connect(mapStateToProps)(CustomersListItems);","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { CUSTOMERS_GET } from \"../../../store/reducers/customer/customer-actions\";\n\nimport GlobalFilterDataService from \"../../../services/globalFilterDataService\";\n\nimport { GLOBAL_FILTER_TYPE } from \"../../../utils/enums\";\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport CustomersListHeader from \"../CustomersListHeader\";\nimport CustomersListItems from \"../CustomersListItems\";\nimport {useLocation} from \"react-router\";\nimport {getHistoryLocationParams} from \"../../../utils/routesHelper\";\nimport {currentUserIsOnlySupportOperatorRole} from \"../../../services/userModel.js\";\n\nconst CustomersList = ({ customerId, onSelectCustomerId, getCustomers, onClickAdd }) => {\n const location = useLocation();\n const userId = getHistoryLocationParams(location.search).userId;\n\n const [filter, setFilter] = useState(GlobalFilterDataService.instance.getFilter(GLOBAL_FILTER_TYPE.customers));\n\n const handleOnSetFilter = val => {\n setFilter(val);\n }\n\n useEffect(() => {\n if(userId) {\n setFilter({ ...filter, search: userId });\n // onSelectCustomerId(userId);\n }\n // eslint-disable-next-line\n }, [userId]);\n\n useEffect(()=> {\n getCustomers(filter).then((data) => {\n if(userId || data?.[0].consumerId) {\n onSelectCustomerId(userId || data?.[0].consumerId);\n }\n });\n // eslint-disable-next-line\n }, [filter, getCustomers]);\n\n return (\n
\n \n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n getCustomers: data=> dispatch(createAction(CUSTOMERS_GET, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(CustomersList);","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { getFullName } from '../../../services/userModel';\n\nimport {DATE_FORMAT, DATE_FORMAT_DMY_SHORT, getFormattedDate} from '../../../utils/convertTime';\nimport { CUSTOMER_WALLET_OPERATION_TYPE } from '../../../utils/constants';\n\nimport FormInfoDataItem from '../FormInfoDataItem';\nimport CustomerReviewsFilter from '../CustomerReviewsFilter';\nimport moment from \"moment\";\nimport Dropdown from \"../Dropdown/index.js\";\nimport {LOYALTY_LEVEL, WAITER_TYPES} from \"../../../utils/enums.js\";\nimport Waiter from \"../Waiter/Waiter.jsx\";\n\nconst CustomerDataHeader = ({ customerId, onBlockUser, filter, items, onOpenBonus, onSetFilter, isFetching, onUpdateLoyaltyLevel, onUpdateStaffComment }) => {\n const { t } = useTranslation();\n const [value, setValue] = useState(null);\n const [bonusCardsCount, setBonusCardsCount] = useState(0);\n const [staffComment, setStaffComment] = useState('');\n\n useEffect(() => {\n const newValue = customerId && items?.find(f => f.consumerId === customerId);\n if ((!newValue || newValue?.consumerId === value?.consumerId) && isFetching) return;\n setBonusCardsCount(newValue?.wallet?.bonusCards?.length)\n\n if (!newValue?.orders) return;\n\n setValue(newValue);\n setStaffComment(newValue.serviceNotes || '');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [customerId, items, isFetching]);\n\n const handleOpenBonusCardsList = () => {\n onOpenBonus(CUSTOMER_WALLET_OPERATION_TYPE.bonusCardsList);\n };\n\n\n const handleOnChangeStaffComment = ({target}) => setStaffComment(target.value);\n\n return (\n
\n
\n
{getFullName(value)}
\n
\n
\n {(value || {}).phone && (\n \n )}\n \n {value && value.birthdate && (\n \n )}\n {value && (\n ({key: parseInt(key), value}))}\n value={LOYALTY_LEVEL[value.loyaltyLevel ?? 0]}\n onSelect={onUpdateLoyaltyLevel}\n />\n )} isInline={true} />\n )}\n
\n {value?.blockInfo?.isBlocked && (\n
\n \n \n
\n onBlockUser(value)}\n useClass={\"btn confirm\"}\n />\n
\n
\n )}\n
\n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n } isInline={true} />\n
\n onUpdateStaffComment(staffComment)}\n useClass={\"btn confirm\"}\n />\n
\n
\n \n
\n );\n};\n\nconst mapStateToProps = state => ({\n items: state.customer.customers || [],\n});\n\nexport default connect(mapStateToProps)(CustomerDataHeader);\n","import React, {useEffect, useState} from 'react';\nimport {connect} from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport CustomerDataItem from \"../CustomerDataItem\";\nimport preloader from '../../../assets/images/preloader.GIF';\nimport {List} from 'react-virtualized';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport {CUSTOMER_WALLET_OPERATION_TYPE} from \"../../../utils/constants.js\";\nimport {useTranslation} from \"react-i18next\";\n\nconst CustomerDataItems = ({ customerId, items, getCustomerOrders, onOpenBonus, onBlockUser }) => {\n const {t} = useTranslation();\n const [loading, setIsLoading] = useState(false)\n const [value, setValue] = useState(null)\n\n useEffect(() => {\n setIsLoading(true)\n\n const newValue = customerId && items?.find(f => f.consumerId === customerId)\n\n if(!newValue || (newValue?.consumerId === value?.consumerId && (items && value && items.length === value.length))) return setIsLoading(false)\n\n if(!newValue?.orders) return setIsLoading(false)\n\n setIsLoading(false)\n setValue(newValue)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [customerId, items])\n\n\n const rowRenderer = ({ index, key, style }) => {\n if (!value?.orders) return\n const item = value?.orders[index];\n if(!item) return\n\n return (\n
\n \n
\n );\n };\n\n const handleOnAddBonusCard = () => {\n onOpenBonus(CUSTOMER_WALLET_OPERATION_TYPE.bonusCard);\n };\n\n const handleOnWriteOffBonus = () => {\n onOpenBonus(CUSTOMER_WALLET_OPERATION_TYPE.spend);\n };\n\n const handleOnAccrue = () => {\n onOpenBonus(CUSTOMER_WALLET_OPERATION_TYPE.accrue);\n };\n\n\n return (\n
\n {loading &&\n
\n \"preloader\"\n
}\n {!loading &&\n \n {({ height, width }) => {\n return (\n \n );\n }}\n \n }\n
\n {(value?.blockInfo?.isBlocked === false) && (\n \n )}\n \n \n \n
\n
\n );\n}\n\nconst mapStateToProps = state => ({\n items: state.customer.customers || []\n});\n\nexport default connect(mapStateToProps)(CustomerDataItems);\n","import React, { useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport LayoutHeaderControls from \"../LayoutHeaderControls\";\nimport SectionInfoTitle from \"../SectionInfoTitle/index.js\";\n\nconst CustomerBonusesRefund = ({ t, onClose, onSave, writeOff }) => {\n const [data, setData] = useState({ amount: 0, notes: \"\" });\n\n const handleOnSave = () => {\n return new Promise(resolve=> {\n resolve();\n onSave && onSave(data);\n });\n }\n\n const handleOnClose = () => {\n return new Promise(resolve=> {\n resolve();\n onClose && onClose();\n });\n }\n\n const handleOnEdit = (prop, val) => {\n setData({ ...data, [prop]: val });\n }\n\n return (\n
\n
\n \n
\n
{t(\"admin-orders.REFUND_ORDER_AMOUNT_LABEL\")}
\n handleOnEdit(\"amount\", Number(parseFloat(e.target.value).toFixed(2)))} \n />\n
\n
\n
{t(\"admin-orders.REFUND_ORDER_NOTE_LABEL\")}
\n \n
\n
\n \n
\n );\n}\n\nexport default withTranslation()(CustomerBonusesRefund);","import React, { useState } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport LayoutHeaderControls from '../LayoutHeaderControls';\nimport { DATECONTROL_TYPE } from '../../../utils/enums.js';\nimport OrderDatetimeControl from '../OrderDatetimeControl/OrderDatetimeControl.jsx';\nimport moment from \"moment\";\nimport SwitchControl from \"../SwitchControl/index.js\";\nimport SectionInfoTitle from \"../SectionInfoTitle/index.js\";\nimport {SimpleItemSelect} from \"../SectionItemAudienceFilter/audienceFilterHelpers.js\";\nimport i18n from \"i18next\";\nimport {getDeliveryTypes} from \"../../../utils/constants.js\";\n\nconst CustomersBonusCard = ({ t, onClose, onSave }) => {\n const [data, setData] = useState({\n bonus: 0.0,\n name: '',\n checkoutLimitPercent: 10,\n expiration: new Date().setDate(new Date().getDate() + 1), //set current date + 1 day\n multiUse: false,\n });\n\n const handleOnSave = () => {\n const newData = {\n ...data,\n checkoutLimitPercent: data.checkoutLimitPercent / 100,\n expiration: new Date(data.expiration),\n };\n\n return new Promise(resolve => {\n resolve();\n onSave && onSave(newData);\n });\n };\n\n const handleOnClose = () =>\n new Promise(resolve => {\n resolve();\n onClose && onClose();\n });\n\n const handleOnEdit = (prop, val) => {\n setData({ ...data, [prop]: val });\n };\n\n const isDisabledSave = () => {\n return (\n !data?.name\n || !data?.bonus\n || !(data.checkoutLimitPercent > 0 && data.checkoutLimitPercent <= 100)\n || moment(data.expiration).isSameOrBefore()\n )\n }\n\n return (\n
\n
\n \n
\n
\n
{t('admin-orders.CUSTOMER_BONUS_CARD_NAME_LABEL')}
\n
\n handleOnEdit('name', e.target.value)}\n />\n \n
\n\n
\n
{t('admin-orders.CUSTOMER_BONUS_CARD_BONUS_LABEL')}
\n
\n handleOnEdit('bonus', Number(parseFloat(e.target.value).toFixed(2)))}\n />\n \n
\n
\n\n
\n
\n
{t('admin-orders.CUSTOMER_BONUS_CARD_PERCENT_LABEL')}
\n
\n handleOnEdit('checkoutLimitPercent', e.target.value)}\n />\n
%
\n
\n
\n\n
\n
{t('admin-orders.CUSTOMER_BONUS_CARD_EXPIRATION_LABEL')}
\n handleOnEdit('expiration', date)}\n />\n
\n
\n\n
\n
\n
{t('admin-orders.CUSTOMER_BONUS_CARD_MULTI_USE_LABEL')}
\n handleOnEdit('multiUse', value)} />\n
\n\n
\n
{t('settings.campaigns.BONUS_VOUCHER_TITLE')}
\n handleOnEdit('deliveryType', value.key)}\n />\n
\n
\n
\n \n
\n );\n};\n\nexport default withTranslation()(CustomersBonusCard);\n","import React, { useEffect, useState } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { connect } from 'react-redux';\nimport IconButton from '../IconButton/IconButton.jsx';\nimport FormInfoDataItem from '../FormInfoDataItem/index.js';\nimport { getFormattedDate, DATE_TIME_FORMAT } from '../../../utils/convertTime.js';\nimport { getCurrencyIcons } from '../../../utils/enums.js';\nimport ConfirmDialog from \"../ConfirmDialog/ConfirmDialog.jsx\";\nimport {fixedNumber} from \"../../../utils/math-util.js\";\n\nconst BonusCardItem = ({ t, bonusCardsItem, onDelete }) => {\n const { name, bonus, expiration, checkoutLimitPercent, currency } = bonusCardsItem;\n const currencyValue = currency ? currency + ' ' + getCurrencyIcons(currency) : 0;\n const [isShowConfirmDelete, setShowConfirmDelete] = useState(false);\n\n return (\n
\n
\n \n
setShowConfirmDelete(true)}>{t('basic.DELETE_BUTTON')}
\n {isShowConfirmDelete && (\n setShowConfirmDelete(false)}\n />\n )}\n
\n
\n \n \n \n \n
\n
\n );\n};\n\nconst CustomerBonusCardsList = ({ t, onClose, items, customerId, onDelete }) => {\n const [bonusCardsList, setBonusCardsList] = useState([]);\n\n useEffect(() => {\n if (!customerId || !items.length) return;\n\n const user = items.find(user => user.consumerId === customerId);\n setBonusCardsList(user?.wallet?.bonusCards || []);\n }, [items, customerId]);\n\n const handleOnClose = () =>\n new Promise(resolve => {\n resolve();\n onClose && onClose();\n });\n\n return (\n <>\n
\n \n
\n
\n {!!bonusCardsList?.length &&\n bonusCardsList.map(card => onDelete(card.id)} />)}\n
\n \n );\n};\n\nconst mapStateToProps = state => ({\n items: state.customer.customers || [],\n});\n\nexport default connect(mapStateToProps)(withTranslation()(CustomerBonusCardsList));\n","import React, { useState } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport LayoutHeaderControls from '../LayoutHeaderControls';\nimport SectionInfoTitle from \"../SectionInfoTitle/index.js\";\n\nconst CustomersBlockUser = ({ t, onClose, onSave }) => {\n const [data, setData] = useState({\n notes: '',\n });\n\n const handleOnSave = () => {\n return new Promise(resolve => {\n resolve();\n onSave && onSave(data.notes);\n });\n };\n\n const handleOnClose = () =>\n new Promise(resolve => {\n resolve();\n onClose && onClose();\n });\n\n const handleOnEdit = (prop, val) => {\n setData({ ...data, [prop]: val });\n };\n\n const isDisabledSave = () => {\n return (\n !data?.notes?.length\n )\n }\n\n return (\n
\n
\n \n
\n
\n
{t('admin-orders.BLOCK_NOTES')}
\n
\n handleOnEdit('notes', e.target.value)}\n />\n \n
\n
\n
\n \n
\n );\n};\n\nexport default withTranslation()(CustomersBlockUser);\n","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n CUSTOMER_ADD_BONUS_CARD, CUSTOMER_BLOCK_USER, CUSTOMER_BLOCK_USER_STATUS, CUSTOMER_DELETE_VOUCHER,\n CUSTOMER_ORDERS_GET, CUSTOMER_UPDATE_COMMENT, CUSTOMER_UPDATE_LOYALTY_LEVEL,\n CUSTOMER_WALLET_INFO_GET,\n CUSTOMER_WALLET_OPERATION,\n} from '../../../store/reducers/customer/customer-actions';\n\nimport { createAction } from '../../../utils/sagaHelper';\n\nimport CustomerDataHeader from '../CustomerDataHeader';\nimport CustomerDataItems from '../CustomerDataItems';\nimport CustomerBonusesRefund from '../CustomerBonusesRefund';\nimport CustomersBonusCard from '../CustomersBonusCard/index.js';\nimport { CUSTOMER_WALLET_OPERATION_TYPE } from '../../../utils/constants.js';\nimport CustomerBonusCardsList from '../CustomerBonusCardsList/index.js';\nimport CustomersBlockUser from \"../CustomerBlockUser/index.js\";\n\nconst CustomersData = ({ customerId, getCustomerOrders, onChangeComment, getCustomerWalletInfo, getCustomerBlockUserStatus, customerWalletOperation, onDeleteVoucher, customerAddBonusCard, customerUpdateLoyaltyLevel, customerBlockUser }) => {\n const [filter, setFilter] = useState({ rating: null, deliveryRating: null });\n const [popupData, setPopupData] = useState({ type: null, isOpen: false });\n const [bonusCards, setBonusCards] = useState([]);\n const [isFetching, setIsFetching] = useState(false);\n\n const handleOnSetFilter = val => {\n setFilter({ ...filter, ...val });\n };\n\n const handleOnOpenBonus = type => {\n setPopupData({ type, isOpen: true });\n };\n\n const handleOnBonusClose = () => {\n setPopupData({ type: null, isOpen: false });\n };\n\n const onDelete = (cardId) => {\n return onDeleteVoucher({ cardId, customerId });\n }\n\n const handleOnBonusSave = data => {\n if (isFetching) {\n return;\n }\n setIsFetching(true);\n customerWalletOperation({ type: popupData.type, customerId, data }).then(() => {\n handleOnBonusClose();\n getCustomerWalletInfo({ customerId });\n setIsFetching(false);\n }).catch(e => setIsFetching(false));\n };\n\n const handleOnBonusCardSave = data => {\n if (isFetching) {\n return;\n }\n setIsFetching(true);\n customerAddBonusCard({ customerId, data }).then(() => {\n handleOnBonusClose();\n getCustomerWalletInfo({ customerId });\n setIsFetching(false);\n }).catch(e => setIsFetching(false));\n }\n\n const handleOnUpdateLoyaltyLevel = (data) => {\n customerUpdateLoyaltyLevel({ customerId, loyaltyLevel: data.key });\n }\n\n const handleOnBlockUser = (user) => {\n if(user?.blockInfo?.isBlocked) {\n customerBlockUser({customerId, isBlocked: user?.blockInfo?.isBlocked});\n } else {\n setPopupData({ type: CUSTOMER_WALLET_OPERATION_TYPE.block, isOpen: true });\n }\n }\n\n const handleOnUpdateMessage = (notes) => {\n onChangeComment({ customerId, notes });\n }\n\n const handleOnSaveBlockUser = (notes) => {\n customerBlockUser({customerId, notes, isBlocked: false});\n setPopupData({type: null, isOpen: false });\n }\n\n useEffect(() => {\n setIsFetching(true);\n getCustomerOrders({ ...filter, customerId }).then(() => {\n setIsFetching(false);\n });\n }, [customerId, filter, getCustomerOrders, ]);\n\n useEffect(() => {\n getCustomerWalletInfo({ customerId }).then(data => {\n setBonusCards(data?.bonusCards || [])\n });\n getCustomerBlockUserStatus({ customerId });\n }, [customerId, isFetching, getCustomerWalletInfo, getCustomerBlockUserStatus]);\n\n const getPageComponent = () => {\n switch (popupData.type) {\n case CUSTOMER_WALLET_OPERATION_TYPE.bonusCard:\n return ;\n case CUSTOMER_WALLET_OPERATION_TYPE.bonusCardsList:\n return \n case CUSTOMER_WALLET_OPERATION_TYPE.block:\n return setPopupData({type: null, isOpen: false})} onSave={handleOnSaveBlockUser} />;\n default:\n return ;\n }\n };\n\n return (\n
\n {customerId && (\n \n )}\n {isFetching && (\n
\n
\n
\n )}\n {customerId && }\n
\n {popupData.isOpen && getPageComponent()}\n
\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n getCustomerOrders: data => dispatch(createAction(CUSTOMER_ORDERS_GET, data)),\n getCustomerWalletInfo: data => dispatch(createAction(CUSTOMER_WALLET_INFO_GET, data)),\n getCustomerBlockUserStatus: data => dispatch(createAction(CUSTOMER_BLOCK_USER_STATUS, data)),\n customerWalletOperation: data => dispatch(createAction(CUSTOMER_WALLET_OPERATION, data)),\n customerAddBonusCard: data => dispatch(createAction(CUSTOMER_ADD_BONUS_CARD, data)),\n customerUpdateLoyaltyLevel: data => dispatch(createAction(CUSTOMER_UPDATE_LOYALTY_LEVEL, data)),\n customerBlockUser: data => dispatch(createAction(CUSTOMER_BLOCK_USER, data)),\n onChangeComment: data => dispatch(createAction(CUSTOMER_UPDATE_COMMENT, data)),\n onDeleteVoucher: data => dispatch(createAction(CUSTOMER_DELETE_VOUCHER, data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(CustomersData);\n","import classNames from \"classnames\";\nimport {Button} from \"../Waiter/Button.jsx\";\nimport DatePicker from \"../DatePicker/DatePicker.jsx\";\nimport {DATE_FORMAT} from \"../../../utils/convertTime.js\";\nimport Dropdown from \"../Dropdown/index.js\";\nimport {getGender, getGenders, TYPE_PATTERN} from \"../../../utils/enums.js\";\nimport React, {useState} from \"react\";\nimport {createAction} from \"../../../utils/sagaHelper.js\";\nimport {\n CHECK_USER_BY_PHONE,\n CREATE_CONSUMER_USER\n} from \"../../../store/reducers/editCustomerOrder/editCustomerOrder-action.js\";\nimport {useDispatch} from \"react-redux\";\nimport {useTranslation} from \"react-i18next\";\nimport './index.scss';\nimport {toast} from \"react-toastify\";\nimport {getPattern} from \"../../../utils/objects-util.js\";\n\nconst initUserData = {\n phone: '',\n firstName: '',\n lastName: '',\n email: '',\n gender: '',\n birth: '',\n language: '',\n termsAndConditions: false,\n marketingContent: false,\n id: '',\n}\n\nconst AddNewCustomerForm = ({onCreateUser}) => {\n const dispatch = useDispatch();\n const {t} = useTranslation();\n const [openUserForm, setOpenUserForm] = useState(false);\n const [userData, setUserData] = useState({...initUserData});\n\n const handleOnEdit = (key, value) => {\n setUserData({...userData, [key]: value});\n }\n\n const checkPhone = async () => {\n try {\n const users = await dispatch(createAction(CHECK_USER_BY_PHONE, userData.phone.replace(/[\\s()-]/g, '')));\n if(!users.length) {\n setOpenUserForm(true);\n return;\n }\n toast.info(t(\"edit-customer-order.aboutClient.USER_EXIST\"));\n } catch (e) {\n toast.error(\"Error\");\n }\n }\n\n const createUser = async () => {\n try {\n const user = await dispatch(createAction(CREATE_CONSUMER_USER, userData));\n onCreateUser({\n phone: user.phone,\n id: user.consumerId,\n lastName: user.lastName,\n firstName: user.firstName,\n email: user.email,\n gender: user.gender,\n birth: user.birthdate,\n serviceNotes: user.serviceNotes,\n });\n setOpenUserForm(false);\n setUserData({...initUserData});\n } catch (e) {\n toast.error(\"Error\");\n }\n }\n\n const onClear = () => {\n setUserData({...initUserData, phone: userData.phone});\n setOpenUserForm(false);\n }\n\n const isEmailWarning = () => {\n if(!userData.email) {\n return false;\n }\n return !(new RegExp(getPattern(TYPE_PATTERN.email)).test(userData.email));\n }\n\n const isDisableCreate = () => {\n return !userData.lastName.trim().length || !userData.firstName.trim().length || !userData.termsAndConditions || isEmailWarning();\n }\n\n return (\n
\n
\n
\n
\n
{t('edit-customer-order.aboutClient.PHONE')}
\n
\n handleOnEdit('phone', e.target.value)}\n />\n \n
\n\n
\n {!openUserForm && (\n
\n
\n\n {openUserForm && (\n <>\n
\n
\n
{t('edit-customer-order.aboutClient.FIRST_NAME')}
\n
\n handleOnEdit('firstName', e.target.value)}\n />\n \n
\n\n
\n
{t('edit-customer-order.aboutClient.LAST_NAME')}
\n
\n handleOnEdit('lastName', e.target.value)}\n />\n \n
\n
\n\n
\n
\n
{t('edit-customer-order.aboutClient.EMAIL')}
\n
\n handleOnEdit('email', e.target.value)}\n />\n \n
\n\n
\n
{t('edit-customer-order.aboutClient.DATE_OF_BIRTH')}
\n
\n handleOnEdit('birth', date)}\n />\n \n
\n
\n\n
\n
\n
{t('edit-customer-order.aboutClient.GENDER')}
\n
\n handleOnEdit('gender', v.key)}\n />\n \n
\n\n
\n\n
\n
\n\n
\n
\n
handleOnEdit('termsAndConditions', !userData.termsAndConditions)}>\n {t('edit-customer-order.aboutClient.TERMS')}\n
\n {userData.termsAndConditions && ()}\n
\n
\n
\n\n
\n
handleOnEdit('marketingContent', !userData.marketingContent)}>\n {t('edit-customer-order.aboutClient.MARKETING')}\n
\n {userData.marketingContent && ()}\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n \n )}\n
\n
\n )\n}\n\nexport default AddNewCustomerForm;","import React, { useState } from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport CustomersList from \"../CustomersList\";\nimport CustomersData from \"../CustomersData\";\nimport AddNewCustomerForm from '../AddNewCustomerFofm/AddNewCustomerFofm.jsx';\nimport {useHistory} from \"react-router\";\nimport IconButton from \"../IconButton/index.js\";\nimport {CUSTOMER_SERVICE_MODEL} from \"../../../utils/enums.js\";\n\nconst Customers = () => {\n const history = useHistory();\n const [customerId, setCustomerId] = useState(null);\n const [isAddOpen, setIsAddOpen] = useState(false);\n\n const handleOnSelectCustomerId = val => {\n setCustomerId(val);\n }\n\n const onCreateUser = (user) => {\n setIsAddOpen(false);\n setCustomerId(user.id);\n\n history.push(CUSTOMER_SERVICE_MODEL.customers + '?userId=' + user.id);\n }\n\n return (\n
\n setIsAddOpen(true)} customerId={customerId} onSelectCustomerId={handleOnSelectCustomerId} />\n \n\n
\n setIsAddOpen(false)} />\n \n
\n
\n );\n}\n\nexport default Customers;","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./style.scss\";\nimport {SALES_TYPES} from \"../../../utils/enums\";\nimport {useTranslation} from \"react-i18next\";\nimport IconButton from \"../IconButton\";\n\nconst CustomerSalesTopTenHeader = ({ activeTab, setActiveTab, isDesc }) => {\n const {t} = useTranslation();\n return (\n \n \n {t(\"sales.TOP_10_ITEMS\")}\n {false && ( setActiveTab(SALES_TYPES.items)}\n className={classNames(\"tabItem\", {active: activeTab === SALES_TYPES.items})}>\n {activeTab === SALES_TYPES.items && (\n )}\n {t(\"sales.ITEM\")}\n )}\n setActiveTab(SALES_TYPES.source)} className={classNames(\"tabItem\", { active: activeTab === SALES_TYPES.source })}>\n
\n {activeTab === SALES_TYPES.source && ()}\n {t(\"sales.SOURCE\")}\n
\n \n setActiveTab(SALES_TYPES.quantity)} className={classNames(\"tabItem\", { active: activeTab === SALES_TYPES.quantity })}>\n
\n {activeTab === SALES_TYPES.quantity && ()}\n {t(\"sales.QUANTITY\")}\n
\n \n setActiveTab(SALES_TYPES.income)} className={classNames(\"tabItem\", { active: activeTab === SALES_TYPES.income })}>\n
\n {activeTab === SALES_TYPES.income && ()}\n {t(\"sales.INCOME\")}\n
\n \n \n \n )\n};\n\nexport default CustomerSalesTopTenHeader;","import React from \"react\";\nimport \"./style.scss\";\nimport {getDepotNameByBusinessId, getDepotNameById} from \"../../../services/restaurant\";\nimport {getOrderSource} from \"../../../utils/order.js\";\nimport {fixedNumber} from \"../../../utils/math-util.js\";\n\nconst CustomerSalesTopTenList = ({ statistics, menu }) => {\n const getName = (s) => {\n if(s.name) {\n return s.name;\n }\n if(menu) {\n const find = menu && menu.flatMap(item => item.items.flatMap(el => el.items)).find(el => el.id === s.id);\n return (find ? find.name : getDepotNameByBusinessId(s.id)) || getDepotNameById(s.depot_id);\n }\n\n return getDepotNameByBusinessId(s.id) || getDepotNameById(s.depot_id);\n }\n return (\n \n {statistics.map(s => (\n \n \n
{getName(s)}
\n \n {false && (
{s.items.toFixed(2)}
)}\n {getOrderSource(s.order_source, s.order_source_id)}\n {fixedNumber(s.count, 2)}\n {fixedNumber(s.total, 2)}\n \n ))}\n \n )\n};\n\nexport default CustomerSalesTopTenList;","import React, {useState} from \"react\";\nimport \"./style.scss\";\nimport CustomerSalesTopTenHeader from \"../CustomerSalesTopTenHeader\";\nimport {SALES_TYPES} from \"../../../utils/enums\";\nimport CustomerSalesTopTenList from \"../CustomerSalesTopTenList\";\nimport {sortByPropNumber} from \"../../../services/filter\";\n\nconst CustomerSalesTopTen = ({ statistics, menu }) => {\n const [activeTab, setActiveTab] = useState(SALES_TYPES.items);\n const [isDesc, setIsDesc] = useState(true);\n\n const handleOnSetTab = (tab) => {\n if(tab === activeTab) {\n setIsDesc(!isDesc);\n } else {\n setActiveTab(tab);\n setIsDesc(true);\n }\n }\n\n const getSortedData = () => {\n const filterProp = activeTab === SALES_TYPES.quantity\n ? \"count\"\n : activeTab === SALES_TYPES.income\n ? \"total\"\n : activeTab === SALES_TYPES.source\n ? \"order_source\"\n : null;\n return sortByPropNumber(statistics || [], filterProp, isDesc);\n }\n\n return (\n
\n \n \n \n
\n
\n )\n};\n\nexport default CustomerSalesTopTen;","import React, {useState} from \"react\";\nimport \"./style.scss\";\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton\";\nimport {useSelector} from \"react-redux\";\nimport {getMenuTemplates, getRestaurantDepots} from \"../../../store/selectors\";\nimport {isRTL} from \"../../../services/userModel\";\nimport {SALES_TYPE, defaultCustomerServiceSalesItem} from \"../../../utils/constants\";\nimport {useTranslation} from \"react-i18next\";\n\nconst TAB_SIZE = 10;\n\nconst getTabStyle = (tabNest) => {\n const margin = TAB_SIZE * tabNest + \"px\";\n const style = {\n margin: isRTL() ? `0 ${margin} 0 0` : `0 0 0 ${margin}`\n }\n return style;\n}\n\nconst CustomerSalesMenuList = ({ filterString, onSelect, menu, menus }) => {\n const {t} = useTranslation();\n const [isOpenRoot, setIsOpenRoot] = useState(true);\n const [selectedIds, setSelectedIds] = useState([{ id: \"ROOT\" }]);\n const depots = useSelector(getRestaurantDepots);\n const menuTemplates = useSelector(getMenuTemplates);\n\n const isSelectedId = id => {\n return selectedIds.some(m => m.id === id);\n }\n\n const handleOnClickMarketplace = () => {\n setIsOpenRoot(!isOpenRoot);\n }\n const handleOnSelectMarketplace = () => {\n handleOnSelectId(defaultCustomerServiceSalesItem());\n }\n\n const handleOnSelectDepot = depot => {\n handleOnSelectId({ id: depot.id, type: SALES_TYPE.business, name: depot.name, businessId: depot.businessId });\n }\n\n const handleOnSelectTemplate = template => {\n handleOnSelectId({ id: template.id, type: SALES_TYPE.template, name: template.name, businessId: template.business_id });\n }\n\n const handleOnSelectId = (item) => {\n if(item.type === \"business\") {\n const selected = selectedIds.filter(m => m.type === \"business\");\n if(selected.some(m => m.id === item.id)) {\n const filtered = selected.filter(m => m.id !== item.id);\n if(filtered.length) {\n setSelectedIds(filtered);\n } else {\n setSelectedIds([defaultCustomerServiceSalesItem()]);\n }\n } else {\n setSelectedIds(selected.concat(item));\n }\n } else {\n setSelectedIds([item]);\n }\n onSelect(item);\n }\n\n const handleOnOpenDepot = (depot) => {\n if(!isSelectedId(depot.id)) {\n handleOnSelectId({ id: depot.id, type: SALES_TYPE.business, name: depot.name, businessId: depot.businessId });\n }\n }\n\n const handleOnOpenTemplate = (template) => {\n if(!isSelectedId(template.id)) {\n handleOnSelectId({ id: template.id, type: SALES_TYPE.template, name: template.name, businessId: template.business_id });\n }\n }\n\n const getMenu = (id) => {\n return menus.find(m => m.id === id);\n }\n\n return (\n
\n
\n
\n
\n
{t(\"sales.MARKETPLACE\")}
\n
\n \n
\n\n {isOpenRoot && menuTemplates && menuTemplates\n .filter(template => template.name?.toLowerCase().trim().includes(filterString?.toLowerCase().trim()))\n .map(template =>\n getMenu(template.id)\n ? (\n handleOnSelectTemplate(template)}\n handleOnOpenDepot={() => handleOnOpenTemplate(template)}\n handleOnSelectId={handleOnSelectId}\n menuId={getMenu(template.id)?.id}\n isSelectedId={isSelectedId}\n menu={getMenu(template.id)}\n />\n ) : (\n
\n
\n
handleOnSelectTemplate(template)} className={classNames(\"selectedIcon\", { selected: isSelectedId(template.id) })}/>\n
{template.name}
\n
\n handleOnOpenTemplate(template)} isIcon iconName={\"smallArrow\"}/>\n
\n )\n )}\n\n {isOpenRoot && depots.length && depots\n .filter(depot => !!depot.businessId && depot.name?.toLowerCase()?.trim()?.includes(filterString?.toLowerCase()?.trim()))\n .map(depot => (\n getMenu(depot.id)\n ? (\n handleOnSelectDepot(depot)}\n handleOnOpenDepot={() => handleOnOpenDepot(depot)}\n handleOnSelectId={handleOnSelectId}\n menuId={getMenu(depot.id)?.id}\n isSelectedId={isSelectedId}\n menu={getMenu(depot.id)}\n />\n )\n : (\n
\n
\n
handleOnSelectDepot(depot)} className={classNames(\"selectedIcon\", { square: true, selected: isSelectedId(depot.id) })}/>\n
{depot.name}
\n
\n handleOnOpenDepot(depot)} isIcon iconName={\"smallArrow\"}/>\n
\n )\n\n ))\n }\n
\n );\n}\n\nconst SelectedItem = ({handleOnSelectDepot, square, handleOnOpenDepot, isSelectedId, menu, handleOnSelectId}) => {\n const [isOpen, setIsOpen] = useState(false);\n const handleOnClickOpen = () => {\n setIsOpen(!isOpen);\n handleOnOpenDepot();\n }\n return (\n
\n
\n
\n
\n
{menu && menu.name}
\n
\n \n
\n\n {isOpen && menu && menu.items.map(item => (\n \n ))}\n
\n )\n}\n\nconst ListItem = ({ item, isSelectedId, onSelect }) => {\n const [isOpen, setIsOpen] = useState(false);\n return (\n
\n
\n
\n
onSelect(item)} className={classNames(\"selectedIcon\", { selected: isSelectedId(item.id) })}/>\n
{item.name}
\n
\n setIsOpen(!isOpen)} isIcon iconName={\"smallArrow\"}/>\n
\n\n {isOpen && item.items && item.items.map(item => (\n \n ))}\n
\n\n )\n}\n\nexport default CustomerSalesMenuList;","import React, {useState} from \"react\";\nimport \"./style.scss\";\nimport SearchBox from \"../SearchBox\";\nimport CustomerSalesMenuList from \"../CustomerSalesMenuList\";\nimport {useTranslation} from \"react-i18next\";\n\nconst CustomerSalesMenu = ({ onSelect, menu, menus }) => {\n const {t} = useTranslation();\n const [search, setSearch] = useState(\"\");\n\n return
\n
{t(\"sales.SALES_LIST\")}
\n \n\n \n
\n}\n\nexport default CustomerSalesMenu;","import React from \"react\";\nimport \"./style.scss\";\nimport CustomerReviewSearchPeriod from \"../CustomerReviewSearchPeriod\";\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton/IconButton\";\nimport {getCurrencyIcons} from \"../../../utils/enums\";\nimport FilterTriggerControl from \"../FilterTriggerControl/index.js\";\n\nconst CustomerSalesChartHeader = ({ filter, setFilterOpen, onSetFilter, title, onSave, currency, filterQuantity }) => {\n return (\n
\n
\n {title || \"N/A\"}\n
\n setFilterOpen(true)}/>\n
\n
\n
\n \n\n {false && currency && !!currency.length && (
\n {currency.map(c => (\n
{getCurrencyIcons(c)}
\n ))}\n
)}\n {false && (\n
\n \n
\n )}\n
\n
\n );\n}\n\nexport default CustomerSalesChartHeader;","import React from \"react\";\nimport \"./style.scss\";\nimport classNames from \"classnames\";\nimport {useTranslation} from \"react-i18next\";\n\nconst CustomerSalesChart = ({ events, onClickEvent }) => {\n const {t} = useTranslation();\n return (\n
\n
{t(\"sales.EVENTS\")}:
\n
\n {events.map(item => (\n
onClickEvent(item.id)}>\n {item.selected && (\n
+
\n )}\n {item.name} {item.quantity}\n
\n ))}\n
\n
\n );\n}\n\nexport default CustomerSalesChart;","import React from \"react\";\nimport Chart from \"react-apexcharts\";\n\nconst ApexChart = ({data}) => {\n return \n}\nexport default ApexChart;","import React, {useCallback, useEffect, useState} from \"react\";\nimport \"./style.scss\";\nimport CustomerSalesChartHeader from \"../CustomerSalesChartHeader\";\nimport CustomerSalesEvents from \"../CustomerSalesEvents\";\nimport {\n EVENT_OBJECT,\n getCurrencyIcons, orderChannelNames, PENDING_ORDER_TYPE,\n SALES_TYPES\n} from \"../../../utils/enums\";\nimport classNames from \"classnames\";\nimport {useTranslation} from \"react-i18next\";\nimport ApexChart from \"../ApexChart\";\nimport {getApexCartDefaulOption, getApexPieChartDefaultOption} from \"../../../services/chartModelFactory\";\nimport {getOrderSource} from \"../../../utils/order.js\";\nimport classnames from \"classnames\";\nimport {fixedNumber} from \"../../../utils/math-util.js\";\n\nconst CHART_TYPE = {\n line: 'line',\n pie: 'pie'\n}\n\nconst getDataByOrderSource = (data = []) => {\n const orderSources = data.reduce((acc, cv) => {\n const objBySource = acc.find(p => p.sourceId === cv.order_source_id && p.source === cv.order_source);\n if(objBySource) {\n objBySource.items = objBySource.items.concat(cv);\n } else {\n acc.push({\n sourceId: cv.order_source_id,\n source: cv.order_source,\n items: [cv],\n })\n }\n return acc;\n }, []);\n\n const arrayIds = Array.from(new Set(data.map(item => item.id)));\n\n if(!arrayIds) {\n return orderSources;\n }\n\n return orderSources.map(data => {\n // make every data.items same size\n const copyMap = {};\n data.items.forEach(item => {\n if(copyMap[item.id]) {\n // same values can be duplicated with same id, source and sourceId\n copyMap[item.id] = copyMap[item.id].concat(item);\n } else {\n copyMap[item.id] = [item];\n }\n })\n\n return {\n ...data,\n items: arrayIds.map(id => {\n if(copyMap[id]) {\n return copyMap[id].reduce((acc, cv) => {\n return {\n id,\n total: cv.total + acc.total,\n count: cv.count + acc.count,\n }\n }, {total: 0, count: 0})\n }\n return { id, total: 0, count: 0 };\n })\n }\n });\n}\n\nconst CustomerSalesChart = ({ filter, events, setIsOpenSalesFilter, onSetFilter, title, data, isLoading, filterQuantity }) => {\n const {t} = useTranslation();\n const [activeTab, setActiveTab] = useState(SALES_TYPES.quantity);\n const [chartType, setChartType] = useState(CHART_TYPE.line);\n const [eventData, setEventData] = useState({});\n const [selectedEvents, setSelectedEvents] = useState([]);\n const [currency, setCurrency] = useState([]);\n const [filtersForOrderChannel, setFiltersForOrderChannel] = useState([]);\n\n useEffect(() => {\n const currency = [];\n (data || []).forEach(item => {\n if(!currency.includes(item.currency)) {\n currency.push(item.currency);\n }\n });\n\n setCurrency(currency);\n }, [data]);\n\n const getObjectOfEvents = useCallback(() => {\n const obj = {};\n\n events && events.forEach(item => {\n if(item.objectType) {\n if(obj[item.objectType]) {\n obj[item.objectType].push(item);\n } else {\n obj[item.objectType] = [item];\n }\n }\n });\n\n return obj;\n }, [events]);\n\n useEffect(() => {\n setEventData(getObjectOfEvents);\n }, [events, getObjectOfEvents]);\n\n const getEvents = () => {\n const items = [];\n for(let event in eventData) {\n const isSelected = selectedEvents.includes(event);\n items.push({ name: EVENT_OBJECT[event], quantity: eventData[event].length, selected: isSelected, id: event });\n }\n return items;\n }\n\n const handleOnClickEvent = event => {\n const isEventSelected = selectedEvents.includes(event);\n if(isEventSelected) {\n setSelectedEvents(events => events.filter(ev => ev !== event));\n } else {\n setSelectedEvents(events => [...events, event]);\n }\n }\n\n const handleOnClickSeries = (data) => {\n setFiltersForOrderChannel(data);\n }\n\n const getChartDataOrderChannel = () => {\n const orderSourceMap = {};\n data\n .filter(item => filtersForOrderChannel.length ? filtersForOrderChannel.some(filter => filter.sourceId === item.order_source_id && filter.source === item.order_source) : true)\n .forEach(item => {\n if(orderSourceMap[item.order_channel]) {\n orderSourceMap[item.order_channel].push(item);\n } else {\n orderSourceMap[item.order_channel] = [item];\n }\n })\n const series = [];\n const labels = [];\n Object.entries(orderSourceMap).forEach(([key, value]) => {\n labels.push(orderChannelNames()[key]);\n series.push(value.reduce((acc, cv) => fixedNumber(acc + (activeTab === SALES_TYPES.quantity ? cv.count : cv.total), 2), 0));\n })\n return {\n options: {\n ...getApexPieChartDefaultOption(),\n chart: {\n ...getApexPieChartDefaultOption().chart,\n events: { },\n },\n labels,\n },\n series: series,\n type: 'pie'\n }\n }\n\n const getChartDataDeliveryType = () => {\n const orderSourceMap = {};\n const deliveryLabel = {\n [PENDING_ORDER_TYPE.any]: t(\"dashboard.orders.UNKNOWN_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.delivery]: t(\"dashboard.orders.DELIVERY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.takeAway]: t(\"dashboard.orders.TAKEAWAY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.dinein]: t(\"dashboard.orders.DINEIN_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.virtual]: t(\"dashboard.orders.VIRTUAL_VENUE_ORDERS_TYPE_LABEL\"),\n }\n data\n .filter(item => filtersForOrderChannel.length ? filtersForOrderChannel.some(filter => filter.sourceId === item.order_source_id && filter.source === item.order_source) : true)\n .forEach(item => {\n if(orderSourceMap[item.delivery_type]) {\n orderSourceMap[item.delivery_type].push(item);\n } else {\n orderSourceMap[item.delivery_type] = [item];\n }\n })\n const series = [];\n const labels = [];\n Object.entries(orderSourceMap).forEach(([key, value]) => {\n labels.push(deliveryLabel[key]);\n series.push(value.reduce((acc, cv) => fixedNumber(acc + (activeTab === SALES_TYPES.quantity ? cv.count : cv.total), 2), 0));\n\n })\n return {\n options: {\n ...getApexPieChartDefaultOption(),\n chart: {\n ...getApexPieChartDefaultOption().chart,\n events: { },\n },\n labels,\n },\n series: series,\n type: 'pie'\n }\n }\n\n const getChartData = () => {\n if(CHART_TYPE.line === chartType) {\n const dataBySource = getDataByOrderSource(data);\n const sourceCarts = [];\n dataBySource.forEach(value => {\n sourceCarts.push({\n name: getOrderSource(value.source, value.sourceId),\n data: value.items.map(item => ({\n x: item.id,\n y: activeTab === SALES_TYPES.quantity ? item.count : item.total,\n id: item.id,\n })),\n type: \"line\"\n });\n })\n\n const barChart = [];\n\n const series = [].concat(sourceCarts).concat(barChart);\n return {\n options: {\n ...getApexCartDefaulOption(series.length),\n chart: {\n ...getApexCartDefaulOption(series.length).chart,\n events: {},\n },\n },\n series: series,\n type: 'line'\n }\n }\n const dataBySource = getDataByOrderSource(data);\n const series = dataBySource.map(value => {\n return value.items.reduce((acc, cv) => fixedNumber(acc + (activeTab === SALES_TYPES.quantity ? cv.count : cv.total), 2), 0);\n });\n const labels = dataBySource.map(value => getOrderSource(value.source, value.sourceId));\n return {\n options: {\n ...getApexPieChartDefaultOption(),\n chart: {\n ...getApexPieChartDefaultOption().chart,\n events: {\n dataPointSelection: (a, b, opts) => {\n const selected = opts.selectedDataPoints[0];\n const values = selected.map(index => ({\n sourceId: dataBySource[index].sourceId,\n source: dataBySource[index].source\n }));\n handleOnClickSeries(values);\n },\n }\n },\n labels,\n },\n series: series,\n type: 'pie'\n }\n }\n\n const getTotalValue = (key) => {\n return fixedNumber((data || []).reduce((acc, cv) => acc + (cv[key] || 0), 0), 2);\n }\n\n return (\n
\n {isLoading && (\n
\n
\n
\n )}\n\n \n\n
\n
\n
{t(\"sales.QUANTITY\")}
\n
{getTotalValue(\"count\")}
\n
\n\n
\n
{t(\"sales.INCOME\")}
\n
{getTotalValue(\"total\")} {getCurrencyIcons(currency[0] || \"ILS\")}
\n
\n\n
\n
{t(\"sales.TOTAL_CARD\")}
\n
{getTotalValue(\"total_card\")} {getCurrencyIcons(currency[0] || \"ILS\")}
\n
\n\n
\n
{t(\"sales.TOTAL_CASH\")}
\n
{getTotalValue(\"total_cash\")} {getCurrencyIcons(currency[0] || \"ILS\")}
\n
\n\n
\n
{t(\"sales.TOTAL_PAYMENT_BALANCE\")}
\n
{getTotalValue(\"total_payment_balance\")} {getCurrencyIcons(currency[0] || \"ILS\")}
\n
\n
\n\n
\n
\n
setActiveTab(SALES_TYPES.quantity)} className={classNames(\"tabItem\", { active: activeTab === SALES_TYPES.quantity })}>{t(\"sales.QUANTITY\")}
\n
setActiveTab(SALES_TYPES.income)} className={classNames(\"tabItem\", { active: activeTab === SALES_TYPES.income })}>{t(\"sales.INCOME\")}
\n
\n
\n {t(\"sales.DIAGRAM\")}:\n
setChartType(CHART_TYPE.line)} className={classNames(\"tabItem\", { active: chartType === CHART_TYPE.line })}>{t(\"sales.LINE_CHART\")}
\n
setChartType(CHART_TYPE.pie)} className={classNames(\"tabItem\", { active: chartType === CHART_TYPE.pie })}>{t(\"sales.PIE_CHART\")}
\n
\n
\n\n
\n {chartType === CHART_TYPE.line && (\n \n )}\n\n {chartType === CHART_TYPE.pie && (\n <>\n \n \n \n )}\n
\n {chartType === CHART_TYPE.pie && (\n
\n \n
\n )}\n\n {!!getEvents().length && (\n \n )}\n
\n );\n}\n\nexport default CustomerSalesChart;","import React, {useEffect, useState} from \"react\";\nimport {connect} from 'react-redux'\nimport \"./style.scss\";\nimport CustomerSalesTopTen from \"../CustomerSalesTopTen\";\nimport CustomerSalesMenu from \"../CustomerSalesMenu\";\nimport CustomerSalesChart from \"../CustomerSalesChart\";\nimport GlobalFilterDataService from \"../../../services/globalFilterDataService\";\nimport {GLOBAL_FILTER_TYPE, PERIOD_TYPE} from \"../../../utils/enums\";\nimport {\n SALES_TYPE,\n defaultCustomerServiceSalesItem,\n DEFAULT_PERIOD_STATE,\n getDefaultReviewsFilter\n} from \"../../../utils/constants\";\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport {GET_SALES_STATISTICS, MENU_TEMPLATE_GET} from \"../../../store/reducers/restaurant/restaurant-actions\";\nimport {getMergedBusinessMenuById} from \"../../../api/order-requests\";\nimport {getPeriodByType} from \"../../../utils/convertTime\";\nimport {getFilteredItems, getQuantityFilters, salesFilterModel} from \"../../../services/filter.js\";\nimport classNames from \"classnames\";\nimport OrdersFilter from \"../OrdersFilter/OrdersFilter.jsx\";\n\n\nconst CustomerSales = ({getData}) => {\n const dispatch = useDispatch();\n const [filter, setFilter] = useState(GlobalFilterDataService.instance.getFilter(GLOBAL_FILTER_TYPE.sales));\n const [currentItems, setCurrentItems] = useState([defaultCustomerServiceSalesItem()]);\n const [statisticsDaily, setStatisticsDaily] = useState([]);\n const [statistics, setStatistics] = useState([]);\n // const [events, setEvents] = useState([]);\n const [isLoading, setIsLoading]= useState(false);\n const [menuMap, setMenuMap] = useState({});\n const [salesFilterOptions, setSalesFilterOptions] = useState(salesFilterModel());\n const [isOpenSalesFilter, setIsOpenSalesFilter] = useState(false);\n\n useEffect(() => {\n dispatch(createAction(MENU_TEMPLATE_GET));\n const newValue = !filter.periodFilter[PERIOD_TYPE.today];\n handleOnSetFilter(newValue\n ? {\n ...filter,\n ...getPeriodByType(PERIOD_TYPE.today),\n periodFilter: PERIOD_TYPE.today\n ? { ...DEFAULT_PERIOD_STATE, [PERIOD_TYPE.today]: newValue }\n : DEFAULT_PERIOD_STATE\n }\n : { ...getDefaultReviewsFilter(), rating: filter.rating, deliveryRating: filter.deliveryRating }\n );\n\n // eslint-disable-next-line\n }, [dispatch]);\n\n const handleOnSetFilter = val => {\n const newFilter = { ...filter, ...val }\n GlobalFilterDataService.instance.setFilter(GLOBAL_FILTER_TYPE.sales, newFilter);\n setFilter(newFilter);\n updateStatistics(currentItems, newFilter);\n }\n\n const handleOnSelect = item => {\n let newCurrentItem = null;\n if(item.type === \"business\") {\n let newItem = currentItems.filter(o => o.type === \"business\");\n if(currentItems.some(o => o.id === item.id)) {\n newItem = newItem.filter(o => o.id !== item.id);\n } else {\n newItem = newItem.concat(item);\n }\n newCurrentItem = newItem;\n } else {\n newCurrentItem = [item];\n }\n\n if(!newCurrentItem.length) {\n newCurrentItem = [defaultCustomerServiceSalesItem()];\n }\n\n setCurrentItems(newCurrentItem);\n updateStatistics(newCurrentItem, filter);\n }\n const getMenu = async item => {\n const response = await getMergedBusinessMenuById(item.businessId);\n const menu = response.data;\n if(response.status === 200 && menu) {\n return {\n id: item.id,\n name: item.name || menu.name,\n type: item.type,\n businessId: item.businessId,\n index: 1,\n items: menu.categories.map(cat => ({\n id: cat.id,\n name: cat.name,\n index: 2,\n items: cat.products.map(prod => ({\n id: prod.id,\n name: prod.name,\n type: SALES_TYPE.product,\n index: 3,\n businessId: item.businessId,\n }))\n })).concat((menu.extras || []).map(extra => ({\n id: extra.id,\n name: extra.name,\n index: 2,\n items: (extra.options || []).map(option => ({\n id: option.id,\n name: option.name,\n index: 3,\n businessId: item.businessId,\n items: (option.suboptions || []).map(sub => ({\n id: sub.id,\n name: sub.name,\n type: SALES_TYPE.suboption,\n index: 4,\n businessId: item.businessId,\n }))\n }))\n })))\n }\n }\n return null;\n }\n\n const updateStatistics = async (item, filter) => {\n if(!item) {\n return;\n }\n\n setIsLoading(true);\n setStatistics([]);\n setStatisticsDaily([]);\n // setEvents([]);\n\n const needMenu = item.some(item => item.type === SALES_TYPE.business || item.type === SALES_TYPE.template);\n if(needMenu) {\n const businessToMenu = item.filter(o => !menuMap[o.businessId]);\n const menus = await Promise.allSettled(businessToMenu.map(getMenu));\n const newMenu = {...menuMap};\n menus.forEach(prom => {\n if(prom.status === \"fulfilled\" && prom.value) {\n newMenu[prom.value.businessId] = prom.value;\n }\n })\n setMenuMap(newMenu);\n }\n\n const data = await getData({items: item, filter});\n\n setStatistics(data.statistics);\n setStatisticsDaily(data.statisticsDaily);\n // setEvents(data.events);\n setIsLoading(false);\n }\n\n const getName = () => {\n return currentItems.map(c => c.name).join(', ');\n }\n\n const getCurrentMenu = () => {\n return currentItems.map(item => menuMap[item.id] || menuMap[item.businessId]).filter(Boolean) || [];\n }\n\n const onSalesFilterChange = (key, prop, value) => {\n const filter = salesFilterOptions;\n if(filter.options[key]) {\n filter.options[key][prop] = value;\n setSalesFilterOptions(filter);\n }\n }\n\n const groupStatistics = () => {\n const map = getFilteredItems(statistics || [], salesFilterOptions).reduce((acc, cv) => {\n const key = `${cv.id}-${cv.order_source}`;\n const item = acc[key];\n if(item) {\n return {\n ...acc,\n [key]: {\n ...item,\n count: item.count + cv.count,\n discount: item.count + cv.count,\n items: item.count + cv.count,\n products: item.products + cv.products,\n service: item.service + cv.service,\n tip: item.tip + cv.tip,\n top_up: item.top_up + cv.top_up,\n total: item.total + cv.total,\n total_bit: item.total_bit + cv.total_bit,\n total_card: item.total_card + cv.total_card,\n total_cash: item.total_cash + cv.total_cash,\n total_payment_balance: item.total_payment_balance + cv.total_payment_balance\n },\n }\n } else {\n return {\n ...acc,\n [key]: cv,\n }\n }\n }, {});\n return Object.values(map);\n }\n\n return
\n \n
\n \n
\n setIsOpenSalesFilter(false)}\n />\n
\n
\n \n
\n}\n\nconst mdtp = dispatch => ({\n getData: data => dispatch(createAction(GET_SALES_STATISTICS, data)),\n})\n\nexport default connect(null, mdtp)(CustomerSales);","import React, { useEffect, useState } from 'react';\nimport { chatSource, chatSourceTypes, WAITER_TYPES } from '../../../utils/enums';\nimport './style.scss';\nimport classNames from 'classnames';\nimport { getRelativeTime } from '../../../utils/convertTime';\nimport Waiter from '../Waiter/Waiter';\nimport { useTranslation } from 'react-i18next';\nimport { Avatar } from '../Avatar/Avatar';\nimport {posrUserDataByParticipant} from '../../../api/supportChat-request';\n\nexport const SupportChatDialogItem = ({\n id,\n state,\n source,\n createdAt,\n lastMessage,\n participants,\n subject,\n onPullChat,\n}) => {\n const { t } = useTranslation();\n const [userData, setUserData] = useState(null);\n\n // useEffect(\n // () => {\n // async function getUserData() {\n // const userDataRequest = await getUserDataByParticipantId(participants[0]);\n // if (userDataRequest.data) {\n // setUserData(userDataRequest.data);\n // }\n // }\n // getUserData();\n // },\n // [participants]\n // );\n useEffect(() => {\n async function getUserData() {\n const body = {\n UserId: participants,\n };\n const userDataRequest = await posrUserDataByParticipant(body);\n if (userDataRequest.data) {\n setUserData(userDataRequest.data[0]);\n }\n }\n getUserData();\n }, [participants]);\n\n if (!userData) {\n return null;\n }\n\n return (\n
\n {source && (\n \n {chatSourceTypes[source]}\n
\n )}\n
\n
\n \n
{userData.Name}
\n
\n
{getRelativeTime(createdAt)}
\n
\n
\n
{subject}
\n onPullChat(id)}\n />\n
\n
\n );\n};\n","import React, {useState} from \"react\";\nimport classNames from \"classnames\";\nimport \"./style.scss\";\nimport {SupportChatDialogItem} from \"./SupportChatDialogItem\";\nimport {chatSource} from \"../../../utils/enums\";\nimport {useTranslation} from \"react-i18next\";\n\nexport const SupportChatDialog = ({dialogs, onPullChat}) => {\n const {t} = useTranslation();\n\n const [selectedTypes, setSelectedTypes] = useState({\n [chatSource.consumer]: true,\n [chatSource.courier]: true,\n [chatSource.depot]: true,\n });\n\n const handleOnToggleFilter = filterType => {\n setSelectedTypes({\n ...selectedTypes,\n [filterType]: !selectedTypes[filterType],\n })\n }\n\n const getCountDialogByType = type => {\n return (dialogs || []).filter(d => d.source === type).length;\n }\n\n return (\n
\n
\n handleOnToggleFilter(chatSource.courier)}\n className={classNames(\"filterItem\", {active: selectedTypes[chatSource.courier]})}\n >\n {getCountDialogByType(chatSource.courier)}\n {t(\"support-chat.chatSource.COURIER\")}\n
\n handleOnToggleFilter(chatSource.depot)}\n className={classNames(\"filterItem\", {active: selectedTypes[chatSource.depot]})}\n >\n {getCountDialogByType(chatSource.depot)}\n {t(\"support-chat.chatSource.BUSINESS\")}\n
\n handleOnToggleFilter(chatSource.consumer)}\n className={classNames(\"filterItem\", {active: selectedTypes[chatSource.consumer]})}\n >\n {getCountDialogByType(chatSource.consumer)}\n {t(\"support-chat.chatSource.CONSUMER\")}\n
\n
\n\n
\n {dialogs && dialogs\n .filter(d => selectedTypes[d.source])\n .map(d => (\n \n ))}\n
\n
\n )\n}","import React from \"react\";\nimport \"./style.scss\";\nimport {Avatar} from \"../Avatar/Avatar\";\nimport IconButton from \"../IconButton\";\n\nexport const UserItem = ({avatar, name, hasButton, onClick}) => {\n return (\n
\n
\n \n {name}\n
\n {hasButton && (\n \n )}\n
\n )\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport \"./style.scss\";\nimport classnames from \"classnames\";\nimport {useSelector} from \"react-redux\";\nimport {getRestaurant} from \"../../../store/selectors\";\nimport {UserItem} from \"./UserItem\";\nimport IconButton from \"../IconButton\";\nimport {useTranslation} from \"react-i18next\";\nimport {getUsersFilteredByDepotId} from \"../../../services/filter\";\n\nconst TAB_TYPES = {\n courier: \"courier\",\n business: \"business\",\n consumers: \"consumers\",\n};\n\nexport const SelectorUsersForChat = ({\n disableCourier,\n disableBusiness,\n disableConsumers,\n selectedUsersList,\n canChooseOneUser,\n onChange,\n}) => {\n const {t} = useTranslation();\n const {depots} = useSelector(getRestaurant);\n const couriers = useSelector(state => getUsersFilteredByDepotId(state.userModel.data));\n\n const [search, setSearch] = useState(\"\");\n const [selectedTab, setSelectedTab] = useState(TAB_TYPES.courier);\n const [selectedUsers, setSelectedUsers] = useState(selectedUsersList || []);\n\n useEffect(() => {\n if(disableCourier) {\n setSelectedTab(TAB_TYPES.business);\n } else if(disableBusiness) {\n setSelectedTab(TAB_TYPES.consumers);\n } else if (disableConsumers) {\n setSelectedTab(TAB_TYPES.courier);\n }\n }, [disableConsumers, disableCourier, disableBusiness])\n\n const saveSelectedUser = (user, saveAs, saveFrom) => {\n const selectedUser = { [saveAs]: user[saveFrom], name: user.name || user.firstName || user.userName || \"\" };\n if(canChooseOneUser) {\n setSelectedUsers([selectedUser]);\n } else {\n const find = selectedUsers.find(user => user[saveAs]);\n if(!!find) {\n setSelectedUsers(selectedUsers.map(el => el[saveAs] ? selectedUser : el))\n } else {\n setSelectedUsers([...selectedUsers, selectedUser]);\n }\n }\n }\n const updateUsers = useCallback(() => {\n onChange(selectedUsers);\n }, [onChange, selectedUsers]);\n useEffect(() => {\n updateUsers();\n }, [selectedUsers, updateUsers]);\n\n\n const isSelectedUser = (user, checkFrom, idKey = \"id\") => {\n return selectedUsers.some(u => u[checkFrom] === user[idKey]);\n }\n\n const removeUser = (user) => {\n let key = \"depotId\";\n if(user.courierId) {\n key = \"courierId\";\n }\n setSelectedUsers(selectedUsers.filter(u => u[key] !== (user.courierId || user.depotId)));\n }\n\n const filterBySearch = (user) => {\n return (user.name || user.firstName || user.userName || \"\")?.toLowerCase()?.includes(search?.toLowerCase().trim());\n }\n\n return (\n
\n {!!selectedUsers.length && (\n
\n {selectedUsers.map(user => (\n
\n removeUser(user)}/>\n {user.name}\n
\n ))}\n
\n )}\n\n
\n
!disableCourier && setSelectedTab(TAB_TYPES.courier)}\n >{t(\"support-chat.chatSource.COURIER\")}
\n
!disableBusiness && setSelectedTab(TAB_TYPES.business)}\n >{t(\"support-chat.chatSource.BUSINESS\")}
\n
!disableConsumers && setSelectedTab(TAB_TYPES.consumers)}\n >{t(\"support-chat.chatSource.CONSUMER\")}
\n
\n\n setSearch(target.value)}\n />\n\n
\n {selectedTab === TAB_TYPES.business && (\n depots && !!depots.filter(filterBySearch).length ? depots.filter(filterBySearch).map(depot =>\n saveSelectedUser(depot, \"depotId\", \"id\")}\n />\n ) :
{t(\"support-chat.LIST_IS_EMPTY\")}
\n )}\n\n {selectedTab === TAB_TYPES.consumers && (\n
{t(\"support-chat.LIST_IS_EMPTY\")}
\n )}\n\n {selectedTab === TAB_TYPES.courier && (\n couriers && couriers.filter(filterBySearch).length ? couriers.filter(filterBySearch).map(courier => (\n saveSelectedUser(courier, \"courierId\", \"userId\")}\n />\n ))\n :
{t(\"support-chat.LIST_IS_EMPTY\")}
\n )}\n
\n
\n )\n}","import React, {useState} from \"react\";\nimport \"./style.scss\";\nimport {SelectorUsersForChat} from \"../SelectorUsersForChat/SelectorUsersForChat\";\nimport classnames from \"classnames\";\nimport {useTranslation} from \"react-i18next\";\n\nexport const CreateNewDialog = ({onClose, onSave, hideSubject, confirmLabel, title, canChooseOneUser}) => {\n const {t} = useTranslation();\n const [subject, setSubject] = useState(\"\");\n const [users, setUsers] = useState([]);\n\n const handleOnSave = () => {\n if(!!users.length) {\n onSave({subject, users});\n }\n }\n\n return (\n
\n
\n {title}\n {!hideSubject && (\n setSubject(target.value)}\n />\n )}\n \n
\n\n
\n
{t(\"support-chat.createNew.CLOSE\")}
\n {confirmLabel}
\n
\n
\n )\n}","import React, {useEffect, useRef, useState} from 'react';\nimport {Tab, TabList, TabPanel, Tabs} from 'react-tabs';\nimport './style.scss';\nimport {SupportChatDialog} from '../SupportChatDialog/SupportChatDialog';\nimport {useDispatch, useSelector} from 'react-redux';\nimport Waiter from '../Waiter/Waiter';\nimport {filterStateChat, getFilterStateChat, WAITER_TYPES} from '../../../utils/enums';\nimport classNames from 'classnames';\nimport {useTranslation} from 'react-i18next';\nimport {\n AUTH_SUPPORT_CHAT,\n markResolvedSupportChat,\n pullSupportChat\n} from '../../../store/reducers/supportChat/supprtChat-actions';\nimport IconButton from '../IconButton';\nimport {CreateNewDialog} from '../CreateNewDialog/CreateNewDialog';\nimport {addUserToChat, startChat} from '../../../api/supportChat-request';\nimport {getErrorMessage} from '../../../utils/request-util';\nimport {isRTL} from '../../../services/userModel';\nimport {createAction} from \"../../../utils/sagaHelper.js\";\n\nfunction debounce(fn, ms) {\n let timer;\n return _ => {\n clearTimeout(timer);\n timer = setTimeout(_ => {\n timer = null;\n fn.apply(this, arguments);\n }, ms);\n };\n}\n\nexport const CustomerServiceChat = () => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [selectedTab, setSelectedTab] = useState(0);\n const [dimensions, setDimensions] = useState({\n height: window.innerHeight,\n width: window.innerWidth\n });\n\n useEffect(() => {\n dispatch(createAction(AUTH_SUPPORT_CHAT, {}));\n }, [dispatch]);\n\n const inboxRef = useRef();\n const chatRef = useRef();\n\n const { dialogs, session } = useSelector(state => state.supportChat);\n\n const [inbox, setInbox] = useState(null);\n const [currentDialog, setCurrentDialog] = useState(null);\n const [filtersInbox, setFiltersInbox] = useState({\n [filterStateChat.active]: true,\n [filterStateChat.closed]: false,\n });\n const [showCreateNewDialog, setShowCreateNewDialog] = useState(false);\n const [showAddUserDialog, setShowAddUserDialog] = useState(false);\n\n useEffect(\n () => {\n if (!session) {\n return;\n }\n\n const theme = isRTL() ? 'DelivApp_Business' : 'DelivApp_Business_LTR';\n\n const types = Object.keys(filtersInbox)\n .filter(x => filtersInbox[x])\n .map(x => x.toString());\n\n const inboxInstance = session.createInbox({\n theme: theme,\n });\n\n inboxInstance.setFeedFilter({\n custom: {\n state: ['oneOf', types.map(x => x.toString())],\n },\n });\n\n inboxInstance.mount(inboxRef.current);\n\n setInbox(() => inboxInstance);\n\n const chatbox = session.createChatbox({\n theme: theme,\n });\n chatbox.mount(chatRef.current);\n\n inboxInstance.onSelectConversation(ev => {\n ev.preventDefault();\n chatbox.select(ev.conversation.id);\n setCurrentDialog(ev.conversation.id);\n });\n\n return () => {\n if (inbox && inbox.destroy) {\n inbox.destroy();\n }\n chatbox.destroy();\n };\n },\n // eslint-disable-next-line\n [session, dimensions.width]\n );\n\n useEffect(() => {\n const debouncedHandleResize = debounce(function handleResize() {\n setDimensions({\n height: window.innerHeight,\n width: window.innerWidth\n });\n }, 500);\n\n window.addEventListener(\"resize\", debouncedHandleResize);\n\n return _ => {\n window.removeEventListener(\"resize\", debouncedHandleResize);\n };\n }, []);\n\n const handleOnPullChat = chatId => {\n dispatch(pullSupportChat(chatId));\n };\n\n const handleOnMarkResolved = () => {\n dispatch(markResolvedSupportChat(currentDialog));\n };\n\n const onSetInboxFilter = types => {\n if (!inbox) {\n return;\n }\n\n inbox.setFeedFilter({\n custom: {\n state: ['oneOf', types.map(x => x.toString())],\n },\n });\n };\n\n const handleOnToggleInboxFilter = type => {\n const newFiltersInbox = { ...filtersInbox, [type]: !filtersInbox[type] };\n const hasOneSelected = Object.values(newFiltersInbox).some(Boolean);\n\n if (hasOneSelected) {\n const types = Object.keys(newFiltersInbox)\n .filter(x => newFiltersInbox[x])\n .map(x => x.toString());\n setFiltersInbox(newFiltersInbox);\n onSetInboxFilter(types);\n }\n };\n\n const getBodyFromUsers = (users) => {\n const body = {};\n users.forEach(({ courierId, consumerId, depotId }) => {\n if(depotId) {\n body.depotId = depotId;\n }else if(consumerId) {\n body.consumerId = consumerId;\n } else if(courierId) {\n body.courierId = courierId;\n }\n })\n return body;\n }\n\n const createNewDialog = async data => {\n const body = {\n subject: data.subject,\n ...getBodyFromUsers(data.users || [])\n };\n const resultRequest = await startChat(body);\n if (!resultRequest || resultRequest.status !== 200) {\n throw new Error(getErrorMessage(resultRequest));\n }\n setShowCreateNewDialog(false);\n };\n\n const addUserToDialog = async (data) => {\n const user = getBodyFromUsers(data.users || []);\n const id = user.depotId || user.courierId || user.consumerId;\n const resultRequest = await addUserToChat(currentDialog, id);\n if (!resultRequest || resultRequest.status !== 200) {\n throw new Error(getErrorMessage(resultRequest));\n }\n setShowAddUserDialog(false);\n }\n\n const showTabs = dimensions.width < 1500;\n\n const renderUnassignedTitle = () => {\n return (\n
\n {t('support-chat.UNASSIGNED')}\n
{dialogs ? dialogs.length : 0}
\n
\n );\n };\n\n const renderUnassigned = () => {\n return (\n
\n {renderUnassignedTitle()}\n \n
\n );\n };\n\n const renderAssignedToMeTitle = () => {\n return (\n
\n {t('support-chat.ASSIGNED_TO_ME')}\n {/*
{unreadMessages}
*/}\n
\n );\n };\n\n const renderAssignedToMe = () => {\n return (\n
\n {renderAssignedToMeTitle()}\n
\n {getFilterStateChat().map(({ key, value }) => (\n handleOnToggleInboxFilter(key)}\n className={classNames('filterItem', {\n active: filtersInbox[key],\n })}\n >\n {value}\n
\n ))}\n
\n
\n
setShowCreateNewDialog(true)}>\n setShowCreateNewDialog(true)} />\n {t('support-chat.CREATE_NEW')}\n
\n
\n
\n
\n );\n };\n\n const renderChat = () => {\n return (\n
\n
\n\n
\n \n\n setShowAddUserDialog(true)}\n />\n
\n
\n );\n };\n\n const renderChatControls = () => {\n if (showTabs) {\n return (\n
\n setSelectedTab(index)}\n >\n \n \n {renderUnassignedTitle()}\n \n \n {renderAssignedToMeTitle()}\n \n \n \n
\n \n
\n
\n \n
\n
\n {getFilterStateChat().map(({ key, value }) => (\n handleOnToggleInboxFilter(key)}\n className={classNames('filterItem', {\n active: filtersInbox[key],\n })}\n >\n {value}\n
\n ))}\n
\n
\n
setShowCreateNewDialog(true)}>\n setShowCreateNewDialog(true)}\n />\n {t('support-chat.CREATE_NEW')}\n
\n
\n
\n
\n
\n \n {renderChat()}\n
\n );\n } else {\n return (\n
\n {renderUnassigned()}\n {renderAssignedToMe()}\n {renderChat()}\n
\n );\n }\n };\n\n return (\n
\n {renderChatControls(inboxRef)}\n \n {showCreateNewDialog && (\n setShowCreateNewDialog(false)}\n title={t(\"support-chat.createNew.LABEL\")}\n confirmLabel={t(\"support-chat.createNew.CREATE\")}\n />\n )}\n {showAddUserDialog && (\n setShowAddUserDialog(false)}\n hideSubject\n title={t(\"support-chat.addUser.ADD_USER\")}\n confirmLabel={t(\"support-chat.addUser.ADD\")}\n />\n )}\n
\n
\n );\n};\n","import SectionModel from '../../models/sectionModel';\n\nimport {\n DEPOT_BUSINESS_SKU, DEPOT_BUSINESS_SKU_EXPORT,\n DEPOT_BUSINESS_SKU_GET, DEPOT_BUSINESS_SKU_IMPORT,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport {createControlModel, filtrateControlByDepotRole} from '../controlModelFactory';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getDepotNameById } from '../restaurant';\nimport FilterOptionsModel from '../../models/filterOptionsModel.js';\nimport i18n from '../../i18n.js';\n\nexport function createDepotBusinessSKUSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createDepotBusinessSKUSectionFilter(),\n columns: [\n {\n columns: [\n {\n title: 'settings.sku_override.PROPERTY_NAME_LABEL',\n accessor: 'name',\n width: '50%',\n fixedWidth: '50%',\n },\n {\n title: 'settings.sku_override.NEW_SKU',\n accessor: 'sKU',\n width: '40%',\n fixedWidth: '40%',\n type: CONTROL_TYPE.inputText\n }\n ],\n accessor: 'overrides',\n isEditable: true,\n type: CONTROL_TYPE.translationTable,\n },\n ],\n initNewItemModel: item => {\n return item;\n },\n actionName: DEPOT_BUSINESS_SKU,\n actionLoad: DEPOT_BUSINESS_SKU_GET,\n typeAction: args.typeAction,\n typeModel: args.typeModel || ORDERING_MENU_TYPE_SECTION_MODEL.sku,\n parentUrl: args.parentUrl || TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n stayAfterSave: true,\n withSearch: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'settings.map.DEPOT_SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n },\n }),\n ],\n label: 'settings.sku_override.LABEL',\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.iconControl,\n icon: 'export',\n hideTooltip: true,\n text: i18n.t('settings.sku_override.EXPORT_LABEL'),\n action: DEPOT_BUSINESS_SKU_EXPORT,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.importFile,\n icon: 'import',\n text: i18n.t('settings.sku_override.IMPORT_LABEL'),\n action: DEPOT_BUSINESS_SKU_IMPORT,\n }),\n ], [MODEL_CONTROL_TYPE.back, MODEL_CONTROL_TYPE.importFile]),\n mappingLambda: state => {\n return {\n values: state.restaurant.data?.skuOverrides\n }\n },\n });\n}\n\nfunction createDepotBusinessSKUSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n // filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(translations) {\n // return translationsFilter(this.selected, translations);\n // });\n\n return filterOptionsModel;\n\n}\n","import {\n CUSTOMER_SERVICE_MODEL,\n MARKETPLACE_SETTINGS_MODEL,\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n RECONCILIATIONS_MODEL,\n SHIFTS_MODEL,\n TYPE_ACTION,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SECTION_MENUTEMPLATE_MODEL,\n TYPE_SECTION_MESSAGE_MODEL,\n TYPE_SECTION_MODEL,\n} from '../utils/enums';\nimport {\n createUserEditSectionModel,\n createUserPasswordEditSectionModel,\n createUsersSection,\n} from './settingsSectionModels/users';\nimport {\n createBusinessCategoriesSectionModel,\n createBusinessCategoryEditSectionModel,\n createDepotDefaultRegionControlcentersEditSectionModel,\n createDepotDefaultRegionControlcentersSectionModel,\n createDepotEditSectionModel,\n createDepotIntegrationAddSectionModel,\n createDepotIntegrationsSectionModel,\n createDepotMenuCopy,\n createDepotMenuEditSectionModel,\n createDepotPaymeCreditInfoNewSectionModel,\n createDepotPaymeWalletNewSectionModel,\n createDepotPriceCopy,\n createDepotPriceEditSectionModel,\n createDepotProviderEditSectionModel,\n createDepotProvidersSectionModel,\n createDepotSquareAssociatedLocationSectionModel,\n createDepotsSectionModel,\n createDepotTelegramSectionModel,\n createDepotUserEditSectionModel,\n createDepotUserPasswordEditSectionModel,\n createDepotUsersSectionModel,\n createRestaurateurMenuEditSectionModel,\n} from './settingsSectionModels/depots';\nimport {createGeneralSettingsSectionModel} from './settingsSectionModels/generalsettings';\nimport {\n createPersonalSettingsConfirmPasswordSectionModel,\n createPersonalSettingsSectionModel,\n} from './settingsSectionModels/personalSettings';\nimport {createTelegramSettingsSectionModel} from './settingsSectionModels/telegramSettings';\nimport {createRegionsEditSectionModel, createRegionsSectionModel} from './settingsSectionModels/regions';\nimport {\n createNewServiceCitySectionModel,\n createServiceCitiesSectionModel,\n} from './settingsSectionModels/serviceCities';\nimport {createNamedPlacesEditSectionModel, createNamedPlacesSectionModel} from './settingsSectionModels/namedPlaces';\nimport {\n createCurrentShiftDepotsSectionModel,\n createCurrentShiftEditSectionModel, createCurrentShiftHistoryOrdrsModel,\n createCurrentShiftHistorySectionModel, createCurrentShiftHistoryTripSectionModel,\n createCurrentShiftUsersSectionModel,\n createShiftHistorySectionModel,\n createShiftsEditSectionModel,\n createShiftsSectionModel,\n createSummaryShiftProviderSectionModel,\n} from './settingsSectionModels/shifts';\nimport {createOrdersSection} from './settingsSectionModels/ordersSectionModel';\nimport {\n createControlCentersActivateSectionModel,\n createControlCentersChangeUserSectionModel,\n createControlCentersDeactivateSectionModel,\n createControlCentersEditSectionModel,\n createControlCentersSectionModel,\n} from './settingsSectionModels/controlCenters';\nimport {\n createPaymentsConfigurationSettingsSectionModel,\n createRestaurantPaymeWalletNewSectionModel,\n} from './settingsSectionModels/paymentsSettings';\nimport {\n createOperationTimingSettingsSectionModel,\n createOperationTimingSettingsSectionModelEdit,\n} from './settingsSectionModels/operationTimingSettings';\nimport {\n createMenuDeliveryZoneEditSection,\n createMenuDeliveryZonesSection,\n} from './orderingMenuSectionModels/deliveryZonesSection';\nimport {\n createDepotBusinessTranslationsSectionModelMenuTemplate\n} from './orderingMenuMenuTemplateSectionModels/translations.js';\nimport {\n createBusinesMenuEditSection,\n createBusinesMenuExtraEditSection,\n createBusinesMenuExtraOptionEditSection,\n createBusinesMenuExtraSection,\n createBusinesMenuExtraSuboptionEditSection,\n createBusinesMenuSection,\n createBusinessGallery,\n createBusinessGalleryNew,\n createCategoryExtrasEditSection,\n createCategoryExtrasOptionEditSection,\n createCategoryExtrasSection,\n createCategoryExtrasSuboptionEditSection,\n createCategoryProductIngredientSection,\n createCategoryProductsEditSection,\n createCategoryProductsSection,\n createOrderingMenuEditSection,\n createOverrideExtra,\n createOverrideOption,\n createOverrideSuboption,\n createReviewProductExtra,\n} from './orderingMenuSectionModels/categoriesSection';\nimport {createBusinesScheduleSection} from './orderingMenuSectionModels/businesSchedule';\nimport {\n createBusinesDiscountEditSection,\n createBusinesDiscountsSection,\n} from './orderingMenuSectionModels/businesDiscounts';\nimport {createBusinesInfoEditSection} from './orderingMenuSectionModels/businesInfo';\nimport {createSettingsOffersEditSection, createSettingsOffersSection} from './settingsSectionModels/offers';\nimport {\n createNewSearchShortcutSectionModel,\n createSearchShortcutsSectionModel,\n} from './settingsSectionModels/searchShortcut';\nimport {\n createCancelReasonEditSectionModel, createCancelReasonSectionModel,\n createCustomerDeliveryPriceSectionModel,\n createMarketplaceSectionModel,\n createMarketplaceSettingsModel,\n} from './settingsSectionModels/marketplace';\nimport {createGiftCardProductSectionModel, createGiftCardSectionModel} from './settingsSectionModels/giftCard';\nimport {\n createCourierDeliveryFeesSectionModel, createCourierDeliveryFeesTemplateEditSectionModel,\n createCourierDeliveryFeesTemplateSectionModel\n} from './settingsSectionModels/courierDeliveryFees';\nimport {createReferralSectionModel} from './settingsSectionModels/referral';\nimport {\n createListPromotionEditSectionModel,\n createListPromotionSectionModel,\n} from './settingsSectionModels/listPromotion';\nimport {createDriverTipSectionModel} from './settingsSectionModels/driverTip';\nimport {createServiceFeeSectionModel} from './settingsSectionModels/serviceFee';\nimport {createDeliveryZoneEditSection, createDeliveryZonesSection} from './settingsSectionModels/deliveryZones';\nimport {\n createEditPagesSectionModel,\n createNewPagesSectionModel,\n createPagesSectionModel,\n} from './settingsSectionModels/pages';\nimport {\n createMenuTemplateEditSectionModel,\n createMenuTemplateSectionModel,\n createNewMenuTemplateSectionModel,\n} from './settingsSectionModels/menuTemplate';\nimport {\n createParentMenuCategoriesOverride,\n createParentMenuEditSection,\n createParentMenuExtraOverride,\n createParentMenuOptionsOverride,\n createParentMenuProductOverride,\n createParentMenuSection,\n createParentMenuSuboptionsOverride,\n} from './orderingMenuSectionModels/createParentMenuSection';\nimport {\n createBusinesMenuEditSectionMenuTemplate,\n createBusinesMenuExtraEditSectionMenuTemplate,\n createBusinesMenuExtraOptionEditSectionMenuTemplate,\n createBusinesMenuExtraSectionMenuTemplate,\n createBusinesMenuExtraSuboptionEditSectionMenuTemplate,\n createBusinesMenuSectionMenuTemplate,\n createBusinessGalleryMenuTemplate,\n createBusinessGalleryNewMenuTemplate,\n createCategoryExtrasEditSectionMenuTemplate,\n createCategoryExtrasOptionEditSectionMenuTemplate,\n createCategoryExtrasSectionMenuTemplate,\n createCategoryExtrasSuboptionEditSectionMenuTemplate,\n createCategoryProductIngredientSectionMenuTemplate,\n createCategoryProductsEditSectionMenuTemplate,\n createCategoryProductsSectionMenuTemplate,\n createOrderingMenuEditSectionMenuTemplate,\n createOverrideExtraMenuTemplate,\n createOverrideOptionMenuTemplate,\n createOverrideSuboptionMenuTemplate,\n createReviewProductExtraMenuTemplate,\n} from './orderingMenuMenuTemplateSectionModels/categoriesSection';\nimport {\n createBusinesInfoEditSectionMenuTemplate,\n createDepotMenuTemplateBusinessCategoriesEditSectionModel,\n} from './orderingMenuMenuTemplateSectionModels/businesInfo';\nimport {\n createBusinesDiscountEditSectionMenuTemplate,\n createBusinesDiscountsSectionMenuTemplate,\n} from './orderingMenuMenuTemplateSectionModels/businesDiscounts';\nimport {createBusinesScheduleSectionMenuTemplate} from './orderingMenuMenuTemplateSectionModels/businesSchedule';\nimport {\n createMenuDeliveryZoneEditSectionMenuTemplate,\n createMenuDeliveryZonesSectionMenuTemplate,\n} from './orderingMenuMenuTemplateSectionModels/deliveryZonesSection';\nimport {\n createParentMenuEditSectionMenuTemplate,\n createParentMenuSectionMenuTemplate,\n} from './orderingMenuMenuTemplateSectionModels/createParentMenuSection';\nimport {\n createDepotOperationTimingActiveSelectSectionModel,\n createDepotOperationTimingEditSectionModel,\n createDepotOperationTimingSectionModel,\n} from './orderingMenuSectionModels/depotOperationTimingSettings';\nimport {\n createDepotBusinessDeepLinkEditSectionModel,\n createDepotBusinessProductDeepLinkEditSectionModel,\n createMarketplaceDeepLinkEditSectionModel,\n} from './orderingMenuSectionModels/deepLink';\nimport {createCourierAppSettingsModel} from './settingsSectionModels/courierAppSettingsModel';\nimport {\n createMessageSettingsEditSectionModel,\n createMessageSettingsGalleyEditSectionModel,\n createMessageSettingsGalleySectionModel,\n} from './settingsSectionModels/messageSettings';\nimport {\n createCampaignsEditSectionModel,\n createCampaignsExecutionsSectionModel,\n createCampaignsSectionModel,\n} from './settingsSectionModels/campaigns.js';\nimport {currentUserIsControlCenterManagerRole, currentUserIsDepotRole} from \"./userModel.js\";\nimport {columnGlobalUserEdit, columnsDepotUserEdit} from \"../utils/sectionModelHelper.js\";\nimport {\n ORDERING_MENU_DELIVERY_ZONES_GLOBAL\n} from '../store/reducers/restaurant/restaurant-actions.js';\n\nimport {createDepotBusinessTranslationsSectionModel} from './orderingMenuSectionModels/translations.js';\nimport {\n createPeriodsReconciliationsPeriodEditSectionModel,\n createPeriodsReconciliationsSectionModel,\n createSettingsReconciliationsConfigSectionModel,\n createSettingsReconciliationsDepotSectionModel,\n createSettingsReconciliationsProviderSectionModel,\n createSettingsReconciliationsTemplateEditSectionModel,\n viewPeriodsReconciliationsPeriodEditSectionModel,\n} from './settingsSectionModels/reconciliations.js';\nimport {createProvidersEditSectionModel, createProvidersSectionModel} from \"./settingsSectionModels/providers.js\";\nimport {\n createCloudPrintersEditSectionModel,\n createCloudPrintersSectionModel\n} from \"./settingsSectionModels/cloudPrinters.js\";\nimport {\n createFleetEditSectionModel,\n createFleetSectionModel,\n createFleetTelemetrySectionModel\n} from \"./settingsSectionModels/fleet.js\";\nimport {\n createLoyaltySettingsCashbackSectionModel,\n createLoyaltySettingsRegisterBonusSectionModel\n} from \"./settingsSectionModels/loyaltySettings.js\";\nimport {createBusinessAppSettingsModel} from \"./settingsSectionModels/businessAppSettings.js\";\nimport {createBreadcrumbModel} from \"./createBreadcrumbModel.js\";\nimport {\n createCustomerServiceCustomersSection,\n createCustomerServiceOrderSection,\n createCustomerServiceReviewsSection, createCustomerServiceSalesSection, createCustomerServiceSupportChatSection\n} from \"./settingsSectionModels/customerService.js\";\nimport {createDepotBusinessSKUSectionModel} from \"./orderingMenuSectionModels/skuOverride.js\";\n\nexport function createSettingsSectionModel({ typeModel, ...args }) {\n const settings = {\n [TYPE_SECTION_MODEL.users]: createUsersSection(),\n [TYPE_SECTION_MODEL.usersEdit]: createUserEditSectionModel({\n typeAction: TYPE_ACTION.edit, columns: currentUserIsControlCenterManagerRole() ? columnGlobalUserEdit : columnsDepotUserEdit\n }),\n [TYPE_SECTION_MODEL.usersNew]: createUserEditSectionModel({\n typeAction: TYPE_ACTION.new, columns: currentUserIsControlCenterManagerRole() ? columnGlobalUserEdit : columnsDepotUserEdit\n }),\n [TYPE_SECTION_MODEL.cloudPrinters]: createCloudPrintersSectionModel(),\n [TYPE_SECTION_MODEL.cloudPrintersEdit]: createCloudPrintersEditSectionModel({\n typeAction: TYPE_ACTION.edit\n }),\n [TYPE_SECTION_MODEL.cloudPrintersNew]: createCloudPrintersEditSectionModel({\n typeAction: TYPE_ACTION.new\n }),\n [TYPE_SECTION_MODEL.userConfirmPassword]: createUserPasswordEditSectionModel(\n { typeAction: TYPE_ACTION.edit }\n ),\n [TYPE_SECTION_MODEL.depots]: createDepotsSectionModel(),\n [TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy]: createDepotMenuCopy(),\n [TYPE_SECTION_MODEL.depotsNew]: createDepotEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [MARKETPLACE_SETTINGS_MODEL.businessCategories]: createBusinessCategoriesSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesEdit]: createBusinessCategoryEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.businessCategoriesNew]: createBusinessCategoryEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [MARKETPLACE_SETTINGS_MODEL.menuTemplate]: createMenuTemplateSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.menuTemplateNew]: createNewMenuTemplateSectionModel({ typeAction: TYPE_ACTION.new }),\n [TYPE_SECTION_MODEL.depotpaymewalletNew]: createDepotPaymeWalletNewSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_MODEL.restaurantPaymeWalletNew]: createRestaurantPaymeWalletNewSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_MODEL.depotsPriceApplyTo]: createDepotPriceCopy({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [TYPE_SECTION_MODEL.depotSquareAssociatedLocation]: createDepotSquareAssociatedLocationSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.generalSettings]: createGeneralSettingsSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.courierAppSettings]: createCourierAppSettingsModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.businessAppSettings]: createBusinessAppSettingsModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.personalSettings]: createPersonalSettingsSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.personalSettingsConfirmPassword]: createPersonalSettingsConfirmPasswordSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.telegramSettings]: createTelegramSettingsSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration]: createPaymentsConfigurationSettingsSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.regions]: createRegionsSectionModel(),\n [TYPE_SECTION_MODEL.regionsEdit]: createRegionsEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.regionsNew]: createRegionsEditSectionModel({\n typeAction: TYPE_ACTION.new\n }),\n [TYPE_SECTION_MODEL.providers]: createProvidersSectionModel(),\n [TYPE_SECTION_MODEL.providersEdit]: createProvidersEditSectionModel({\n typeAction: TYPE_ACTION.edit\n }),\n [TYPE_SECTION_MODEL.providersNew]: createProvidersEditSectionModel({\n typeAction: TYPE_ACTION.new\n }),\n [TYPE_SECTION_MODEL.deliveryProviders]: createDepotProvidersSectionModel({\n ...args,\n pathForEdit: TYPE_SECTION_MODEL.deliveryProvidersEdit,\n isHideBack: true,\n typeModel: TYPE_SECTION_MODEL.deliveryProviders,\n pathForNew: TYPE_SECTION_MODEL.deliveryProvidersNew,\n parentUrl: '',\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.SETTINGS_LABEL',\n }),\n ],\n label: 'settings.depotSettingsLabel.PROVIDER',\n }),\n [TYPE_SECTION_MODEL.deliveryProvidersEdit]: createDepotProviderEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n typeModel: TYPE_SECTION_MODEL.deliveryProvidersEdit,\n parentUrl: TYPE_SECTION_MODEL.deliveryProviders,\n isHideBack: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'settings.depotSettingsLabel.PROVIDER',\n }),\n ],\n ...args,\n }),\n [TYPE_SECTION_MODEL.deliveryProvidersNew]: createDepotProviderEditSectionModel({\n typeAction: TYPE_ACTION.new,\n parentUrl: TYPE_SECTION_MODEL.deliveryProviders,\n typeModel: TYPE_SECTION_MODEL.deliveryProvidersNew,\n isHideBack: true,\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.SETTINGS_LABEL',\n }),\n createBreadcrumbModel({\n label: 'settings.depotSettingsLabel.PROVIDER',\n }),\n ],\n ...args,\n }),\n [TYPE_SECTION_MODEL.fleet]: createFleetSectionModel(),\n [TYPE_SECTION_MODEL.fleetEdit]: createFleetEditSectionModel({\n typeAction: TYPE_ACTION.edit\n }),\n [TYPE_SECTION_MODEL.fleetTelemetry]: createFleetTelemetrySectionModel({\n typeAction: TYPE_ACTION.edit\n }),\n [TYPE_SECTION_MODEL.fleetNew]: createFleetEditSectionModel({\n typeAction: TYPE_ACTION.new\n }),\n [TYPE_SECTION_MODEL.serviceCities]: createServiceCitiesSectionModel(),\n [TYPE_SECTION_MODEL.serviceCitiesNew]: createNewServiceCitySectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_MODEL.serviceCitiesEdit]: createNewServiceCitySectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.namedPlaces]: createNamedPlacesSectionModel(),\n [TYPE_SECTION_MODEL.namedPlacesEdit]: createNamedPlacesEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.namedPlacesNew]: createNamedPlacesEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [SHIFTS_MODEL.providers]: createSummaryShiftProviderSectionModel(),\n [SHIFTS_MODEL.history]: createShiftsSectionModel(),\n [SHIFTS_MODEL.historyEdit]: createShiftsEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [SHIFTS_MODEL.shiftHistory]: createShiftHistorySectionModel({\n typeModel,\n ...args,\n }),\n [SHIFTS_MODEL.currentShiftUsers]: createCurrentShiftUsersSectionModel(),\n [SHIFTS_MODEL.currentShiftDepotEdit]: createCurrentShiftEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [SHIFTS_MODEL.currentShiftHistory]: createCurrentShiftHistorySectionModel({ ...args }),\n [SHIFTS_MODEL.currentShiftProviderHistory]: createCurrentShiftHistoryTripSectionModel({ ...args }),\n [SHIFTS_MODEL.currentShiftProviderHistoryOrder]: createCurrentShiftHistoryOrdrsModel({\n ...args,\n }),\n [SHIFTS_MODEL.currentShiftDepots]: createCurrentShiftDepotsSectionModel(),\n [TYPE_SECTION_MODEL.controlCenters]: createControlCentersSectionModel(),\n [TYPE_SECTION_MODEL.controlCentersEdit]: createControlCentersEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.controlCentersActivate]: createControlCentersActivateSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.controlCentersDeactivate]: createControlCentersDeactivateSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.controlCentersChangeuser]: createControlCentersChangeUserSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.depotsMenu]: createDepotMenuEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.operationTimingEdit]: createOperationTimingSettingsSectionModelEdit({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MODEL.operationTimingNew]: createOperationTimingSettingsSectionModelEdit({\n ...args,\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_MODEL.operationTiming]: createOperationTimingSettingsSectionModel({ ...args }),\n [MARKETPLACE_SETTINGS_MODEL.offers]: createSettingsOffersSection({\n typeModel,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.offersNew]: createSettingsOffersEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.offersEdit]: createSettingsOffersEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.searchShortcuts]: createSearchShortcutsSectionModel(),\n [TYPE_SECTION_MODEL.searchShortcutsNew]: createNewSearchShortcutSectionModel({ typeAction: TYPE_ACTION.new }),\n [MARKETPLACE_SETTINGS_MODEL.marketplace]: createMarketplaceSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.deepLink]: createMarketplaceDeepLinkEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.pages]: createPagesSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.pagesEdit]: createEditPagesSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.pagesNew]: createNewPagesSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.marketplaceNew]: createMessageSettingsEditSectionModel({\n typeAction: TYPE_ACTION.new,\n hidePush: true,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.giftCard]: createGiftCardSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsNew]: createGiftCardProductSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.giftCardCategoryProductsEdit]: createGiftCardProductSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.courierDeliveryFees]: createCourierDeliveryFeesSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n\n\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplate]: createCourierDeliveryFeesTemplateSectionModel({\n ...args,\n }),\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplateEdit]: createCourierDeliveryFeesTemplateEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew]: createCourierDeliveryFeesTemplateEditSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n\n\n\n\n [MARKETPLACE_SETTINGS_MODEL.campaigns]: createCampaignsSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.campaignsEdit]: createCampaignsEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.campaignsNew]: createCampaignsEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [MARKETPLACE_SETTINGS_MODEL.campaignsExecutions]: createCampaignsExecutionsSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.referral]: createReferralSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsRegistrationBonus]: createLoyaltySettingsRegisterBonusSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback]: createLoyaltySettingsCashbackSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice]: createCustomerDeliveryPriceSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.driverTip]: createDriverTipSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.serviceFee]: createServiceFeeSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.listPromotion]: createListPromotionSectionModel(),\n [MARKETPLACE_SETTINGS_MODEL.listPromotionNew]: createListPromotionEditSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.listPromotionEdit]: createListPromotionEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.deliveryZones]: createDeliveryZonesSection({\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesEdit]: createDeliveryZoneEditSection({ typeAction: TYPE_ACTION.edit }),\n [MARKETPLACE_SETTINGS_MODEL.deliveryZonesNew]: createDeliveryZoneEditSection({ typeAction: TYPE_ACTION.new }),\n '/orders': createOrdersSection(),\n '/menu': createRestaurateurMenuEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n\n [TYPE_SECTION_DEPOT_MODEL.depotsEditPrice]: createDepotPriceEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotMenu]: createDepotPriceEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotusers]: createDepotUsersSectionModel({\n typeModel,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotusersEdit]: createDepotUserEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotusersNew]: createDepotUserEditSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotusersConfirmPassword]: createDepotUserPasswordEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrations]: createDepotIntegrationsSectionModel({\n typeModel,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsNew]: createDepotIntegrationAddSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotIntegrationsEdit]: createDepotIntegrationAddSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters]: createDepotDefaultRegionControlcentersSectionModel({\n typeModel,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersEdit]: createDepotDefaultRegionControlcentersEditSectionModel(\n {\n typeAction: TYPE_ACTION.edit,\n ...args,\n }\n ),\n [TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCentersNew]: createDepotDefaultRegionControlcentersEditSectionModel(\n {\n typeAction: TYPE_ACTION.new,\n ...args,\n }\n ),\n [TYPE_SECTION_DEPOT_MODEL.provider]: createDepotProvidersSectionModel({\n typeModel,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.providerEdit]: createDepotProviderEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.providerNew]: createDepotProviderEditSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit]: createDepotPaymeCreditInfoNewSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.depotsEdit]: createDepotEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.telegram]: createDepotTelegramSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.reconciliation]: createSettingsReconciliationsDepotSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.operationMode]: createDepotOperationTimingSectionModel({ ...args }),\n [TYPE_SECTION_DEPOT_MODEL.operationModeEdit]: createDepotOperationTimingEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_DEPOT_MODEL.operationModeNew]: createDepotOperationTimingEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_DEPOT_MODEL.operationModeActive]: createDepotOperationTimingActiveSelectSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit]: createMenuTemplateEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n\n [TYPE_SECTION_MESSAGE_MODEL.messageInfo]: createMessageSettingsEditSectionModel({ typeAction: TYPE_ACTION.edit, hidePush: true }),\n [TYPE_SECTION_MESSAGE_MODEL.messageGallery]: createMessageSettingsGalleySectionModel(),\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryNew]: createMessageSettingsGalleyEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n [TYPE_SECTION_MESSAGE_MODEL.messageGalleryEdit]: createMessageSettingsGalleyEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n\n [MARKETPLACE_SETTINGS_MODEL.marketplaceSettings]: createMarketplaceSettingsModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n\n\n\n [CUSTOMER_SERVICE_MODEL.order]: createCustomerServiceOrderSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [CUSTOMER_SERVICE_MODEL.reviews]: createCustomerServiceReviewsSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [CUSTOMER_SERVICE_MODEL.customers]: createCustomerServiceCustomersSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [CUSTOMER_SERVICE_MODEL.sales]: createCustomerServiceSalesSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [CUSTOMER_SERVICE_MODEL.supportChat]: createCustomerServiceSupportChatSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n\n [MARKETPLACE_SETTINGS_MODEL.cancelReasonEdit]: createCancelReasonEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.cancelReasonNew]: createCancelReasonEditSectionModel({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [MARKETPLACE_SETTINGS_MODEL.cancelReason]: createCancelReasonSectionModel({\n ...args,\n }),\n\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: createParentMenuSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuCategoryOverride]: createParentMenuCategoriesOverride({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuProductOverride]: createParentMenuProductOverride({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuSuboptionsOverride]: createParentMenuSuboptionsOverride({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuOptionsOverride]: createParentMenuOptionsOverride({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.parentMenuExtraOverride]: createParentMenuExtraOverride({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: createParentMenuEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: createOrderingMenuEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: createMenuDeliveryZonesSection({\n typeModel,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: createMenuDeliveryZoneEditSection({\n typeAction: TYPE_ACTION.edit,\n isReadonly: currentUserIsDepotRole(),\n isReadonlyPrice: currentUserIsDepotRole(),\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit]: createMenuDeliveryZoneEditSection({\n typeAction: TYPE_ACTION.edit,\n isReadonly: true,\n isReadonlyPrice: currentUserIsDepotRole(),\n actionName: ORDERING_MENU_DELIVERY_ZONES_GLOBAL,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesGlobalEdit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: createMenuDeliveryZoneEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: createBusinesScheduleSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: createBusinesDiscountsSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: createBusinesDiscountEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: createBusinesDiscountEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: createBusinesInfoEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: createBusinesMenuSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: createBusinesMenuEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: createBusinesMenuEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: createBusinesMenuExtraSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: createBusinesMenuExtraEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: createBusinesMenuExtraEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: createBusinesMenuExtraOptionEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew]: createBusinesMenuExtraOptionEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit]: createBusinesMenuExtraSuboptionEditSection(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew]: createBusinesMenuExtraSuboptionEditSection(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: createCategoryProductsSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: createCategoryProductsEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsDeepLinkEdit]: createDepotBusinessProductDeepLinkEditSectionModel(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: createCategoryProductsEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientNew]: createCategoryProductIngredientSection(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit]: createCategoryProductIngredientSection(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: createCategoryExtrasSection({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: createCategoryExtrasEditSection({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: createCategoryExtrasEditSection({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: createCategoryExtrasOptionEditSection(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: createCategoryExtrasOptionEditSection(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: createCategoryExtrasSuboptionEditSection(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: createCategoryExtrasSuboptionEditSection(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: createDepotMenuTemplateBusinessCategoriesEditSectionModel(\n { typeAction: TYPE_ACTION.edit }\n ),\n [ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink]: createDepotBusinessDeepLinkEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.translations]: createDepotBusinessTranslationsSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.sku]: createDepotBusinessSKUSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: createReviewProductExtra({ ...args }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideExtra]: createOverrideExtra({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideOption]: createOverrideOption({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.overrideSuboption]: createOverrideSuboption({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.gallery]: createBusinessGallery(),\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryEdit]: createBusinessGalleryNew({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MENU_TYPE_SECTION_MODEL.galleryNew]: createBusinessGalleryNew({\n ...args,\n typeAction: TYPE_ACTION.new,\n }),\n\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu]: createParentMenuSectionMenuTemplate({\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenuEdit]: createParentMenuEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuEdit]: createOrderingMenuEditSectionMenuTemplate({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones]: createMenuDeliveryZonesSectionMenuTemplate(\n { typeModel, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesEdit]: createMenuDeliveryZoneEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZonesNew]: createMenuDeliveryZoneEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule]: createBusinesScheduleSectionMenuTemplate({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts]: createBusinesDiscountsSectionMenuTemplate({\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsNew]: createBusinesDiscountEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscountsEdit]: createBusinesDiscountEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo]: createBusinesInfoEditSectionMenuTemplate({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu]: createBusinesMenuSectionMenuTemplate({\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuEdit]: createBusinesMenuEditSectionMenuTemplate({\n typeAction: TYPE_ACTION.edit,\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuNew]: createBusinesMenuEditSectionMenuTemplate({\n typeAction: TYPE_ACTION.new,\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras]: createBusinesMenuExtraSectionMenuTemplate(\n { ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasNew]: createBusinesMenuExtraEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasEdit]: createBusinesMenuExtraEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionEdit]: createBusinesMenuExtraOptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasOptionNew]: createBusinesMenuExtraOptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionEdit]: createBusinesMenuExtraSuboptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtrasSubsuboptionNew]: createBusinesMenuExtraSuboptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts]: createCategoryProductsSectionMenuTemplate(\n { ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsEdit]: createCategoryProductsEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductsNew]: createCategoryProductsEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientNew]: createCategoryProductIngredientSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProductIngredientEdit]: createCategoryProductIngredientSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtras]: createCategoryExtrasSectionMenuTemplate(\n { ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasEdit]: createCategoryExtrasEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasNew]: createCategoryExtrasEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionEdit]: createCategoryExtrasOptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasOptionNew]: createCategoryExtrasOptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionEdit]: createCategoryExtrasSuboptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.edit, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryExtrasSuboptionNew]: createCategoryExtrasSuboptionEditSectionMenuTemplate(\n { typeAction: TYPE_ACTION.new, ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories]: createDepotMenuTemplateBusinessCategoriesEditSectionModel(\n { ...args }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations]: createDepotBusinessTranslationsSectionModelMenuTemplate(\n { ...args, typeAction: TYPE_ACTION.edit }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku]: createDepotBusinessSKUSectionModel(\n {\n ...args,\n typeAction: TYPE_ACTION.edit,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n typeModel: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku,\n }\n ),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.reviewProductExtra]: createReviewProductExtraMenuTemplate({\n ...args,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideExtra]: createOverrideExtraMenuTemplate({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideOption]: createOverrideOptionMenuTemplate({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.overrideSuboption]: createOverrideSuboptionMenuTemplate({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery]: createBusinessGalleryMenuTemplate(),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryEdit]: createBusinessGalleryNewMenuTemplate({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.galleryNew]: createBusinessGalleryNewMenuTemplate({\n ...args,\n typeAction: TYPE_ACTION.new,\n }),\n [RECONCILIATIONS_MODEL.settings]: createSettingsReconciliationsProviderSectionModel({ ...args }),\n [RECONCILIATIONS_MODEL.settingsTemplateNew]: createSettingsReconciliationsTemplateEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.new,\n }),\n [RECONCILIATIONS_MODEL.settingsTemplateEdit]: createSettingsReconciliationsTemplateEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [RECONCILIATIONS_MODEL.configuration]: createSettingsReconciliationsConfigSectionModel({ ...args }),\n [RECONCILIATIONS_MODEL.periods]: createPeriodsReconciliationsSectionModel({ ...args }),\n [RECONCILIATIONS_MODEL.periodsView]: viewPeriodsReconciliationsPeriodEditSectionModel({\n ...args,\n typeAction: TYPE_ACTION.edit,\n }),\n [RECONCILIATIONS_MODEL.periodsEdit]: createPeriodsReconciliationsPeriodEditSectionModel({\n ...args,\n parentUrl: RECONCILIATIONS_MODEL.periods,\n typeAction: TYPE_ACTION.edit,\n }),\n };\n return settings[typeModel] || null;\n}\n","\nimport SectionModel from \"../../models/sectionModel\";\nimport { PAYMENTS_CONFIGURATION_SETTING, RESTAURANT_PAYME_WALLET_SETTING } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL, MODEL_CONTROL_TYPE,\n sellerBankCodes,\n sellerIncList,\n sellerPersonBusinessTypes,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {isMobileWidth} from \"../restaurant\";\n\nexport function createPaymentsConfigurationSettingsSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.paymentsConfigurationSettings.OVERRIDE_DEPOT_SETTINGS_LABEL\",\n accessor: \"overrideDepotSettings\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_CREDIT_CARD\",\n accessor: \"acceptCreditCard\",\n isEditable: true,\n type: CONTROL_TYPE.checkbox\n },\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_CREDIT_CARD\",\n accessor: \"paymeWalletExist\",\n isEditable: true,\n type: CONTROL_TYPE.paymeConfiguration\n },\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_CASH\",\n accessor: \"acceptCash\",\n isEditable: true,\n type: CONTROL_TYPE.checkbox\n },\n // for empty item on the left\n {accessor: 'acceptCashOnTakeAway'},\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_CASH_ON_TAKEAWAY\",\n accessor: \"acceptCashOnTakeAway\",\n isEditable: true,\n type: CONTROL_TYPE.checkbox\n }\n ],\n actionName: PAYMENTS_CONFIGURATION_SETTING,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true}\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth\n })\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\",\n }),\n ],\n label: \"settings.paymentsConfigurationSettings.LABEL\",\n mappingLambda: state => ({ id: \"paymentsConfiguration\", ...state.restaurant.data.paymentsConfiguration })\n });\n}\n\nexport function createRestaurantPaymeWalletNewSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.paymeWallet.SELLER_FIRST_NAME\",\n accessor: \"sellerFirstName\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_LAST_NAME\",\n accessor: \"sellerLastName\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_SOCIAL_ID\",\n accessor: \"sellerSocialId\",\n minLength: 9,\n maxLength: 9,\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_BANK_CODE\",\n accessor: \"sellerBankCode\",\n connect: () => ({\n values: sellerBankCodes()\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.paymeWallet.SELLER_BANK_BRANCH\",\n accessor: \"sellerBankBranch\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.paymeWallet.SELLER_BANK_ACCOUNT_NUMBER\",\n accessor: \"sellerBankAccountNumber\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_EMAIL\",\n accessor: \"sellerEmail\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_PHONE\",\n accessor: \"sellerPhone\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_BIRTHDAY\",\n accessor: \"sellerBirthdate\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.date\n },\n {\n title: \"settings.paymeWallet.SELLER_SOCIAL_ID_ISSUED\",\n accessor: \"sellerSocialIdIssued\", \n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.date\n },\n {\n title: \"settings.paymeWallet.SELLER_GENDER\",\n label: {\n onLabel: \"Female\",\n offLabel: \"Male\",\n },\n accessor: \"sellerGender\",\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.paymeWallet.SELLER_INC\",\n accessor: \"sellerInc\",\n connect: () => ({\n values: sellerIncList()\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.paymeWallet.SELLER_MERCHANT_NAME\",\n accessor: \"sellerMerchantName\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_INC_CODE\",\n accessor: \"sellerIncCode\",\n isEditable: true,\n isFuncRequired: function(item) {\n return !!item.sellerInc\n },\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_PERSON_BUSINESS_TYPE\",\n accessor: \"sellerPersonBusinessType\",\n connect: () => ({\n values: sellerPersonBusinessTypes()\n }),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.paymeWallet.SELLER_SITE_URL\",\n accessor: \"sellerSiteUrl\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_ADDRESS_CITY\",\n accessor: \"sellerAddressCity\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_ADDRESS_STREET\",\n accessor: \"sellerAddressStreet\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.paymeWallet.SELLER_ADDRESS_STREET_NUMBER\",\n accessor: \"sellerAddressStreetNumber\",\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text\n }\n ],\n actionName: RESTAURANT_PAYME_WALLET_SETTING,\n initNewItemModel: () => ({\n sellerFirstName: \"\",\n sellerLastName: \"\",\n sellerSocialId: \"\",\n sellerBankCode: 0,\n sellerBankBranch: 0,\n sellerBankAccountNumber: \"\",\n sellerEmail: \"\",\n sellerPhone: \"\",\n sellerBirthdate: \"\",\n sellerSocialIdIssued: \"\",\n sellerGender: false,\n sellerInc: 0,\n sellerMerchantName: \"\",\n sellerIncCode: \"\",\n sellerPersonBusinessType: 0,\n sellerSiteUrl: \"\",\n sellerAddressCity: \"\",\n sellerAddressStreet: \"\",\n sellerAddressStreetNumber: \"\"\n }),\n typeAction: args.typeAction,\n typeModel: TYPE_SECTION_MODEL.restaurantPaymeWalletNew,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: {\n action: (item, history)=> {\n history.push(MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration);\n } \n }\n },\n mappingLambda: () => []\n });\n}\n","import i18n from '../../i18n';\n\nimport SectionModel from '../../models/sectionModel';\nimport { GENERAL_SETTING, GENERAL_SETTING_GET } from '../../store/reducers/restaurant/restaurant-actions';\nimport {\n CONTROL_TYPE,\n COURIER_ASSOCIATION_MODE,\n courierAssociationModes,\n MODEL_CONTROL_TYPE,\n newOrderNotificationMode,\n TYPE_SECTION_MODEL,\n} from '../../utils/enums';\nimport { isMobileWidth } from '../restaurant';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { createControlModel } from '../controlModelFactory';\n\nexport function createGeneralSettingsSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.settings.numericalSettings.LABEL\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n items: [\n [\n {\n title: \"settings.settings.numericalSettings.ALLOW_CITYONLY_ADDRESS\",\n accessor: \"allowCityOnlyAddress\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.settings.numericalSettings.TAKE_AWAY_SUPPORT\",\n accessor: \"takeAwaySupported\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.settings.numericalSettings.AUTOMATICALLY_ASSIGN_EXTRA_SIZE_ORDERS\",\n accessor: \"useCarVehicleForExtraSizeOrders\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"controlCenters.AUTOMATIC_EXTEND_CYCLE\",\n accessor: \"automaticExtendCycle\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ]\n ],\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups\n },\n {\n items: [\n [\n {\n title: \"settings.settings.numericalSettings.ASSIST_OUT_OF_REGION\",\n accessor: \"assistOutOfRegion\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.settings.numericalSettings.HIDE_READINESS_TIME\",\n accessor: \"hideReadinessTimeOnOrderCard\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.settings.numericalSettings.SHOW_ORDER_PAYMENT_STATUS\",\n accessor: \"showOrderPaymentStatus\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"controlCenters.AUTOMATIC_APPROVE_CYCLE\",\n accessor: \"automaticApproveCycle\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n }\n ]\n ],\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups\n },\n {\n title: \"settings.settings.numericalSettings.COURIER_ASSOCIATION_MODE\",\n accessor: \"courierAssociationMode\",\n connect: () => ({\n values: courierAssociationModes()\n }),\n isEditable: true,\n type: CONTROL_TYPE.select\n },\n {\n title: \"settings.settings.numericalSettings.MAX_ORDERS_PER_COURIER_LABEL\",\n measure: \"settings.settings.numericalSettings.ORDERS_MEASURE\",\n accessor: \"maxOrdersPerCourier\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.MAX_PICKUPS_COLLECTION_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"maxPickupsCollectionTime\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.MAX_PICKUP_DISTANCE\",\n measure: \"settings.settings.numericalSettings.DISTANCE_MEASURE_M\",\n accessor: \"maxPickupDistance\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.PICKUP_LOAD_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"pickupLoadTime\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.ORDER_UNLOAD_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"orderUnloadTime\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.READINESS_HEADS_UP_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"readinessHeadsUpTime\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.READINESS_HEADS_UP_TIME_SCHEDULER_ORDERS\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"readinessHeadsUpTimeForScheduledOrders\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.MAX_BICYCLE_SERVICE_DISTANCE\",\n\t\t\t measure: \"settings.settings.numericalSettings.DISTANCE_MEASURE_M\",\n accessor: \"maxBicycleServiceDistance\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.settings.numericalSettings.POST_REJECT_ORDER_COOL_DOWN_PERIOD\",\n\t\t\t measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"postRejectOrderCoolDownPeriod\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n\t\t\t isShow: data => !(data.courierAssociationMode === COURIER_ASSOCIATION_MODE.push)\n },\n {\n title: \"settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_PRIORITY_PERIOD\",\n\t\t\t measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"newOrderNotificationPriorityPeriod\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n\t\t\t isShow: data => !(data.courierAssociationMode === COURIER_ASSOCIATION_MODE.push)\n },\n {\n title: \"settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_PRIORITY_RADIUS_IN_METERS\",\n\t\t\t measure: \"settings.settings.numericalSettings.DISTANCE_MEASURE_M\",\n accessor: \"newOrderNotificationPriorityRadiusInMeters\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n\t\t\t isShow: data => !(data.courierAssociationMode === COURIER_ASSOCIATION_MODE.push)\n },\n\t\t {\n title: \"settings.settings.numericalSettings.NEW_ORDER_NOTIFICATION_MODE\",\n accessor: \"newOrderNotificationMode\",\n values: newOrderNotificationMode(),\n isEditable: true,\n type: CONTROL_TYPE.select,\n\t\t\t isShow: data => !(data.courierAssociationMode === COURIER_ASSOCIATION_MODE.push)\n }\n ]\n },\n {\n title: \"settings.personalSettings.notificationSettings.LABEL\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n title: \"settings.personalSettings.notificationSettings.LOST_ALERT_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"lostAlertTime\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.personalSettings.notificationSettings.STOP_ALERT_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"stopAlertTime\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.personalSettings.notificationSettings.ORDER_IS_LATE_WARNING\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"orderIsLateWarningTime\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.personalSettings.notificationSettings.ORDER_IS_LATE_ALERT\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"orderIsLateAlertTime\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.personalSettings.notificationSettings.COURIER_IS_READY_ALERT\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"courierReadyTimeDelay\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.personalSettings.notificationSettings.ORDER_UNASSIGNED_TIME\",\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n accessor: \"orderIsUnassignedTime\",\n isEditable: true,\n type: CONTROL_TYPE.number\n }\n ]\n }\n ],\n actionName: GENERAL_SETTING,\n actionLoad: GENERAL_SETTING_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.generalSettings,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n label: \"settings.settings.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n })\n ],\n mappingLambda: state => {\n return ({\n id: \"generalsettings\",\n ...state.restaurant.data.configuration,\n ...state.restaurant.data.notificationConfiguration,\n ...state.restaurant.data.restaurantShipmentPriceConfiguration,\n ...state.restaurant.data.appShipmentPriceConfiguration\n });\n }\n });\n}\n","import SectionModel from \"../../models/sectionModel\";\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {\n COURIER_SETTINGS,\n COURIER_SETTINGS_GET,\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {createControlModel} from \"../controlModelFactory\";\n\nexport function createCourierAppSettingsModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.courierSettings.COURIER_CONTROL\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.DO_NOT_ALLOW_CYCLE_REJECT_BY_COURIER\",\n accessor: \"doNotAllowCycleRejectByCourier\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.courierSettings.DO_NOT_ALLOW_PULL_WITHOUT_LOCATION\",\n accessor: \"doNotAllowPullWithoutLocation\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.courierSettings.ENABLE_AWAY_CONTROL_BY_COURIER\",\n accessor: \"enableAwayControlByCourier\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.courierSettings.MANAGER_ONLY_SHIFT_CONTROL\",\n accessor: \"managerOnlyShiftControl\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n ]],\n },\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.RUN_COURIER_APP_IN_POINT_BY_POINT_MODE\",\n accessor: \"runCourierAppInPointByPointMode\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.courierSettings.LOCK_TASK_ORDER_IN_COURIER_APP\",\n accessor: \"lockTasksOrderInCourierApp\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n ]],\n },\n {\n title: \"settings.courierSettings.ARRIVAL_DISTANCE_THRESHOLD_IN_METERS\",\n accessor: \"arrivalDistanceThresholdInMeters\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n ]\n },\n {\n title: \"settings.courierSettings.DISPLAY_SETTINGS\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n \n {\n title: \"settings.courierSettings.SHOW_BUSINESS_DELIVERY_PRICE_IN_COURIER_APP\",\n accessor: \"showBusinessDeliveryPriceInCourierApp\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.courierSettings.SHOW_COURIER_PAYMENT_IN_APP\",\n accessor: \"showCourierPaymentInApp\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: \"settings.courierSettings.SHOW_COURIER_TIP_IN_APP\",\n accessor: \"showCourierTipInApp\",\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ]],\n },\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.SHOW_ORDER_CONTENT_AT_PICKUP\",\n accessor: \"showOrderContentAtPickup\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.courierSettings.SHOW_LATEST_ORDER_READINESS_TIME_AT_PICKUP\",\n accessor: \"showLatestOrderReadinessTimeAtPickup\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n }\n ]],\n },\n ]\n },\n {\n title: \"settings.courierSettings.FLOW_CONTROL_SETTINGS\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.HIDE_FINISH_BUTTON_IN_COURIER_APP\",\n accessor: \"hideFinishButtonInCourierApp\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.MULTI_SELECTION_IN_COURIER_APP\",\n accessor: \"multiSelectionInCourierApp\",\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.REMOVE_CLOSED_ORDERS_FROM_CYCLE\",\n accessor: \"removeClosedOrdersFromCycle\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n ]],\n },\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.SHOW_POD_SCREEN_IN_COURIER_APP\",\n accessor: \"showPODScreenInCourierApp\",\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.USE_ADDRESS_FOR_NAVIGATION\",\n accessor: \"useAddressForNavigation\",\n isEditable: true,\n inlineType: 'inlineOdd',\n isInline: true,\n type: CONTROL_TYPE.switch\n }, \n {\n title: \"settings.courierSettings.ENABLE_COLLECT_ORDERS_STEP_AT_PICKUP\",\n accessor: \"enableCollectOrdersStepAtPickup\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n ]],\n },\n ],\n },\n {\n title: \"settings.courierSettings.CYCLE_CONFIRMATION_SETTINGS\",\n isEditable: true,\n type: CONTROL_TYPE.sectionTab,\n items: [\n {\n isEditable: true,\n isInline: true,\n title: 'settings.courierSettings.ORDER_BASED_LABEL',\n type: CONTROL_TYPE.switchGroups,\n items: [[\n {\n title: \"settings.courierSettings.ON_MANUAL_CYCLE_EXTENSION\",\n accessor: \"onManualCycleExtension\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_MANUAL_CYCLE_APPROVE\",\n accessor: \"onManualCycleApprove\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_AUTO_CYCLE_EXTENSION\",\n accessor: \"onAutoCycleExtension\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_AUTO_CYCLE_APPROVE\",\n accessor: \"onAutoCycleApprove\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ]],\n },\n {\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switchGroups,\n title: 'settings.courierSettings.HOURLY_BASED_LABEL',\n items: [[\n {\n title: \"settings.courierSettings.ON_MANUAL_CYCLE_EXTENSION_FOR_SALARY_COURIER\",\n accessor: \"onManualCycleExtensionForSalaryCourier\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_MANUAL_CYCLE_APPROVE_FOR_SALARY_COURIER\",\n accessor: \"onManualCycleApproveForSalaryCourier\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_AUTO_CYCLE_EXTENSION_FOR_SALARY_COURIER\",\n accessor: \"onAutoCycleExtensionForSalaryCourier\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.courierSettings.ON_AUTO_CYCLE_APPROVE_FOR_SALARY_COURIER\",\n accessor: \"onAutoCycleApproveForSalaryCourier\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ]],\n },\n {\n title: \"settings.courierSettings.COURIER_WAITING_APPROVE_TIMEOUT\",\n accessor: \"courierWaitingApproveTimeout\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n measure: 'covertTime.TIME_MIN',\n },\n {\n title: \"settings.courierSettings.REJECT_CYCLE_ON_COURIER_APPROVE_TIMEOUT\",\n accessor: \"rejectCycleOnCourierApproveTimeout\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ],\n }\n ],\n actionName: COURIER_SETTINGS,\n actionLoad: COURIER_SETTINGS_GET,\n initNewItemModel: item => ({\n ...item, courierConfirmationOptions: item.courierConfirmationOptions || [],\n }),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.courierAppSettings,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n label: \"settings.courierSettings.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.COURIER_MANAGEMENT_LABEL\" }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n })\n ],\n mappingLambda: state => {\n return ({\n id: \"courierappsettigns\",\n ...state.restaurant.data.courierControlSettings,\n ...state.restaurant.data.courierDisplaySettings,\n ...state.restaurant.data.courierInterfaceSettings,\n ...state.restaurant.data.courierConfirmationSettings,\n });\n }\n });\n}\n","import SectionModel from \"../../models/sectionModel\";\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n TYPE_SECTION_MODEL\n} from \"../../utils/enums\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {\n BUSINESS_APP_CONFIGURATION, BUSINESS_APP_CONFIGURATION_GET,\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport i18n from \"../../i18n.js\";\n\nexport function createBusinessAppSettingsModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.businessAppConfiguration.ACKNOWLEDGE_PREORDER\",\n isEditable: true,\n accessor: 'acknowledgePreorder',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SEND_COURIER_ASSIGNED_NOTIFICATION\",\n isEditable: true,\n accessor: 'sendCourierAssignedNotification',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.ALWAYS_SHOW_CONSUMER_PHONE\",\n isEditable: true,\n accessor: 'alwaysShowConsumerPhone',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n // {\n // title: \"settings.businessAppConfiguration.HIDE_COURIER_PHONE_NUMBER\",\n // isEditable: true,\n // accessor: 'hideCourierPhoneNumber',\n // isInline: true,\n // type: CONTROL_TYPE.switch,\n // },\n {\n title: \"settings.businessAppConfiguration.HIDE_CONSUMER_NAME\",\n isEditable: true,\n accessor: 'hideConsumerName',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n // {\n // title: \"settings.businessAppConfiguration.SHOW_CASH_PAYMENT_INFO\",\n // isEditable: true,\n // accessor: 'showCashPaymentInfo',\n // isInline: true,\n // type: CONTROL_TYPE.switch,\n // },\n {\n title: \"settings.businessAppConfiguration.ALWAYS_SHOW_CONSUMER_ADDRESS\",\n isEditable: true,\n accessor: 'alwaysShowConsumerAddress',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.INCLUDE_DELIVERY_PRICE\",\n isEditable: true,\n accessor: 'includeDeliveryPrice',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n // {\n // title: \"settings.businessAppConfiguration.SHOW_CREDIT_CARD_PAYMENT_INFO\",\n // isEditable: true,\n // accessor: 'showCreditCardPaymentInfo',\n // isInline: true,\n // type: CONTROL_TYPE.switch,\n // },\n {\n title: \"settings.businessAppConfiguration.SHOW_DRIVER_TIP\",\n isEditable: true,\n accessor: 'showDriverTip',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SHOW_ETA_FOR_NEXT_PICKUP_ONLY\",\n isEditable: true,\n accessor: 'showETAForNextPickupOnly',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SHOW_GLOBAL_DISCOUNT_INFO\",\n isEditable: true,\n accessor: 'showGlobalDiscountInfo',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SHOW_TOP_UP_TO_MINIMUM\",\n isEditable: true,\n accessor: 'showTopUpToMinimum',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.DO_NOT_ALLOW_ASSISTANCE_ORDER_CREATION\",\n isEditable: true,\n accessor: 'doNotAllowAssistOrderCreation',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SHOW_SERVICE_FEE\",\n isEditable: true,\n accessor: 'showServiceFee',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.ALWAYS_SHOW_COOKING_TIME_SPAN\",\n isEditable: true,\n accessor: 'alwaysShowCookingTimeSpan',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.REQUIRE_PHONE_NUMBER_ON_CREATION\",\n isEditable: true,\n accessor: 'requirePhoneNumberOnOrderCreation',\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.businessAppConfiguration.SHOW_PREORDER_SPAN\",\n isEditable: true,\n accessor: 'showPreorderSpan',\n isInline: true,\n isInteger: true,\n type: CONTROL_TYPE.number,\n measure: i18n.t(\"settings.settings.numericalSettings.TIME_MEASURE\"),\n },\n ],\n actionName: BUSINESS_APP_CONFIGURATION,\n actionLoad: BUSINESS_APP_CONFIGURATION_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.businessAppSettings,\n label: \"settings.businessAppConfiguration.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n })\n ],\n mappingLambda: state => {\n return state.restaurant?.data?.businessAppSettings || {};\n }\n });\n}\n","import i18n from '../../i18n';\n\nimport SectionModel from '../../models/sectionModel';\nimport { PERSONAL_SETTING, PERSONAL_SETTING_PASSWORD } from '../../store/reducers/userModel/userModel-actions';\nimport { CONTROL_TYPE, languages, MODEL_CONTROL_TYPE, TYPE_PATTERN, TYPE_SECTION_MODEL } from '../../utils/enums';\nimport {getFullName, getPersonalSettings, getUserName} from '../userModel';\nimport { getPattern } from '../../utils/objects-util';\nimport User from '../user';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { createControlModel } from '../controlModelFactory';\nimport { isMobileWidth } from '../restaurant';\n\nexport function createPersonalSettingsSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.personalSettings.personalSettings.LABEL\",\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: '',\n accessor: 'avatarUrl',\n isEditable: true,\n type: CONTROL_TYPE.image,\n },\n {\n title: 'settings.personalSettings.personalSettings.NAME_LABEL',\n accessor: 'userFirstAndLastname',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.personalSettings.personalSettings.PHONE_NUMBER_LABEL',\n accessor: 'phoneNumber',\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.personalSettings.personalSettings.EMAIL_LABEL',\n accessor: 'email',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.users.USER_TOOLS_MANAGER_CHANGE_PASSWORD_TOOLTIP',\n width: 35,\n isEditable: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.personalSettingsConfirmPassword,\n iconName: 'passwordIcon',\n tooltipText: i18n.t('settings.users.USER_TOOLS_MANAGER_CHANGE_PASSWORD_TOOLTIP'),\n },\n ],\n },\n {\n title: 'settings.personalSettings.visualSettings.LABEL',\n isEditable: true,\n type: CONTROL_TYPE.sectionGroup,\n items: [\n {\n title: 'settings.personalSettings.visualSettings.TAKE_AWAY_LABEL',\n accessor: 'isHideTakeawayGroup',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.TIME_TILL_AUTO_SNOOZE',\n measure: i18n.t('settings.settings.numericalSettings.TIME_MEASURE'),\n accessor: 'timeTillAutoSnooze',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.visualSettings.LANGUAGE_LABEL',\n accessor: 'language',\n connect: () => ({\n values: languages(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.personalSettings.visualSettings.SNOOZE_TIMEOUT',\n measure: i18n.t('settings.settings.numericalSettings.TIME_MEASURE'),\n accessor: 'snoozeTimeout',\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.personalSettings.visualSettings.HIDE_DELIVERY_REGIONS',\n accessor: 'isHideDeliveryRegions',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.ENABLE_ALARM_POPUPS',\n accessor: 'enableAlarmPopups',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.ORDERS_COLORS',\n accessor: 'ordersColors',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.NEW_ORDER_SOUND',\n accessor: 'newOrderSoundNotification',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n\n {\n title: 'settings.personalSettings.visualSettings.NEW_CONSUMER_ORDER_NOTIFICATION_ENABLED',\n accessor: 'consumerOrderCreatedNotificationEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.ORDER_NOT_DELIVERED_IN_TIME_NOTIFICATION_ENABLED',\n accessor: 'orderNotDeliveredInTimeNotificationEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.COURIERS_COMING_BACK_NOTIFICATION_ENABLED',\n accessor: 'courierComingBackEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.COURIERS_WRONG_ROUTE_NOTIFICATION_ENABLED',\n accessor: 'courierWrongRouteEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.COURIERS_READY_TO_DISPATCH_NOTIFICATION_ENABLED',\n accessor: 'courierReadyToDispatchEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.ASSISTANCE_EXISTS_NOTIFICATION_ENABLED',\n accessor: 'assistanceExistsEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.COURIERS_STOPPED_NOTIFICATION_ENABLED',\n accessor: 'courierStoppedEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.COURIERS_LOST_NOTIFICATION_ENABLED',\n accessor: 'courierLostEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.ORDER_CAN_LATE_NOTIFICATION_ENABLED',\n accessor: 'orderCanLateEnabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.SORT_ORDER_BY_READINESS_TIME',\n accessor: 'sortOrdersBasedOnReadinessTime',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.SHOW_ALL_DEPOTS_ON_MAP_LABEL',\n accessor: 'showAllDepotsOnMap',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.SHOW_EXTRA_SIZE_ORDERS_SEPARATELY_ENABLED',\n accessor: 'isShowExtraSizeGroup',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.personalSettings.visualSettings.IS_HIDE_ORDER_ID',\n accessor: 'isHideOrderId',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.personalSettings.visualSettings.SHOW_ORDER_ID_ON_MAP',\n accessor: 'showOrderIdOnMap',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: 'settings.personalSettings.visualSettings.FILTER_MAP_OBJECTS_BY_CONTROL_CENTER',\n accessor: 'filterMapObjectsByControlCenter',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.personalSettings.visualSettings.ALWAYS_SHOW_ORDER_TARGET_TIME\",\n accessor: \"alwaysShowOrderTargetTime\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n ],\n },\n ],\n key: 'userId',\n actionName: PERSONAL_SETTING,\n initNewItemModel: user => {\n return {\n ...user,\n userFirstAndLastname: getFullName(user),\n };\n },\n typeAction: args.typeAction,\n isPasswordConfirm: true,\n stayAfterSave: false,\n parentUrl: TYPE_SECTION_MODEL.personalSettings,\n typeModel: TYPE_SECTION_MODEL.personalSettings,\n saveControlsConfig: {\n cancel: { title: 'basic.RESET_BUTTON', action: () => {}, isInit: true },\n },\n label: 'settings.personalSettings.LABEL',\n breadcrumbs: [createBreadcrumbModel({ label: 'header.menu.SETTINGS_LABEL' })],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n mappingLambda: state =>\n getPersonalSettings(\n state.userModel.data.find(f => f.userId === User.instance.getCurrentUserInfo()['userId'])\n ),\n });\n}\n\nexport function createPersonalSettingsConfirmPasswordSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.map.NAME_LABEL',\n accessor: 'userName',\n pattern: getPattern(TYPE_PATTERN.userName),\n patternError: i18n.t('settings.users.USER_NAME_PATTERN_ERROR'),\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.personalSettings.personalSettings.NEW_PASSWORD_LABEL',\n accessor: 'newPassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n {\n title: 'settings.personalSettings.personalSettings.RETYPE_PASSWORD_LABEL',\n accessor: 'retypePassword',\n isEditable: true,\n isRequired: true,\n type: CONTROL_TYPE.password,\n },\n ],\n key: 'userId',\n actionName: PERSONAL_SETTING_PASSWORD,\n initNewItemModel: user => {\n return {\n userId: user.userId,\n userName: user.userName || getUserName(user),\n newPassword: '',\n retypePassword: '',\n };\n },\n typeAction: args.typeAction,\n isPasswordConfirm: true,\n typeModel: TYPE_SECTION_MODEL.personalSettingsConfirmPassword,\n parentUrl: TYPE_SECTION_MODEL.personalSettings,\n mappingLambda: () => User.instance.getCurrentUserInfo(),\n });\n}\n","\nimport SectionModel from \"../../models/sectionModel\";\nimport { TELEGRAM_SETTING } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {CONTROL_TYPE, MODEL_CONTROL_TYPE, TYPE_SECTION_MODEL} from \"../../utils/enums\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createTelegramSettingsSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title:\"settings.telegramSettings.telegramSettings.REQUIRE_WAITING_TIME_LABEL\",\n accessor: \"requireWaitingTime\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.SHOW_MAP_LABEL\",\n accessor: \"showMap\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.NOTIFY_COURIER_DISPATCHED\",\n accessor: \"notifyCourierDispatched\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.ALLOW_ORDER_DELETION\",\n accessor: \"allowOrderDeletion\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.NOTIFY_DELIVERED_ORDER\",\n accessor: \"notifyDeliveredOrder\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.ENABLE_PHONE_QUERY\",\n accessor: \"enablePhoneQuery\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.ALLOW_ORDER_DELAY\",\n accessor: \"allowOrderDelay\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.ALLOW_ORDER_VIP\",\n accessor: \"allowOrderSetVIP\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.HIDE_READY_BUTTON\",\n accessor: \"hideReadyButton\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.REQUIRE_PHONE_NUMBER\",\n accessor: \"requirePhoneNumberOnOrderCreation\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title:\"settings.telegramSettings.telegramSettings.WAITING_TIMES\",\n accessor: \"waitingTimes\",\n isEditable: true,\n isNumber: true,\n type: CONTROL_TYPE.arrayItems\n }\n ],\n actionName: TELEGRAM_SETTING,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: TYPE_SECTION_MODEL.telegramSettings,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n label: \"settings.telegramSettings.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({ label: \"header.menu.SETTINGS_LABEL\" }),\n createBreadcrumbModel({ label: \"settings.INTEGRATIONS_LABEL\" }),\n ],\n mappingLambda: state => ({\n id: \"telegramsettings\",\n ...state.restaurant.data.telegramConfiguration,\n waitingTimesSelected: []\n })\n });\n}\n","\nimport SectionModel from '../../models/sectionModel';\n\nimport {\n DEPOT_BUSINESS_DEEP_LINK,\n DEPOT_BUSINESS_DEEP_LINK_CREATE,\n DEPOT_BUSINESS_PRODUCT_DEEP_LINK,\n DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE,\n MARKETPLACE_DEEP_LINK_CREATE,\n ORDERING_MENU_GET,\n} from '../../store/reducers/restaurant/restaurant-actions';\n\nimport {\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport {createControlModel, filtrateControlByDepotRole} from '../controlModelFactory';\nimport { getHistoryLocationParams } from '../../utils/routesHelper';\nimport { getBusinessName, getDepotNameById, getNameForProductsByIds, isMobileWidth } from '../restaurant';\n\nexport function createDepotBusinessDeepLinkEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"id\",\n clickAction: DEPOT_BUSINESS_DEEP_LINK_CREATE,\n label: \"settings.deepLink.CREATE\",\n type: CONTROL_TYPE.button,\n isShow: item => !item.link,\n },\n {\n title: \"\",\n accessor: \"link\",\n type: CONTROL_TYPE.deepLinkStat,\n isEditable: true,\n isFillContent: true,\n isShow: item => !!item.link,\n }\n ],\n initNewItemModel: item => {\n return item;\n },\n label: \"settings.deepLink.DEPOT_LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n })\n ],\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ]),\n actionName: DEPOT_BUSINESS_DEEP_LINK,\n actionLoad: ORDERING_MENU_GET,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n stayAfterSave: true,\n mappingLambda: state => {\n return state.restaurant.data.businessMenu || [];\n },\n });\n}\n\nexport function createDepotBusinessProductDeepLinkEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"id\",\n clickAction: DEPOT_BUSINESS_PRODUCT_DEEP_LINK_CREATE,\n label: \"settings.deepLink.CREATE\",\n type: CONTROL_TYPE.button,\n isShow: item => !item.link,\n },\n {\n title: \"\",\n accessor: \"link\",\n type: CONTROL_TYPE.deepLinkStat,\n isEditable: true,\n isFillContent: true,\n isShow: item => !!item.link,\n }\n ],\n initNewItemModel: item => {\n return item;\n },\n label: \"settings.deepLink.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId } = getHistoryLocationParams(window.location.search);\n return getBusinessName(parentId);\n },\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.MENU_BUSINESS_CATEGORY_TAB',\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id);\n },\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { parentId, id, subId } = getHistoryLocationParams(window.location.search);\n return getNameForProductsByIds(parentId, id, subId);\n },\n })\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n actionName: DEPOT_BUSINESS_PRODUCT_DEEP_LINK,\n actionLoad: ORDERING_MENU_GET,\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink,\n parentUrl: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuCategoryProducts,\n stayAfterSave: true,\n mappingLambda: state => {\n const businessMenu = state.restaurant.data.businessMenu || {};\n return (businessMenu.categories || []).flatMap(c => c.products || []);\n },\n });\n}\n\nexport function createMarketplaceDeepLinkEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"id\",\n clickAction: MARKETPLACE_DEEP_LINK_CREATE,\n label: \"settings.deepLink.CREATE\",\n type: CONTROL_TYPE.button,\n isShow: item => !item.marketplaceLink,\n },\n {\n title: \"\",\n accessor: \"marketplaceLink\",\n type: CONTROL_TYPE.deepLinkStat,\n isEditable: true,\n isFillContent: true,\n isShow: item => !!item.marketplaceLink,\n }\n ],\n initNewItemModel: item => {\n return item;\n },\n label: \"settings.deepLink.LABEL\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n })\n ],\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth\n }),\n ],\n saveControlsConfig: {\n cancel: { title: \"basic.CANCEL_BUTTON\", action: ()=> {}, isInit: true }\n },\n actionName: DEPOT_BUSINESS_PRODUCT_DEEP_LINK,\n typeAction: args.typeAction,\n typeModel: MARKETPLACE_SETTINGS_MODEL.deepLink,\n stayAfterSave: true,\n mappingLambda: state => state.restaurant.data.paymentsConfiguration,\n });\n}\n","\nimport SectionModel from '../../models/sectionModel';\nimport {CONTROL_TYPE, MARKETPLACE_SETTINGS_MODEL, MODEL_CONTROL_TYPE, MODEL_TYPE} from '../../utils/enums';\nimport { REFERRAL_SETTINGS, REFERRAL_SETTINGS_GET } from '../../store/reducers/restaurant/restaurant-actions';\nimport { createControlModel } from '../controlModelFactory';\nimport { createBreadcrumbModel } from '../createBreadcrumbModel';\nimport { isMobileWidth } from '../restaurant';\nimport {getInitModel} from \"../initModels.js\";\n\nexport function createReferralSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'logo',\n settingsAaccessor: 'logoSettings',\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n },\n {\n title: 'settings.referral.REFERRAL_BONUS',\n accessor: 'referralBonus',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.referral.REFERRED_BONUS',\n accessor: 'referredBonus',\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.referral.ENABLED_LABEL',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n {\n title: 'settings.referral.NAME_TRANSLATIONS',\n accessor: 'nameTranslations',\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.languageEditor,\n },\n ],\n actionName: REFERRAL_SETTINGS,\n actionLoad: REFERRAL_SETTINGS_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.referralSettings, item),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.referral,\n saveControlsConfig: {\n cancel: { title: 'basic.RESET_BUTTON', action: () => {}, isInit: true },\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.marketplaceMessage.LOYALTY\",\n })\n ],\n label: 'settings.referral.MENU_LABEL',\n mappingLambda: state => {\n return state.restaurant.data && state.restaurant.data.referral;\n },\n });\n}\n","import SectionModel from \"../../models/sectionModel.js\";\nimport {CONTROL_TYPE, MARKETPLACE_SETTINGS_MODEL, MODEL_CONTROL_TYPE, MODEL_TYPE} from \"../../utils/enums.js\";\nimport {\n LOYALTY_SETTINGS_CASHBACK, LOYALTY_SETTINGS_GET,\n LOYALTY_SETTINGS_REGISTER_VOUCHER,\n} from \"../../store/reducers/restaurant/restaurant-actions.js\";\nimport {createControlModel} from \"../controlModelFactory.js\";\nimport {isMobileWidth} from \"../restaurant.js\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel.js\";\nimport {getInitModel} from \"../initModels.js\";\n\nexport function createLoyaltySettingsCashbackSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.loyaltyCashback.CASHBACK',\n accessor: 'spendBonusPercent',\n isEditable: true,\n type: CONTROL_TYPE.number,\n max: () => 100,\n isItemValid: item => item.spendBonusPercent >= 0 && item.spendBonusPercent <= 100,\n useColorRed: item => !(item.spendBonusPercent >= 0 && item.spendBonusPercent <= 100),\n measure: '%'\n },\n {\n title: 'settings.loyaltyCashback.TARGET',\n accessor: 'accumulatedBonusTarget',\n isEditable: true,\n type: CONTROL_TYPE.number,\n isInline: true,\n },\n ],\n actionName: LOYALTY_SETTINGS_CASHBACK,\n actionLoad: LOYALTY_SETTINGS_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.marketplaceMessage.LOYALTY\",\n }),\n ],\n label: 'settings.loyaltyCashback.MENU_LABEL',\n mappingLambda: state => {\n const settings = (state.restaurant.data && state.restaurant.data.loyaltySettings) || {};\n return {...settings, spendBonusPercent: (settings.spendBonusPercent || 0) * 100}\n },\n });\n}\n\nexport function createLoyaltySettingsRegisterBonusSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: '',\n accessor: 'bonus_info',\n isEditable: true,\n isFillContent: true,\n isItemValid: item => {\n if(!item.bonus_info) return true;\n\n const percent = item?.bonus_info?.checkout_limit_percent;\n const bonus = item?.bonus_info?.bonus;\n const isNameExist = item?.bonus_info?.bonus_name;\n const isValidPercent = percent >= 0.01 && percent <= 1.0;\n const isValidValidityPeriod = item?.bonus_info?.bonus_expiration !== '00:00:00';\n return isValidPercent && isValidValidityPeriod && isNameExist && bonus;\n },\n zeroValueIsOff: false,\n type: CONTROL_TYPE.bonusVoucher,\n },\n ],\n actionName: LOYALTY_SETTINGS_REGISTER_VOUCHER,\n actionLoad: LOYALTY_SETTINGS_GET,\n initNewItemModel: item => ({ bonus_info: getInitModel(MODEL_TYPE.loyaltyRegisterVoucher, item) }),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n ],\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.marketplaceMessage.LOYALTY\",\n }),\n ],\n label: 'settings.loyaltyRegisterBonus.LABEL',\n mappingLambda: state => {\n const settings = state.restaurant.data && state.restaurant.data.loyaltySettings;\n return settings || {};\n },\n });\n}\n","\nimport SectionModel from \"../../models/sectionModel\";\nimport {\n CONTROL_TYPE, MARKETPLACE_SETTINGS_MODEL, MODEL_CONTROL_TYPE, MODEL_TYPE,\n} from \"../../utils/enums\";\nimport {\n DRIVER_TIP,\n DRIVER_TIP_GET\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {getInitModel} from \"../initModels\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createDriverTipSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.driverTip.MAX_VALUE\",\n accessor: \"maxValue\",\n isEditable: true,\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.driverTip.PREDEFINED_VALUES\",\n accessor: \"predefinedValues\",\n isEditable: true,\n isNumber: true,\n type: CONTROL_TYPE.arrayItems\n },\n {\n title: \"settings.driverTip.ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n }\n ],\n actionName: DRIVER_TIP,\n actionLoad: DRIVER_TIP_GET,\n initNewItemModel: item => item,\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.driverTip,\n saveControlsConfig: {\n cancel: {\n title: \"basic.RESET_BUTTON\",\n action: ()=> {}, isInit: true\n }\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n })\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\",\n }),\n createBreadcrumbModel({\n label: 'settings.orderingmenu.DELIVERY',\n }),\n ],\n label: \"settings.driverTip.MENU_LABEL\",\n mappingLambda: state => getInitModel(MODEL_TYPE.driverTip, state.restaurant.data.driverTip)\n });\n}\n","import { getInitModel } from \"../initModels\";\nimport SectionModel from \"../../models/sectionModel\";\nimport {\n CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE\n} from '../../utils/enums';\nimport { SERVICE_FEE, SERVICE_FEE_GET } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {createControlModel} from \"../controlModelFactory\";\nimport {isMobileWidth} from \"../restaurant\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\n\nexport function createServiceFeeSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.serviceFee.FIX_VALUE_LABEL\",\n accessor: \"fixValue\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: \"settings.serviceFee.FIX_PERCENT_LABEL\",\n accessor: \"fixPercent\",\n isEditable: true,\n type: CONTROL_TYPE.number,\n },\n {\n title: \"settings.serviceFee.ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n type: CONTROL_TYPE.switch,\n isInline: true,\n },\n ],\n actionName: SERVICE_FEE,\n actionLoad: SERVICE_FEE_GET,\n initNewItemModel: item => getInitModel(MODEL_TYPE.serviceFeeModel, item),\n typeAction: args.typeAction,\n stayAfterSave: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.serviceFee,\n saveControlsConfig: {\n cancel: {\n title: \"basic.RESET_BUTTON\",\n action: ()=> {}, isInit: true\n },\n save: {\n action: (item, history)=> {\n history.push(MARKETPLACE_SETTINGS_MODEL.serviceFee);\n }\n }\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n })\n ],\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"header.menu.MARKETPLACE_SETTINGS\",\n }),\n ],\n label: \"settings.serviceFee.LABEL\",\n mappingLambda: state => state.restaurant.data && state.restaurant.data.serviceFee\n });\n}","import SectionModel from \"../../models/sectionModel.js\";\nimport {\n CUSTOMER_SERVICE_MODEL,\n TYPE_ACTION,\n} from \"../../utils/enums.js\";\nimport React from \"react\";\nimport CustomerServiceOrders from \"../../app/components/CustomerServiceOrders/CustromerServiceOrders.jsx\";\nimport CustomerReviews from \"../../app/components/CustomerReviews/index.js\";\nimport Customers from \"../../app/components/Customers/index.js\";\nimport CustomerSales from \"../../app/components/CustomerSales/index.js\";\nimport {CustomerServiceChat} from \"../../app/components/CustomerServiceChat/CustomerServiceChat.jsx\";\n\nexport function createCustomerServiceOrderSection() {\n return new SectionModel({\n columns: [\n {\n component: function() {\n return ;\n },\n },\n ],\n typeAction: TYPE_ACTION.edit,\n customSettings: 'adminOrderFixed',\n initNewItemModel: () => ({}),\n typeModel: CUSTOMER_SERVICE_MODEL.order,\n isHideControls: true,\n mappingLambda: state => ({}),\n });\n}\n\nexport function createCustomerServiceReviewsSection() {\n return new SectionModel({\n columns: [\n {\n component: function() {\n return ;\n },\n },\n ],\n typeAction: TYPE_ACTION.edit,\n customSettings: 'adminOrderFixed',\n initNewItemModel: () => ({}),\n typeModel: CUSTOMER_SERVICE_MODEL.order,\n isHideControls: true,\n mappingLambda: state => ({}),\n });\n}\n\nexport function createCustomerServiceCustomersSection() {\n return new SectionModel({\n columns: [\n {\n component: function() {\n return ;\n },\n },\n ],\n typeAction: TYPE_ACTION.edit,\n customSettings: 'adminOrderFixed',\n initNewItemModel: () => ({}),\n typeModel: CUSTOMER_SERVICE_MODEL.order,\n isHideControls: true,\n mappingLambda: state => ({}),\n });\n}\n\nexport function createCustomerServiceSalesSection() {\n return new SectionModel({\n columns: [\n {\n component: function() {\n return ;\n },\n },\n ],\n typeAction: TYPE_ACTION.edit,\n customSettings: 'adminOrderFixed',\n initNewItemModel: () => ({}),\n typeModel: CUSTOMER_SERVICE_MODEL.sales,\n isHideControls: true,\n mappingLambda: state => ({}),\n });\n}\n\nexport function createCustomerServiceSupportChatSection() {\n return new SectionModel({\n columns: [\n {\n component: function() {\n return ;\n },\n },\n ],\n typeAction: TYPE_ACTION.edit,\n customSettings: 'adminOrderFixed',\n initNewItemModel: () => ({}),\n typeModel: CUSTOMER_SERVICE_MODEL.sales,\n isHideControls: true,\n mappingLambda: state => ({}),\n });\n}","\nimport SectionModel from \"../../models/sectionModel\";\nimport { ORDERING_MENU_GET, ORDERING_MENU_BUSINESS_SCHEDULE } from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {\n ORDERING_MENU_TYPE_SECTION_MODEL,\n CONTROL_TYPE,\n MODEL_TYPE,\n MODEL_CONTROL_TYPE, TYPE_SECTION_DEPOT_MODEL,\n} from '../../utils/enums';\nimport { getInitModel } from \"../initModels\";\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {getDepotNameById } from \"../restaurant\";\nimport {createControlModel, filtrateControlByDepotRole} from \"../controlModelFactory\";\n\nexport function createBusinesScheduleSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_SHEDULE_LAPSE_LABEL\",\n accessor: \"schedule\",\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_SCHEDULE,\n initNewItemModel: item => {\n return {\n ...(item || {}),\n schedule: getInitModel(MODEL_TYPE.scheduleModel, item && item.schedule)\n };\n },\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: {\n action: (item, history)=> {\n history.push(ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule + history.location.search);\n }\n },\n save: {\n action: (item, history)=> {\n history.push(ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule + history.location.search);\n }\n }\n },\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ]),\n label: \"settings.orderingmenu.MENU_BUSINESS_SHEDULE\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n })\n ],\n mappingLambda: state => state.restaurant.data.businessMenu || {}\n });\n}\n","import SectionModel from \"../../models/sectionModel\";\n\nimport {ORDERING_MENU_BUSINESS_INFO, ORDERING_MENU_GET} from \"../../store/reducers/restaurant/restaurant-actions\";\n\nimport {\n CONTROL_TYPE,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n TYPE_SECTION_DEPOT_MODEL,\n TYPE_SWITCH_CONTROL_COLOR,\n} from '../../utils/enums';\nimport {getInitModel} from \"../initModels\";\nimport {getDepotNameById} from '../restaurant';\nimport {createBreadcrumbModel} from \"../createBreadcrumbModel\";\nimport {getHistoryLocationParams} from \"../../utils/routesHelper\";\nimport {createControlModel, filtrateControlByDepotRole} from \"../controlModelFactory\";\n\nexport function createBusinesInfoEditSection({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"\",\n accessor: \"header\",\n settingsAaccessor: \"header_settings\",\n isEditable: true,\n type: CONTROL_TYPE.imageEdit,\n tabs: [{\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MAIN_HEADER\",\n accessor: \"header\",\n settingsAaccessor: \"header_settings\",\n }, {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_SECOND_HEADER\",\n accessor: \"header_mini\",\n settingsAaccessor: \"header_mini_settings\",\n }]\n },\n {\n id: \"group1\",\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ENABLED_LABEL\",\n accessor: \"enabled\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_DELIVERY_LABEL\",\n accessor: \"disable_delivery\",\n typeColor: TYPE_SWITCH_CONTROL_COLOR.red,\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_TAKEAWAY_LABEL\",\n accessor: \"disable_takeaway\",\n typeColor: TYPE_SWITCH_CONTROL_COLOR.red,\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MESSAGE_LABEL\",\n accessor: \"message\",\n isEditable: true,\n type: CONTROL_TYPE.textArea\n },\n ],\n isEditable: true,\n type: CONTROL_TYPE.group\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_SCHEDULER_ORDERS\",\n accessor: \"disable_scheduled_orders\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MESSAGE_ENABLED_LABEL\",\n accessor: \"message_enabled\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_SCHEDULED_ORDERS_DISABLED_TAKEWAY\",\n accessor: \"disable_takeaway_scheduled_orders\",\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_GIFT\",\n accessor: \"allow_gift\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DISABLE_ CUTLERY\",\n accessor: \"disable_cutlery\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_CUTLERY_SKU\",\n accessor: \"cutlery_sku\",\n isEditable: true,\n type: CONTROL_TYPE.text,\n isShow : module => !module.disable_cutlery\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_GENERAL_ITEM_SKU\",\n accessor: \"general_item_sku\",\n isEditable: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_NAME_LABEL\",\n accessor: \"name\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ABOUT_LABEL\",\n accessor: \"about\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_KOSHER_LABEL\",\n accessor: \"kosher\",\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ALWAYS_DELIVER_LABEL\",\n accessor: \"always_deliver\",\n maxHeight: '50px',\n isEditable: true,\n isInline: true,\n type: CONTROL_TYPE.switch,\n isShow: () => false,\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_DESCRIPTION_LABEL\",\n accessor: \"description\",\n isEditable: true,\n type: CONTROL_TYPE.richText\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_PHONE_LABEL\",\n accessor: \"phone\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MINIMUM_LABEL\",\n accessor: \"minimum\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ZIPCODE_LABEL\",\n accessor: \"zipcode\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_MINIMUM_TAKEAWAY_LABEL\",\n accessor: \"minimum_takeaway\",\n isEditable: true,\n inlineType: 'inlineOdd',\n type: CONTROL_TYPE.number\n },\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO_ADDRESS_NOTES_LABEL\",\n accessor: \"address_notes\",\n isEditable: true,\n type: CONTROL_TYPE.text\n },\n {\n title: \"new-order-directive.ADDRESS_LABEL\",\n accessor: \"address\",\n isEditable: true,\n isShowIcon: true,\n withEmpty: true,\n type: CONTROL_TYPE.address\n },\n {\n title: \"\",\n accessor: \"address\",\n isEditable: true,\n isFillContent: true,\n isHideSearch: true,\n isHidePolygon: true,\n type: CONTROL_TYPE.mapAddress\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_INFO,\n initNewItemModel: item => getInitModel(MODEL_TYPE.businessInfoModel, item),\n typeAction: args.typeAction,\n typeModel: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo,\n parentUrl: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: { title: \"basic.RESET_BUTTON\", action: ()=> {}, isInit: true }\n },\n label: \"settings.orderingmenu.MENU_BUSINESS_INFO\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: \"settings.map.DEPOT_SETTINGS_LABEL\"\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getDepotNameById(id);\n }\n })\n ],\n controls: filtrateControlByDepotRole([\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n }),\n ]),\n mappingLambda: state => state.restaurant.data.businessMenu || {}\n });\n}\n","\nimport SectionModel from \"../../models/sectionModel\";\nimport {\n ORDERING_MENU_GET,\n ORDERING_MENU_BUSINESS_SCHEDULE\n} from \"../../store/reducers/restaurant/restaurant-actions\";\nimport {\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL,\n CONTROL_TYPE,\n MODEL_TYPE,\n MODEL_CONTROL_TYPE,\n MARKETPLACE_SETTINGS_MODEL\n} from \"../../utils/enums\";\nimport { getInitModel } from \"../initModels\";\nimport { createBreadcrumbModel } from \"../createBreadcrumbModel\";\nimport { getHistoryLocationParams } from \"../../utils/routesHelper\";\nimport { getMenuTemplateNameById } from \"../restaurant\";\nimport { createControlModel } from \"../controlModelFactory\";\n\nexport function createBusinesScheduleSectionMenuTemplate({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: \"settings.orderingmenu.MENU_BUSINESS_SHEDULE_LAPSE_LABEL\",\n accessor: \"schedule\",\n isEditable: true,\n isFillContent: true,\n type: CONTROL_TYPE.schedule\n }\n ],\n actionLoad: ORDERING_MENU_GET,\n actionName: ORDERING_MENU_BUSINESS_SCHEDULE,\n initNewItemModel: item => {\n return {\n ...(item || {}),\n schedule: getInitModel(MODEL_TYPE.scheduleModel, item && item.schedule)\n };\n },\n typeAction: args.typeAction,\n typeModel:\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n stayAfterSave: true,\n saveControlsConfig: {\n cancel: {\n action: (item, history) => {\n history.push(\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule +\n history.location.search\n );\n }\n },\n save: {\n action: (item, history) => {\n history.push(\n ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule +\n history.location.search\n );\n }\n }\n },\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back\n })\n ],\n label: \"settings.orderingmenu.MENU_BUSINESS_SHEDULE\",\n breadcrumbs: [\n createBreadcrumbModel({\n label: 'header.menu.MARKETPLACE_SETTINGS',\n }),\n createBreadcrumbModel({\n label: \"settings.orderingmenu.APP_BUILDER\",\n }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return getMenuTemplateNameById(id);\n },\n }),\n ],\n mappingLambda: state => state.restaurant.data.businessMenu || {}\n });\n}\n","import environment from \"environment\";\nimport i18n from \"../i18n\";\n\nimport { SOUND_ERRORS, SOUND_NOTIFICATION } from \"../utils/enums\";\nimport { isNeedToAlarm } from \"../services/notification\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class AudioService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use AudioService.instance() instead of new.\"\n );\n\n this.audioPlayStack = [];\n this.conveyorInProcess = false;\n\n this.processConveyor = this.processConveyor.bind(this);\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new AudioService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n playSound(audioEnum) {\n if (!audioEnum || !isNeedToAlarm(audioEnum)) return;\n\n this.audioPlayStack.push(SOUND_NOTIFICATION[audioEnum]);\n\n if (!this.conveyorInProcess) {\n this.processConveyor();\n }\n }\n\n processConveyor() {\n this.conveyorInProcess = true;\n const item = this.audioPlayStack.shift();\n if (item) {\n this.doPlaySound(item).then();\n } else {\n this.conveyorInProcess = false;\n }\n }\n\n doPlaySound(audioEnum) {\n return new Promise((resolve, reject) => {\n const audioPath = i18n.t(audioEnum);\n if (audioPath) {\n const audio = new Audio(audioPath);\n audio.addEventListener(\"ended\", () => {\n resolve();\n this.processConveyor();\n });\n audio.play().then(() => {\n\n }, error => {\n const ontIncludeErrorList = [SOUND_ERRORS.notAllowedError];\n if (ontIncludeErrorList.includes(error.name)) {\n this.audioPlayStack.push(audioEnum);\n setTimeout(() => this.processConveyor(), environment.requestAudioTime);\n } else {\n this.processConveyor();\n }\n }\n );\n } else {\n reject(`Audio enum: ${audioEnum} do not contain sound path.`);\n }\n });\n }\n}\n","import environment from \"environment\";\nimport { callServer } from \"../utils/request-util\";\n\nexport function getCustomers(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumers\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function createCustomer(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumers\",\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function customerWalletOperation(consumerId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/bonuses/\" + consumerId,\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function customerAddBonusCard(consumerId, data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/bonuseCard/\" + consumerId,\n method: \"POST\",\n data: {\n bonus: data.bonus,\n name: data.name,\n checkout_limit_percent: data.checkoutLimitPercent,\n expiration: data.expiration,\n multi_use: data.multiUse,\n delivery_type: data.deliveryType,\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function customerDeleteonusCard(cardId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/bonuseCard/\" + cardId,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateLoyaltyLevel(consumerId, loyaltyLeve) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumer/loyaltyLevel/\",\n method: \"PUT\",\n data: {\n UserId: consumerId,\n LoyaltyLevel: loyaltyLeve\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function blockConsumerUser(consumerId, notes) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/blockConsumer/\",\n method: \"POST\",\n data: {\n UserId: consumerId,\n Notes: notes\n }\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function unblockConsumerUser(consumerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/blockConsumer/\" + consumerId,\n method: \"DELETE\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateCommentConsumerUser(consumerId, notes) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumer/serviceNotes/\",\n method: \"PUT\",\n data: {\n UserId: consumerId,\n Notes: notes\n },\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getblockConsumerUserStatus(consumerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/blockConsumer/\" + consumerId,\n method: \"GET\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function customerWalletInfo(consumerId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"callCenter/consumerWallet/\" + consumerId,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getCustomersReport(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"report/consumers\",\n method: \"POST\",\n responseType: \"blob\",\n data,\n roles: [environment.USER_ROLES.all]\n }).then(response=> resolve(response), error => reject(error.response));\n });\n}","import environment from \"environment\";\nimport {callServer} from \"../utils/request-util\";\n\nexport const getBillingPayment = () => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/payment\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const deleteBillingPayment = (data) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/payment\",\n method: \"DELETE\",\n data: data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const addBillingPayment = (data) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/payment\",\n method: \"POST\",\n data: data,\n roles: [\n environment.USER_ROLES.deliveryManager,\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const getBillingAddresses = () => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/addresses\",\n method: \"GET\",\n roles: [\n environment.USER_ROLES.deliveryManager,\n ]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const deleteBillingAddress = (id) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/address/\" + id,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const addBillingAddress = (data) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/address\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const editBillingAddress = (shippingAddressId, data) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/address/\"+ shippingAddressId,\n method: \"PUT\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const setBillingAddress = (shippingAddressId) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/shippingAddressSet/\" + shippingAddressId,\n method: \"PUT\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBillingInfo() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/baseInfo\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBillingPlans() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/plans\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function setAccountPlan(planId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/subscription/\" + planId,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const getAccountCards = () => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/card\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const updateAccountCard = (cardId, card) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/card/\" + cardId,\n method: \"PUT\",\n data: card,\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const billingCardAdd = (data) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/card\",\n data,\n method: \"POST\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const billingCardEdit = (billingInfoId, tokenId) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/card/\" + billingInfoId + \"/\" + tokenId,\n method: \"PUT\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const billingCardDelete = (cardId) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/card/\" + cardId,\n method: \"DELETE\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport const invoicePdf = (invoiceId) => {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/invoice/\" + invoiceId,\n method: \"GET\",\n responseType: \"blob\",\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getBillingUsages() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"billing/usages\",\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n","import i18n from '../i18n';\n\nimport User from './user';\nimport { getPersonalSettings } from './userModel';\n\nimport {\n NOTIFICATION_COLOR_TYPE,\n SEVERITY_NOTIFICATION,\n SOUND_NOTIFICATION,\n TYPE_NOTIFICATION,\n TYPE_STORE_DATA,\n} from '../utils/enums';\nimport { getStoreDataByType } from './storeData';\nimport {getPlaceOrAddress} from \"./order.js\";\n\nexport function getMessageForSeverity(alarm) {\n const { type, args } = alarm;\n\n switch (type) {\n case SEVERITY_NOTIFICATION.orderNotDeliveredInTime:\n return i18n\n .t(\"notification.ORDER_NOT_DELIVERED_IN_TIME\")\n .replace(\"{0}\", getArgsForNotDeliveredInTime(args));\n case SEVERITY_NOTIFICATION.courierLost:\n return i18n\n .t(\"notification.COURIERS_LOST_GROUP\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.courierStopped:\n return i18n\n .t(\"notification.COURIERS_STOPPED_GROUP\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.boxLost:\n return i18n.t(\"notification.BOX_LOST_GROUP\");\n case SEVERITY_NOTIFICATION.orderCanLate:\n return i18n\n .t(\"notification.ORDER_BEGINING_TO_BE_LATE\")\n .replace(\"{0}\", getArgsForNotDeliveredInTime(args));\n case SEVERITY_NOTIFICATION.assistanceExists:\n return i18n\n .t(\"notification.ASSISTANCE_EXISTS_GROUP\")\n .replace(\"{0}\", getArgsForAssistInTime(args));\n case SEVERITY_NOTIFICATION.courierCommingBack:\n return i18n\n .t(\"notification.COURIERS_COMING_BACK_GROUP\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.courierWrongRoute:\n return i18n\n .t(\"notification.COURIER_WRONG_ROUTE_GROUP\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.courierReadyToDispatch:\n return i18n\n .t(\"notification.COURIERS_READY_TO_DISPATCH_GROUP\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.orderIsNotAssignedTimeout:\n return i18n\n .t(\"notification.ORDER_NOT_ASSIGNED\")\n .replace(\"{0}\", getArgsForCourierLost(args));\n case SEVERITY_NOTIFICATION.consumerOrderCreated:\n return i18n\n .t(\"notification.CONSUMER_ORDER_CREATED\");\n default:\n return \"\";\n }\n}\n\nexport function isNeedToAlarm(type) {\n const personalSettings = getPersonalSettings(User.instance.getCurrentUserInfo());\n // if(!personalSettings || !personalSettings.roles) return false;\n // if(personalSettings.roles.depot || personalSettings.roles.deliveryManager) return true;\n\n switch (type) {\n case SEVERITY_NOTIFICATION.orderNotDeliveredInTime:\n return personalSettings.orderNotDeliveredInTimeNotificationEnabled;\n case SEVERITY_NOTIFICATION.courierCommingBack:\n return personalSettings.courierComingBackEnabled;\n case SEVERITY_NOTIFICATION.assistanceExists:\n return personalSettings.assistanceExistsEnabled;\n case SEVERITY_NOTIFICATION.orderCanLate:\n return personalSettings.orderCanLateEnabled;\n case SEVERITY_NOTIFICATION.courierReadyToDispatch:\n return personalSettings.courierReadyToDispatchEnabled;\n case SEVERITY_NOTIFICATION.orderIsNotAssignedTimeout:\n return true;\n case SEVERITY_NOTIFICATION.courierWrongRoute:\n return personalSettings.courierWrongRouteEnabled;\n case SEVERITY_NOTIFICATION.courierLost:\n return personalSettings.courierLostEnabled;\n case SEVERITY_NOTIFICATION.courierStopped:\n return personalSettings.courierStoppedEnabled;\n case \"newOrderCreated\":\n return personalSettings.newOrderSoundNotification;\n case \"newConsumerOrderCreatedFromLoop\":\n return true;\n case \"newUnreadMessage\":\n return true;\n case \"newDialogItem\":\n return true;\n case SEVERITY_NOTIFICATION.consumerOrderCreated:\n return personalSettings.consumerOrderCreatedNotificationEnabled;\n default:\n return false;\n }\n}\n\nexport function isNeedToAddSeverity(type) {\n const personalSettings = getPersonalSettings(\n User.instance.getCurrentUserInfo()\n );\n\n switch (type) {\n case SOUND_NOTIFICATION.newOrderCreated:\n return personalSettings.newOrderSoundNotification;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.orderNotDeliveredInTime]:\n return personalSettings.orderNotDeliveredInTimeNotificationEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.courierCommingBack]:\n return personalSettings.courierComingBackEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.assistanceExists]:\n return personalSettings.assistanceExistsEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.orderCanLate]:\n return personalSettings.orderCanLateEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.courierReadyToDispatch]:\n return personalSettings.courierReadyToDispatchEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.orderIsNotAssignedTimeout]:\n return personalSettings.courierReadyTimeDelay;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.courierWrongRoute]:\n return personalSettings.courierWrongRouteEnabled;\n case SOUND_NOTIFICATION[SEVERITY_NOTIFICATION.consumerOrderCreated]:\n return personalSettings.consumerOrderCreatedNotificationEnabled;\n default:\n return true;\n }\n}\n\nexport function getTypeSeverityNotification(severityNotificatioType) {\n switch (severityNotificatioType) {\n case SEVERITY_NOTIFICATION.boxLost:\n case SEVERITY_NOTIFICATION.orderNotDeliveredInTime:\n return TYPE_NOTIFICATION.errorType;\n case SEVERITY_NOTIFICATION.courierStopped:\n case SEVERITY_NOTIFICATION.courierReadyToDispatch:\n case SEVERITY_NOTIFICATION.orderIsNotAssignedTimeout:\n case SEVERITY_NOTIFICATION.orderCanLate:\n return TYPE_NOTIFICATION.warningType;\n case SEVERITY_NOTIFICATION.assistanceExists:\n case SEVERITY_NOTIFICATION.courierLost:\n case SEVERITY_NOTIFICATION.courierWrongRoute:\n return TYPE_NOTIFICATION.importantWarningType;\n case SEVERITY_NOTIFICATION.courierCommingBack:\n return TYPE_NOTIFICATION.notificationType;\n default:\n return TYPE_NOTIFICATION.warningType;\n }\n}\n\nexport function getMessageForSeverityTypeNotification(type) {\n switch (type) {\n case TYPE_NOTIFICATION.warningType:\n return {\n header: i18n.t(\"notification.WARNING_HEADER\"),\n imgError: \"warning\",\n colorBackground: NOTIFICATION_COLOR_TYPE.blue\n };\n case TYPE_NOTIFICATION.importantWarningType:\n return {\n header: i18n.t(\"notification.IMPORTANT_WARNING_HEADER\"),\n imgError: \"warning\",\n colorBackground: NOTIFICATION_COLOR_TYPE.red\n };\n case TYPE_NOTIFICATION.errorType:\n return {\n header: i18n.t(\"notification.ERROR_HEADER\"),\n imgError: \"error\",\n colorBackground: NOTIFICATION_COLOR_TYPE.red\n };\n case TYPE_NOTIFICATION.notificationType:\n return {\n header: i18n.t(\"notification.NOTIFICATION_HEADER\"),\n imgError: \"notification\",\n colorBackground: NOTIFICATION_COLOR_TYPE.blue\n };\n default:\n return {};\n }\n}\n\nexport function getAlarms(alarms) {\n if (!alarms || !alarms.length) return [];\n const allowMultiNotification = [SEVERITY_NOTIFICATION.orderNotDeliveredInTime, SEVERITY_NOTIFICATION.orderCanLate];\n return alarms\n .filter(alarm=> isNeedToAlarm(alarm.type))\n ?.sort((a, b) => new Date(b.time) - new Date(a.time))\n .reduce((accumulator, alarm) => {\n if (!accumulator.find(f => f.type === alarm.type) || allowMultiNotification.includes(alarm.type)) {\n accumulator.push(alarm);\n }\n\n return accumulator;\n }, []);\n\n}\n\nexport const getIsHideTopNotification = notification => {\n return !notification || !notification.mainMessage;\n}\n\nfunction getArgsForNotDeliveredInTime(args) {\n const orders = getStoreDataByType(TYPE_STORE_DATA.noAssistanceOrders);\n return (\n args.reduce((acc, arg) => {\n const order = orders.find(f => f.id === arg);\n if (order) {\n acc.push(`${order.orderId || ''}${order.orderId ? ',' : ''} ${getPlaceOrAddress(order)}`.trim());\n }\n return acc;\n }, [])[0] || \"\"\n );\n}\n\nfunction getArgsForAssistInTime(args) {\n const orders = getStoreDataByType(TYPE_STORE_DATA.orders);\n return (\n args.reduce((acc, arg) => {\n const order = orders.find(f => f.id === arg);\n if (order) {\n acc.push(order.orderId || \"\");\n }\n return acc;\n }, [])[0] || \"\"\n );\n}\n\nfunction getArgsForCourierLost(args) {\n const couriers = getStoreDataByType(TYPE_STORE_DATA.couriers);\n return (\n args.reduce((acc, arg) => {\n const courier = couriers.find(f => f.userId === arg);\n if (courier) {\n acc.push(courier.firstName + \" \" + courier.lastName);\n }\n return acc;\n }, [])[0] || \"\"\n );\n}\n","export { default } from \"./SwitchControl\";","import {callServer} from \"../utils/request-util\";\nimport environment from \"environment\";\n\nexport function fetchAuthSupportChat() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"chat/auth\",\n method: \"GET\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function fetchDialogsSupportChat() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"chat/pendingChats\",\n method: \"GET\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function pullSupportDialog(chatId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `chat/request/pull/${chatId}`,\n method: \"POST\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function resolveSupportDialog(chatId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `chat/${chatId}/close`,\n method: \"POST\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function startChat(data) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `chat/start`,\n method: \"POST\",\n data: {\n Subject: data.subject,\n DepotId: data.depotId,\n CourierId: data.courierId,\n ConsumerId: data.consumerId\n },\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function addUserToChat(chatId, userId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + `chat/join/${chatId}/${userId}`,\n method: \"POST\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function getUserDataByParticipantId(id) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"chat/user/\" + id,\n method: \"GET\"\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function posrUserDataByParticipant(body) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"chat/users\",\n data: body,\n method: \"POST\",\n roles: [environment.USER_ROLES.supportOperator]\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\n\n","import { useState, useRef, useEffect } from \"react\";\n\nexport function useHover() {\n const [value, setValue] = useState(false);\n\n const ref = useRef(null);\n\n const handleMouseOver = () => setValue(true);\n const handleMouseOut = () => setValue(false);\n\n useEffect(\n () => {\n const node = ref.current;\n if (node) {\n node.addEventListener(\"mouseover\", handleMouseOver);\n node.addEventListener(\"mouseout\", handleMouseOut);\n\n return () => {\n node.removeEventListener(\"mouseover\", handleMouseOver);\n node.removeEventListener(\"mouseout\", handleMouseOut);\n };\n }\n },\n [ref] // Recall only if ref changes\n );\n\n return [ref, value];\n}\n\nexport function useOnClickOutside(ref, handler) {\n useEffect(\n () => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n },\n [ref, handler]\n );\n}\n\nexport const useBubbleClickOutside = (classNames, handler) => {\n const hasBubblingClick = (element) => {\n let currentElement = element;\n while (currentElement.parentNode) {\n currentElement = currentElement.parentNode;\n // eslint-disable-next-line\n if (classNames.some(c => currentElement.classList?.contains(c))) {\n return true;\n }\n }\n return false;\n }\n useEffect(() => {\n const listener = (event) => {\n if(!hasBubblingClick(event.target)) {\n handler();\n }\n }\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n\n // eslint-disable-next-line\n }, [handler, classNames]);\n\n}\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback\n }, [callback])\n\n useEffect(() => {\n if (delay !== null) {\n const id = setInterval(() => savedCallback.current(), delay)\n return () => clearInterval(id)\n }\n }, [delay])\n}","export { default } from \"./LayoutHeaderControls\";","import {\n calculateStringTimespan,\n calculateNumber,\n} from '../app/components/SectionItemAudienceFilter/audienceFilterHelpers.js';\nimport { deleteKeysIfNull } from '../utils/objects-util.js';\nimport i18n from '../i18n.js';\n\nexport const marketplaceCampaignModel = data => ({\n id: data?.id || '',\n enabled: data?.enabled || false, //required\n campaign_type: data?.campaign_type || 0, //required\n start_date: data?.start_date || '', //required\n recurring_type: data?.recurring_type || 0, //required\n name: data?.name || '',\n message: data?.message || '',\n message_title: data?.message_title || '',\n audience_channel: data?.audience_channel === 0 ? null : data?.audience_channel || null,\n audience_filter: data?.audience_filter || null, // getAudienceFilterModel\n bonus_info: data?.bonus_info || null,\n auto_add_quantity: data?.auto_add_quantity || 0,\n allow_multiple_discounts: data?.allow_multiple_discounts || false,\n});\n\nexport const marketplaceCampaignExecutionsModel = data => ({\n campaign_type: data?.campaign_type,\n name: data?.name,\n message: data?.message,\n message_title: data?.message_title,\n bonus_info: data?.bonus_info,\n audience: data?.audience,\n});\n\nexport const calcTimeSpan = (audience_filter, isString = false) => {\n const calcFunction = isString ? calculateStringTimespan : calculateNumber;\n return audience_filter?.map(filter => {\n if (filter.hasOwnProperty('timespan_value') && filter.hasOwnProperty('string_value')) {\n return {\n ...filter,\n timespan_value: calcFunction(filter.timespan_value, filter.string_value),\n };\n } else {\n return filter;\n }\n });\n};\n\nexport const marketplaceCampaignServerModel = data => {\n return {\n ...data,\n start_date: data?.start_date ? data.start_date : new Date(),\n audience_filter: calcTimeSpan(data.audience_filter, true),\n bonus_info: data?.audience_channel !== null ? null : data?.bonus_info\n };\n};\n\nexport const marketplaceCampaignClientModel = data => {\n const audienceFilter = data?.audience_filter?.map(item => deleteKeysIfNull(item)) || null;\n\n return {\n ...data,\n execution: i18n.t('settings.campaigns.EXECUTIONS'),\n audience_filter: calcTimeSpan(audienceFilter),\n };\n};\n","import {orderSourceType, PAY_METHOD, SOURCE_TYPE} from \"./enums.js\";\nimport Store from \"../store/store.js\";\n\nexport const distributeAmount = (total, payments, maxBonus, minCardAmount = 5) => {\n if(maxBonus === 0) {\n payments = payments.filter(p => p.paymethod_id !== PAY_METHOD.bonus);\n }\n const bonusPayment = payments.find(p => !p.isTouched && p.paymethod_id === PAY_METHOD.bonus);\n const touchedPayments = payments.filter(p => p.isTouched);\n const untouchedPayments = payments.filter(p => !p.isTouched && p.paymethod_id !== PAY_METHOD.bonus);\n const totalInCent = total * 100;\n\n const touchedSum = touchedPayments.reduce((acc, cv) => acc += cv.saleAmount * 100, 0);\n let restSum = totalInCent - touchedSum;\n\n if(touchedSum < total * 100 && maxBonus && bonusPayment){\n const bonusInCent = maxBonus * 100;\n const sumForBonus = touchedSum + bonusInCent <= restSum\n ? bonusInCent\n : totalInCent - touchedSum >= bonusInCent\n ? bonusInCent\n : totalInCent - touchedSum;\n restSum -= sumForBonus;\n bonusPayment.saleAmount = sumForBonus;\n bonusPayment.changed = true;\n }\n\n if(touchedSum === totalInCent && maxBonus && bonusPayment) {\n bonusPayment.saleAmount = 0;\n restSum = totalInCent - touchedPayments.reduce((acc, cv) => acc += cv.saleAmount * 100, 0);\n }\n\n const basePayment = Math.floor(restSum / untouchedPayments.length);\n const remainingAmount = restSum % untouchedPayments.length;\n const minCardAmountInCent = minCardAmount * 100;\n\n for (let i = 0; i < untouchedPayments.length; i++) {\n const isCard = untouchedPayments[i].paymethod_id === PAY_METHOD.creditCard;\n untouchedPayments[i] = {\n ...untouchedPayments[i],\n saleAmount: isCard\n ? basePayment === 0 ? 0 : (basePayment < minCardAmountInCent ? minCardAmountInCent : basePayment)\n : (basePayment < 0 ? 0 : basePayment)\n };\n }\n\n if (remainingAmount && remainingAmount !== 0) {\n untouchedPayments[untouchedPayments.length -1].saleAmount += remainingAmount;\n }\n\n const totalUntouched = untouchedPayments.reduce((acc, cv) => acc += cv.saleAmount, 0);\n const totalTouched = touchedPayments.reduce((acc, cv) => acc += (cv.saleAmount || 0) * 100, 0);\n const lastTotal = totalTouched + totalUntouched + (bonusPayment && bonusPayment.changed ? bonusPayment.saleAmount : 0);\n if(totalInCent < lastTotal) {\n let valueToRemove = totalInCent - lastTotal;\n untouchedPayments.forEach(item => {\n if(valueToRemove) {\n const isCard = item.paymethod_id === PAY_METHOD.creditCard;\n const newAmount = item.saleAmount + valueToRemove;\n if(isCard) {\n const value = newAmount >= minCardAmountInCent ? newAmount : minCardAmountInCent;\n valueToRemove = valueToRemove + item.saleAmount - value;\n item.saleAmount = value;\n } else {\n const value = newAmount >= 0 ? newAmount : 0;\n valueToRemove = valueToRemove + item.saleAmount - value;\n item.saleAmount = value;\n }\n }\n });\n\n if(bonusPayment) {\n if(bonusPayment.changed) {\n const newAmount = bonusPayment.saleAmount + valueToRemove;\n const value = newAmount >= 0 ? newAmount : 0;\n valueToRemove = valueToRemove + bonusPayment.saleAmount - value;\n bonusPayment.saleAmount = newAmount;\n } else {\n const newAmount = bonusPayment.saleAmount * 100 + valueToRemove;\n const value = newAmount >= 0 ? newAmount : 0;\n valueToRemove = valueToRemove + bonusPayment.saleAmount * 100 - value;\n bonusPayment.saleAmount = newAmount;\n }\n } else {\n // change bonus value even if it was touched;\n const bonusChanged = payments.find(p => p.paymethod_id === PAY_METHOD.bonus);\n if(bonusChanged && ((bonusChanged.saleAmount * 100 + totalInCent - lastTotal) > 0)) {\n bonusChanged.saleAmount = (bonusChanged.saleAmount * 100 + totalInCent - lastTotal) / 100;\n }\n }\n }\n\n if(bonusPayment) {\n if(bonusPayment.changed) {\n bonusPayment.saleAmount = bonusPayment.saleAmount / 100;\n bonusPayment.changed = undefined;\n // delete bonusPayment.changed;\n }\n return [bonusPayment, ...touchedPayments, ...untouchedPayments.map(p => ({...p, saleAmount: p.saleAmount / 100}))];\n } else {\n return [...touchedPayments, ...untouchedPayments.map(p => ({...p, saleAmount: p.saleAmount / 100}))];\n }\n}\n\nexport const filtratePayments = (payments, newPayment) => {\n const executeType = {\n [PAY_METHOD.creditCard]: [],\n [PAY_METHOD.cash]: [],\n [PAY_METHOD.bonus]: [PAY_METHOD.voucher],\n [PAY_METHOD.discount]: [],\n [PAY_METHOD.terminal]: [],\n [PAY_METHOD.voucher]: [PAY_METHOD.bonus, PAY_METHOD.voucher],\n }[newPayment.paymethod_id];\n return payments.filter(p => !executeType.includes(p.paymethod_id)).concat(newPayment);\n}\n\nexport const getOrderSource = (source, sourceId) => {\n if(!sourceId) {\n return orderSourceType()[source];\n }\n if(source === SOURCE_TYPE.delivapp) {\n const providers = Store?.store?.getState()?.restaurant?.data?.ordersProvider || [];\n const provider = providers.find(p => p.id === sourceId);\n return provider ? (provider.name || provider.id) : orderSourceType()[source];\n }\n\n return orderSourceType()[source];\n}","import environment from \"environment\";\nimport { INTERVAL_COURIER_LOCATIONS, PUSHER_DEPOT_CYCLE_REFRESH } from \"../store/reducers/userModel/userModel-actions\";\nimport {currentUserIsDepotRole, currentUserIsSupportOperatorRole} from \"./userModel\";\nimport {GET_ADMIN_ORDER_PENDING_COUNT} from \"../store/reducers/order/order-actions.js\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class Interval {\n _timer = [];\n\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use Interval.instance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new Interval(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n init(currentStore) {\n this.store = currentStore;\n }\n\n start() {\n this._timer.forEach(x => clearInterval(x));\n\n if(currentUserIsDepotRole()) {\n this._timer.push(setInterval(() => {\n if(window.location.pathname === \"/\" && this.store) {\n this.store.dispatch({ type: PUSHER_DEPOT_CYCLE_REFRESH, additionalParams: { batched: true } });\n }\n }, environment.requestPendingOrdersTime));\n } else {\n this._timer.push(setInterval(\n () => this.store && this.store.dispatch({ type: INTERVAL_COURIER_LOCATIONS, additionalParams: { batched: true } }),\n environment.requestLocationTime\n ));\n }\n if(currentUserIsSupportOperatorRole()) {\n this._timer.push(setInterval(\n () => this.store && this.store.dispatch({ type: GET_ADMIN_ORDER_PENDING_COUNT, additionalParams: { batched: true } }),\n environment.requestPendingCount\n ));\n }\n }\n\n stop() {\n this._timer.forEach(x => clearInterval(x));\n }\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport IconButton from \"../IconButton\";\n\nconst RateItem = ({ rate, value, isInfo = false, onClick }) => {\n const handleOnClick = () => {\n return new Promise(resolve=> {\n onClick && onClick(rate);\n resolve();\n });\n }\n\n return (\n
\n
{rate || 0}
\n \n
\n );\n}\n\nexport default RateItem;","export { default } from \"./SearchBox\";","export default class ChartModel {\n constructor({\n typeModel,\n chartType,\n title,\n data,\n isFiltered = false,\n filterColumnIndex,\n filterCategoryLabel,\n emptyLabel,\n options,\n height\n }) {\n this.typeModel = typeModel;\n this.chartType = chartType;\n this.title = title;\n this.data = data;\n this.isFiltered = isFiltered;\n this.filterColumnIndex = filterColumnIndex;\n this.filterCategoryLabel = filterCategoryLabel;\n this.emptyLabel = emptyLabel;\n this.options = options;\n this.height = height\n }\n}\n","import ChartModel from \"../../models/chartModel\";\nimport { TYPE_CHART, CHART_MODEL } from \"../../utils/enums\";\nimport { defaultControlCenterColors } from \"../../utils/constants\";\n\nexport function createControlCentersChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.controlCenters,\n chartType: TYPE_CHART.comboChart,\n title: \"\",\n data: data,\n titleX: \"Orders\",\n titleY: \"Control center\",\n height: \"200px\",\n options: {\n chartArea: { left: 45 }\n }\n });\n}\n\nexport function createControlCentersTableChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.controlCentersTable,\n chartType: TYPE_CHART.table,\n title: \"\",\n data: data,\n height: \"200px\"\n });\n}\n\nexport function createDepotTableChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.depotTableData,\n chartType: TYPE_CHART.table,\n title: \"\",\n data: data,\n height: \"200px\"\n });\n}\n\nexport function createOrdersAverageChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.ordersAverage,\n chartType: TYPE_CHART.columnChart,\n title: \"\",\n data: data,\n height: \"200px\"\n });\n}\n\nexport function createOrdersAveragePerHoursChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.ordersAveragePerHours,\n chartType: TYPE_CHART.gauge,\n title: \"reports.SCORE\",\n data: data,\n options: {\n redFrom: 0,\n redTo: 1,\n yellowFrom: 1,\n yellowTo: 2,\n minorTicks: 2,\n max: 5\n },\n height: \"200px\"\n });\n}\n\nexport function createReportDeliveryTimeItemsChartModel(data) {\n return (data || {}).isPeriod\n ? new ChartModel({\n data,\n titleX: \"Orders\",\n titleY: \"Date\",\n height: \"300px\",\n options: { \n title: \"\",\n chartArea: { left: 50 }, \n colors: data.colors\n },\n typeModel: CHART_MODEL.reportDeliveryTimeItems,\n chartType: TYPE_CHART.barChartStacked\n })\n : new ChartModel({\n typeModel: CHART_MODEL.reportDeliveryTimeItems,\n chartType: TYPE_CHART.comboChart,\n title: \"\",\n data,\n titleX: \"Orders\",\n titleY: \"Control center\",\n height: \"300px\",\n options: { chartArea: { left: 50 }, colors: defaultControlCenterColors }\n });\n}\n\nexport function createReportControlCenterAverageDeliveryTimeChartModel(data) {\n return (data || {}).isPeriod\n ? new ChartModel({\n data,\n titleX: \"Orders\",\n titleY: \"Control center\",\n height: \"300px\",\n options: { \n title: \"\",\n chartArea: { left: 50 }, \n colors: data.colors\n },\n typeModel: CHART_MODEL.reportDeliveryTimeItems,\n chartType: TYPE_CHART.barChartStacked\n })\n : new ChartModel({\n typeModel: CHART_MODEL.reportControlCenterAverageDeliveryTime,\n chartType: TYPE_CHART.comboChart,\n title: \"\",\n data,\n titleX: \"Orders\",\n titleY: \"Control center\",\n height: \"300px\",\n options: {\n chartArea: { left: 70 },\n colors: defaultControlCenterColors\n }\n });\n}\n\nexport function createReportAverageDeliveryTimeItemsChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.reportAverageDeliveryTimeItems,\n chartType: TYPE_CHART.areaChart,\n title: \"\",\n data: data,\n titleX: \"\",\n titleY: \"\",\n height: \"300px\"\n });\n}\n\nexport function createReportAverageDeliveryTimeChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.reportAverageDeliveryTime,\n chartType: TYPE_CHART.areaChart,\n title: \"\",\n data: data,\n titleX: \"\",\n titleY: \"\",\n height: \"300px\"\n });\n}\n\nexport function createReportDayAverageDeliveryTimeChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.reportDayAverageDeliveryTime,\n chartType: TYPE_CHART.comboChart,\n title: \"\",\n data: data,\n titleX: \"Orders\",\n titleY: \"Control center\",\n height: \"200px\",\n options: {\n chartArea: { left: 25 },\n colors: defaultControlCenterColors\n }\n });\n}\n\nexport function createControlCentersAverageDeliveryTimeChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.controlCentersAverageDeliveryTime,\n chartType: TYPE_CHART.columnChart,\n data: data,\n height: \"200px\",\n options: {\n colors: defaultControlCenterColors,\n }\n })\n}\n\nexport function createSalesChart(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.sales,\n chartType: TYPE_CHART.line,\n data: data,\n height: \"400px\",\n options: {\n colors: defaultControlCenterColors,\n }\n })\n}\n\nexport function createDeepLinkStatsChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.deepLinkStats,\n chartType: TYPE_CHART.columnChart,\n data: data,\n height: \"200px\",\n options: {\n colors: defaultControlCenterColors,\n }\n })\n}","import ChartModel from \"../../models/chartModel\";\nimport { defaultControlCenterColors } from \"../../utils/constants\";\nimport { TYPE_CHART, CHART_MODEL } from \"../../utils/enums\";\n\nexport function createInProcessOrdersChartModel(data) {\n return new ChartModel({\n typeModel: CHART_MODEL.inProcessOrders,\n chartType: TYPE_CHART.pieChart,\n title: \"\",\n data: data,\n height: \"200px\",\n options: {\n chartArea: { left: 5, top: 20, width: \"100%\", height: \"100%\" },\n colors: defaultControlCenterColors\n }\n });\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nimport { TYPE_CHART, CHART_MODEL } from \"../utils/enums\";\n\nimport {\n createControlCentersAverageDeliveryTimeChartModel,\n createControlCentersChartModel,\n createControlCentersTableChartModel, createDeepLinkStatsChartModel, createDepotTableChartModel,\n createOrdersAverageChartModel,\n createOrdersAveragePerHoursChartModel,\n createReportAverageDeliveryTimeChartModel,\n createReportAverageDeliveryTimeItemsChartModel,\n createReportControlCenterAverageDeliveryTimeChartModel,\n createReportDayAverageDeliveryTimeChartModel,\n createReportDeliveryTimeItemsChartModel, createSalesChart\n} from \"./chartModels/controlCentersChartModel\";\nimport { createInProcessOrdersChartModel } from \"./chartModels/inProcessOrdersChart\";\nimport moment from \"moment\";\nimport {DATE_FORMAT_DMY2_FULL} from \"../utils/convertTime.js\";\nimport {defaultChartColors} from \"../utils/constants.js\";\n\nexport function createChartModel(type, ...args) {\n switch (type) {\n case CHART_MODEL.controlCenters:\n return createChartModelByType(createControlCentersChartModel(...args));\n case CHART_MODEL.controlCentersTable:\n return createChartModelByType(createControlCentersTableChartModel(...args));\n case CHART_MODEL.depotTableData:\n return createChartModelByType(createDepotTableChartModel(...args));\n case CHART_MODEL.inProcessOrders:\n return createChartModelByType(createInProcessOrdersChartModel(...args));\n case CHART_MODEL.ordersAverage:\n return createChartModelByType(createOrdersAverageChartModel(...args));\n case CHART_MODEL.ordersAveragePerHours:\n return createChartModelByType(createOrdersAveragePerHoursChartModel(...args));\n case CHART_MODEL.reportDeliveryTimeItems: \n return createChartModelByType(createReportDeliveryTimeItemsChartModel(...args));\n case CHART_MODEL.reportControlCenterAverageDeliveryTime:\n return createChartModelByType(createReportControlCenterAverageDeliveryTimeChartModel(...args));\n case CHART_MODEL.reportAverageDeliveryTimeItems:\n return createChartModelByType(createReportAverageDeliveryTimeItemsChartModel(...args));\n case CHART_MODEL.reportAverageDeliveryTime:\n return createChartModelByType(createReportAverageDeliveryTimeChartModel(...args)); \n case CHART_MODEL.reportDayAverageDeliveryTime:\n return createChartModelByType(createReportDayAverageDeliveryTimeChartModel(...args));\n case CHART_MODEL.controlCentersAverageDeliveryTime:\n return createChartModelByType(createControlCentersAverageDeliveryTimeChartModel(...args));\n case CHART_MODEL.sales:\n return createChartModelByType(createSalesChart(...args));\n case CHART_MODEL.deepLinkStats:\n return createChartModelByType(createDeepLinkStatsChartModel(...args));\n default:\n return null;\n }\n}\n\nexport function generateComboChartData(data) {\n const { headers, columns } = data;\n return [headers, ...columns];\n}\n\nexport function generateTableChartData(data) {\n const { headers, columns } = data;\n\n return [\n [...headers.map(header => header)],\n ...columns.map(column =>\n column.map((val, index) => (index ? { v: val } : val))\n )\n ];\n}\n\nexport function generatePieChartData(data) {\n return generateComboChartData(data);\n}\n\nexport function generateColumnChartData(data) {\n const { headers, columns } = data;\n\n if (!columns.length) return [[\"\", { role: \"annotation\" }]];\n\n return [headers, ...columns];\n}\n\nexport function generateGaugeChartData(data) {\n const { columns } = data;\n\n return [[\"Label\", \"Value\"], columns];\n}\n\nexport function generateStackedColumnChartData(data) {\n const { headers, columns } = data;\n\n return [headers, ...columns];\n}\n\nexport function generateAreaChartData(data) {\n const { headers, columns } = data;\n\n return [headers, ...columns];\n}\n\nexport function generateLineChartData(data) {\n const { headers, columns } = data;\n\n return [headers, ...columns];\n}\n\nfunction createChartModelByType(model) {\n if (!model) return null;\n let chartModel = {\n emptyLabel: model.emptyLabel,\n loader:
,\n graphID: model.typeModel,\n chartType: model.chartType\n };\n\n switch (model.chartType) {\n case TYPE_CHART.comboChart:\n chartModel = {\n ...chartModel,\n data: model.data && generateComboChartData(model.data),\n options: {\n title: model.title,\n vAxis: { title: model.titleX },\n hAxis: { title: model.titleY },\n seriesType: \"bars\",\n ...model.options,\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generateComboChartData(data);\n }\n };\n break;\n case TYPE_CHART.pieChart:\n chartModel = {\n ...chartModel,\n data: model.data && generatePieChartData(model.data),\n options: {\n title: model.title,\n ...model.options,\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generatePieChartData(data);\n }\n };\n break;\n case TYPE_CHART.table:\n chartModel = {\n ...chartModel,\n options: {\n ...chartModel.options,\n },\n data: model.data && generateTableChartData(model.data),\n updateChartData: function(data) {\n this.data = data && generateTableChartData(data);\n }\n };\n break;\n case TYPE_CHART.columnChart:\n chartModel = {\n ...chartModel,\n data: model.data && generateColumnChartData(model.data),\n options: {\n title: model.title,\n bar: { groupWidth: \"80%\" },\n legend: { position: \"none\" },\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generateColumnChartData(data);\n }\n };\n break;\n case TYPE_CHART.line:\n chartModel = {\n ...chartModel,\n data: model.data && generateLineChartData(model.data),\n options: {\n title: model.title,\n bar: { groupWidth: \"80%\" },\n legend: { position: \"none\" },\n vAxis: {\n format: \"Mm/dd/yy HH:mm\",\n }\n },\n height: model.height,\n };\n break;\n case TYPE_CHART.gauge:\n chartModel = {\n ...chartModel,\n data: model.data && generateGaugeChartData(model.data),\n options: {\n ...model.options,\n title: model.title,\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generateGaugeChartData(data);\n }\n };\n break;\n case TYPE_CHART.barChartStacked:\n chartModel = {\n ...chartModel,\n data: model.data && generateStackedColumnChartData(model.data),\n options: {\n title: model.title,\n isStacked: true,\n chartArea: { width: '70%' },\n vAxis: { title: model.titleX },\n hAxis: { title: model.titleY },\n ...model.options,\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generateStackedColumnChartData(data);\n }\n };\n\n chartModel.chartType = TYPE_CHART.columnChart;\n break;\n case TYPE_CHART.areaChart:\n chartModel = {\n ...chartModel,\n data: model.data && generateAreaChartData(model.data),\n options: {\n chartArea: { width: '90%', height: '70%' },\n legend: { position: \"none\" },\n },\n height: model.height,\n updateChartData: function(data) {\n this.data = data && generateAreaChartData(data);\n }\n };\n break;\n default:\n break;\n }\n \n return chartModel;\n}\n\nexport const getApexCartDefaulOption = (length) => {\n return {\n colors: defaultChartColors,\n type: \"line\",\n dataLabels: {\n enabled: false,\n },\n chart: {\n toolbar: {\n show: false,\n },\n zoom: {\n enabled: false,\n },\n },\n markers: {\n size: [6].concat(\n Array(length-1 > 0 ? length-1 : 0).fill(6)\n ),\n defaultChartColors\n },\n xaxis: {\n tickAmount: \"dataPoints\",\n type: \"datetime\",\n tickPlacement: \"on\",\n axisBorder: {\n color: \"rgba(255,255,255,0.2)\"\n },\n labels: {\n formatter: function (value) {\n const d = new Date(value);\n const M = d.getMonth();\n const D = d.getDate();\n return `${D}/${M +1}`;\n }\n },\n },\n yaxis: {\n labels: {\n formatter: value => parseFloat(value?.toFixed(2) || 0)\n }\n },\n options: {\n chart: {\n height: 350,\n type: \"line\"\n },\n },\n legend: {\n showForSingleSeries: true,\n show: true,\n position: 'bottom'\n },\n stroke: {\n show: true,\n width: 5,\n },\n tooltip: {\n enabled: true,\n x: {\n show: true,\n formatter: (dateLabel) => {\n return moment(dateLabel).format(DATE_FORMAT_DMY2_FULL);\n },\n },\n }\n };\n}\nexport const getApexPieChartDefaultOption = () => ({\n colors: defaultChartColors,\n chart: {\n width: 380,\n type: 'pie',\n },\n dataLabels: {\n enabled: true,\n formatter: function (val, opt) {\n return parseFloat(opt.w.config.series[opt.seriesIndex]?.toFixed(2) || 0);\n },\n },\n stroke: {\n show: false,\n },\n legend: {\n position: 'bottom',\n show: true,\n showForSingleSeries: true\n },\n})","export const INIT = \"INIT\";\nexport const INIT_START = INIT + \"_START\";\nexport const INIT_START_SUCCESS = INIT_START + \"_SUCCESS\";\nexport const INIT_START_FAIL = INIT_START + \"_FAIL\";\n\nexport function init(payload) {\n return { type: INIT, isLoaded: false, additionalParams: { batched: true } };\n}\n\nexport function initStart() {\n return { type: INIT_START, additionalParams: { batched: true } };\n}\n","export const GLOBAL_PORTAL_DATA_UPDATE = \"GLOBAL_PORTAL_DATA_UPDATE\";\n\nexport function actionGlobalPortalDataUpdate(data) {\n return { type: GLOBAL_PORTAL_DATA_UPDATE, data };\n}","import React, {useState} from \"react\";\nimport {connect} from \"react-redux\";\nimport {saveAs} from \"file-saver\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport {WAITER_TYPES} from \"../../../utils/enums\";\n\nimport Waiter from \"../Waiter/Waiter\";\n\nconst LinkDownload = ({ title, actionName, data, downloadAction, icon }) => {\n const [inProcess, setInProcess] = useState(false);\n const handleOnClick = () => {\n return new Promise((resolve, reject) => {\n setInProcess(true);\n if (actionName) {\n downloadAction(actionName, data).then(\n dataBlob => {\n if(dataBlob?.data === null){\n resolve();\n setInProcess(false);\n return;\n }\n if (dataBlob && dataBlob.file && dataBlob.fileName) {\n const blob = new Blob([dataBlob.file], {\n type: dataBlob.contentType\n });\n saveAs(blob, dataBlob.fileName);\n resolve();\n setInProcess(false);\n } else {\n reject();\n setInProcess(false);\n }\n },\n () => {\n reject();\n setInProcess(false);\n }\n );\n } else {\n reject();\n setInProcess(false);\n }\n });\n };\n\n return (\n
\n {!icon && (\n
\n {title || \"Download\"}\n
\n )}\n {icon && (\n \n )}\n {inProcess &&
}\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n downloadAction: (action, data) => dispatch(createAction(action, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(LinkDownload);\n","import React from \"react\";\nimport \"./index.scss\";\nimport IconButton from \"../IconButton\";\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport {getTranslateTitle} from '../../../utils/objects-util.js';\nimport i18n from '../../../i18n.js';\nimport classNames from \"classnames\";\n\nconst ColumnTitleWithIcon = ({column, item, onPropChange}) => {\n const {title, clickAction, labelIconName, isShowIconLabel, isNoClickableIcon} = column;\n const dispatch = useDispatch();\n const translateTitle = getTranslateTitle(title)\n const additionalInformation = i18n.exists(title + '_TOOLTIP') ? i18n.t(title + '_TOOLTIP') : ''\n\n const handleOnClick = () => {\n if (clickAction) {\n dispatch(createAction(clickAction, {item, column, onPropChange}));\n }\n }\n\n if (!title) {\n return null;\n }\n\n return (\n
\n
\n {translateTitle}\n
\n {additionalInformation && (\n
\n \n
\n )}\n {isShowIconLabel && isShowIconLabel(item) && (\n
\n \n
\n )}\n
\n\n )\n}\n\nexport default ColumnTitleWithIcon;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nconst CheckBox = ({ id, label, value, disabled, onChange, stopPropagation }) => {\n const handleOnClick = e => {\n e.preventDefault();\n if(stopPropagation) {\n e.stopPropagation();\n }\n onChange(!value);\n };\n\n return (\n
\n \n \n \n ✓ {/* ✓ symbol */}\n \n \n {label && (\n {label || \"\"}\n )}\n
\n );\n};\n\nexport default CheckBox;\n","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {createAction} from '../../../utils/sagaHelper';\n\nimport ColumnTitleWithIcon from '../ColumnTitleWithIcon';\nimport Dropdown from '../Dropdown';\nimport { columnIsRequired } from '../../../services/filter.js';\n\nconst initValue = { key: '', value: '' };\n\nconst SectionItemSelect = ({ ...props }) => {\n const {\n column,\n values,\n value: valueKey,\n defaultValue,\n item,\n getData,\n onPropChange,\n isDisabled,\n isDirty,\n setIsDirty,\n } = props;\n const [value, setValue] = useState(initValue);\n\n const isItemValid = column && column?.isItemValid ? !column.isItemValid(item) : false;\n\n const valueByKey = values?.find(el => el?.key === valueKey) || column?.values?.find(el => el?.key === valueKey);\n\n if (value.key !== valueKey && valueByKey) {\n setValue(valueByKey);\n }\n\n const handleOnChange = val => {\n if (column.action && val) {\n getData(column.action, val.key);\n }\n if (value.key !== val.key) {\n if (column.onPropChange) {\n column.onPropChange(val, column, onPropChange);\n } else {\n const dataToRefresh = column.dataToRefresh || {};\n onPropChange({ ...dataToRefresh, [column.accessor]: val['key'] });\n }\n }\n\n setValue(val);\n };\n\n useEffect(() => {\n if (column.action && valueKey && !isDirty) {\n setIsDirty(true);\n\n getData(column.action, valueKey);\n }\n // eslint-disable-next-line\n }, []);\n\n const DropdownValue = value.value || '';\n\n if (column.isHideByLength && !(values || []).length) return <>;\n let placeholder = (defaultValue && defaultValue['value']) || '';\n if (column && column.defaultInputValue) {\n const newPlaceholder = column.defaultInputValue(item);\n if (newPlaceholder && newPlaceholder.value) {\n placeholder = newPlaceholder.value;\n }\n }\n\n return (\n \n \n handleOnChange(val)}\n />\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n getData: (action, data) => dispatch(createAction(action, data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(SectionItemSelect);\n","import {getDefaultCustomersFilter, getDefaultReviewsFilter, getDefaultSalesFilter} from \"../utils/constants\";\nimport { GLOBAL_FILTER_TYPE } from \"../utils/enums\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class GlobalFilterDataService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\"Instantiation failed: use GlobalFilterDataService.instance() instead of new.\");\n \n //Init data\n this.filters = {\n [GLOBAL_FILTER_TYPE.reviews]: getDefaultReviewsFilter(),\n [GLOBAL_FILTER_TYPE.customers]: getDefaultCustomersFilter(),\n [GLOBAL_FILTER_TYPE.sales]: getDefaultSalesFilter(),\n };\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new GlobalFilterDataService(singletonEnforcer);\n }\n\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n setFilter(type, data) {\n this.filters[type] = data;\n }\n\n getFilter(type) {\n return this.filters[type];\n }\n}\n","import React, {useEffect, useRef, useState} from 'react';\nimport DPiker from \"react-multi-date-picker\";\nimport TimePicker from \"react-multi-date-picker/plugins/time_picker\";\nimport {useTranslation} from \"react-i18next\";\nimport {useBubbleClickOutside} from \"../../../services/hooks.js\";\nimport {DATE_FORMAT_DMY2_HM} from \"../../../utils/convertTime.js\";\nimport './style.scss'\nimport Icon from \"react-multi-date-picker/components/icon\"\nimport classnames from \"classnames\";\nimport gregorian_en from \"react-date-object/locales/gregorian_en\";\n\nconst DatePicker = ({value, onSave, format, minDate, maxDate, showTimeControl, hideDateControl, placeholder, isIcon, iconClassNames, iconRender, classNames, calendarPosition, updateValueByParent}) => {\n const ref = useRef(null);\n const [canClose, setCanClose] = useState(true);\n const {t} = useTranslation();\n const [date, setDate] = useState(() => value || new Date());\n\n const handleOnClose = () => {\n setCanClose(true);\n setTimeout(() => {\n ref.current.closeCalendar();\n setDate(value);\n }, 0);\n }\n\n useEffect(() => {\n if(updateValueByParent) {\n setDate(value);\n }\n }, [value, updateValueByParent]);\n\n useBubbleClickOutside(['customDateTimePicker', 'customDateTimePickerIcon', 'rmdp-container'], handleOnClose)\n\n const handleOnSave = () => {\n setCanClose(true);\n onSave(date.toDate ? date.toDate() : date);\n setTimeout(() => ref.current.closeCalendar(), 0);\n }\n\n const getRenderComponent = () => {\n if(isIcon) {\n return
ref.current.openCalendar()} className={classnames(\"customDateTimePickerIcon\", iconClassNames)}>\n {iconRender\n ? iconRender\n : \n }\n
\n }\n return null;\n }\n\n return (\n setCanClose(false)}\n ref={ref}\n format={format || DATE_FORMAT_DMY2_HM}\n value={date}\n placeholder={placeholder}\n locale={{\n name: 'custom_locale',\n digits: gregorian_en.digits,\n meridiems: gregorian_en.meridiems,\n weekDays: [\n [t(\"datetimepicker.days.SUN\"), t(\"datetimepicker.days.SUN\")],\n [t(\"datetimepicker.days.MON\"), t(\"datetimepicker.days.MON\")],\n [t(\"datetimepicker.days.TUE\"), t(\"datetimepicker.days.TUE\")],\n [t(\"datetimepicker.days.WED\"), t(\"datetimepicker.days.WED\")],\n [t(\"datetimepicker.days.THU\"), t(\"datetimepicker.days.THU\")],\n [t(\"datetimepicker.days.FRI\"), t(\"datetimepicker.days.FRI\")],\n [t(\"datetimepicker.days.SAT\"), t(\"datetimepicker.days.SAT\")]\n ],\n months: [\n [t(\"datetimepicker.month.JANUARY\")],\n [t(\"datetimepicker.month.FEBRUARY\")],\n [t(\"datetimepicker.month.MARCH\")],\n [t(\"datetimepicker.month.APRIL\")],\n [t(\"datetimepicker.month.MAY\")],\n [t(\"datetimepicker.month.JUNE\")],\n [t(\"datetimepicker.month.JULY\")],\n [t(\"datetimepicker.month.AUGUST\")],\n [t(\"datetimepicker.month.SEPTEMBER\")],\n [t(\"datetimepicker.month.OCTOBER\")],\n [t(\"datetimepicker.month.NOVEMBER\")],\n [t(\"datetimepicker.month.DECEMBER\")]\n ]\n }}\n weekDays={[t(\"datetimepicker.days.SUN\"), t(\"datetimepicker.days.MON\"), t(\"datetimepicker.days.TUE\"), t(\"datetimepicker.days.WED\"), t(\"datetimepicker.days.THU\"), t(\"datetimepicker.days.FRI\"), t(\"datetimepicker.days.SAT\")]}\n onChange={setDate}\n onClose={() => canClose}\n className={classnames('customDateTimePicker', classNames)}\n plugins={[].concat(showTimeControl ? : [])}\n minDate={minDate}\n maxDate={maxDate}\n render={getRenderComponent()}\n >\n
\n
{t('basic.CLOSE')}
\n
{t('basic.SAVE_BUTTON')}
\n
\n \n )\n}\n\nexport default React.memo(DatePicker);","import i18n from \"../i18n\";\nimport { BILLING_PATHS, TYPE_INFO_MESSAGE, TYPE_STORE_DATA } from \"../utils/enums\";\nimport BillingService from \"./billing\";\nimport { getStoreDataByType } from \"./storeData\";\nimport {currentUserIsWithoutControlCenter} from \"./userModel.js\";\nimport {excludedUrls} from \"../utils/constants.js\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class InfoMessageService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer) {\n throw new Error(\n \"Instantiation failed: use Color.getInstance() instead of new.\"\n );\n }\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new InfoMessageService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getRoutePath = type => {\n switch (type) {\n case TYPE_INFO_MESSAGE.emptyControlcenter:\n return \"/info\";\n default:\n return \"/\";\n }\n }\n\n getMessage = type => {\n switch (type) {\n case TYPE_INFO_MESSAGE.emptyControlcenter:\n return i18n.t(\"infoMessage.EMPTY_CONTROL_CENTER\");\n default:\n return \"\";\n }\n }\n\n checkAction = pathname => {\n if(pathname) {\n const billingData = getStoreDataByType(TYPE_STORE_DATA.billingInfo);\n if(billingData && billingData.info &&\n BillingService.instance.checkIsNoActiveAccount(billingData)) {\n return {\n pathname: BILLING_PATHS.payment,\n message: \"\",\n skipCheckPathname: BILLING_PATHS.payment\n }\n }\n }\n\n return this.checkRedirect(pathname);\n }\n\n checkRedirect = pathname => {\n if(!excludedUrls.includes(pathname) && currentUserIsWithoutControlCenter()) {\n return {\n pathname: this.getRoutePath(TYPE_INFO_MESSAGE.emptyControlcenter),\n message: this.getMessage(TYPE_INFO_MESSAGE.emptyControlcenter),\n skipCheckPathname: \"/info\"\n }\n }\n return null;\n }\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRDMTZGNEY0NjkxMDExRTU4RjJFRjY2RDE2NDI4MTQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRDMTZGNEY1NjkxMDExRTU4RjJFRjY2RDE2NDI4MTQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEMxNkY0RjI2OTEwMTFFNThGMkVGNjZEMTY0MjgxNDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEMxNkY0RjM2OTEwMTFFNThGMkVGNjZEMTY0MjgxNDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7V5eFcAAAFSElEQVR42rxYfUzUZRz//I6DI1DvTAMdJZA5MizKMsyJL5CJpMTUao1e1szVss2NlTbL+ic1M0vKNaNmLmtpQ8s5LXP5trU0MlHDsxd2IDgbpLzjwXF3fZ57Hl487uU5Ar/bZ3ccv9/z+zzfl8/3+/wMrPIiAjMTDxBz1OdtxCgihnARV4hK4gRxkPgJTnRsfgxYlqm3uI6NJp4mCokMIirANRZiGDGOmE2sJM7CwI5LLdhWeQWXQj1g7HDw0tCeMYhlxKtEEgZoUSbUmQy8y6+blAevNTfwLbdqCrFGMvE98eH/IeJ7lhsJri68Qxwi0gj4w+MNTmYKcYx4CINhRg+mE8eIWX1+k0BgMvcR36nYD4UlEHuJWf7/8CdzC/GNqpChNJHopURaMDKiQrYRN+P6mNjwF6oK+5F5nsiOeElRjJ2Esw+6tO8WKfGKv87cSLwRMRGPTL68ScBk1luyDfi3nds9BVRc5P+itVZZQXxGXOz2zLNEYkTe6JBkdj0JbMwjmTFAE4mkkNDRpUDO7QEVJZBR7vBit2eilbrqWae840Gm3jP3AwV3AOM3AFU1aiUSKJoHrM+lPvwpeWtYIYVxnfCM6BqTtG5hLuTfCZx8Cfhoocy8/X+wCS3hAuPV1uJYjufYP/hpG65CGd7Tyc1OzBC35yK0EvdIdupNwNZHgbcOAyXHgfZWGbKNi4EPFjD7t8gccvFaN3+3ROmH/ZADc02q+0KHzFTKYOVlNhj243aRDzfI0JSUkShLIH6YXNjZJUU11gy9OJHFLzWYIshM0E2XDj4kmrs1Yq/1pQiJ8IaA+L2BidzJ7ykj5SZ0yNQ0IcWkylrLlUlWDi4kE+O3YzNXiedEY7XIvHI3AXvswPJp6rpw3qEbG52wmdRgpEUmkWE4X08PtfU2N7Grijo10DBkGdTvxZkyZwomMqSLSFYjVG4Pok3aakBvlJ4B5jKo8zKU0hoyDCUFgJ0ka/8B3s8H3n6YTY7EVzO3jnDuMzRGOJZ2l1mNinE6ZMqrgDd/BDbzgZkXqLbNQBb1JptlfVexJFZWK3Poq9PAYV5/tZG/x/fxZBCvj7CgyaRmVm3pf4/jVg0fsC5P5seWR2SpX6iWlbVyH8v/V+C1HM6cy9l4cjWSmGuPs6JKeIaKgZkhByOqrpUClp1KVWUPupUp/+VpuaMznGwXpTPWDPYJ9qN65tNuit4BiuG0FOATimMFQ7j/bIjsJJl7k3BSkDmgmpURTP6zeAb4dKEv42Fnsi7dzZvOycWf+ppD8lS2B16zguPSKIaoqqFXChz8PmF0mIoyfKH+wUCR18J8OEUXT+x3A/+Op+vtRcBO7qz4KNDq8SUb4mJU/vLvNhKO4rWTOZrt4vlh/udsGdUyccVs6/IoDQrmeSdq9yxBuvm56ej4vQ7bjzuwtt8BhIskjpBCNz9NlqoRIhHFA9tJzEZRbGvvExYjRALTe/ckYycFstnwer34uAwJL+zAecRiZICS8y0uPg1o6QVaOmWItMyJq2vykb5qJhw+BXC6IGRrLbEh0OKXWwd4GtCzTSTu8B87i1VlBewdEUGfSAWxJtAM7FJDVv11GshbCM6JaAt2VPmL4MSC1iEmIubFJ4jyUOcmYSxgLBhCD7GJgOMY9oU7xHXbEaXKPw8aBTlKlBOzib09o4W3Vw9DjZt29WrjdaJhEPJDVGsW8dtA3890qGzfTvAAgscjmQxpDmZH6cs5KCnMwN/B+tIYa2QvizgwYDWxnpih3lyJNxVshbCpQ4qQOTEwVKvdH/TlnweNqZTSu8eGf8h/AgwAQTWS8njjYhkAAAAASUVORK5CYII=\"","export const GLOBAL_POPUP_MESSAGE = \"GLOBAL_POPUP_MESSAGE\";\nexport const GLOBAL_POPUP_MESSAGE_INIT = GLOBAL_POPUP_MESSAGE + \"_INIT\";\n\nexport function actionGlobalPopupMessage(data) {\n return {\n type: GLOBAL_POPUP_MESSAGE,\n data: data\n };\n}\n\nexport function actionGlobalPopupMessageInit() {\n return {\n type: GLOBAL_POPUP_MESSAGE_INIT,\n data: { isRemove: true }\n };\n}","import * as Sentry from \"@sentry/react\";\nimport User from \"./user\";\nimport Store from \"../store/store\";\n\nimport { FDRestoreId } from \"../store/reducers/supportChat/supprtChat-actions\";\n\nimport { objectKeysToUpperLowerCase } from \"../utils/objects-util\";\nimport { requestResultIsOk } from \"../utils/request-util\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class ChatService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer) {\n throw new Error(\"Instantiation failed: use ChatService.getInstance() instead of new.\");\n }\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new ChatService(singletonEnforcer);\n this[singleton].getWidgetUserProperties.bind(this[singleton]); \n this[singleton].setWidgetUserProperties.bind(this[singleton]); \n this[singleton].setRestoreId.bind(this[singleton]);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getInitConfiguration = () => {\n const currentUser = User.instance.getCurrentUserInfo() || {};\n return {\n externalId: sessionStorage.getItem(\"currentUserName\"),\n restoreId: currentUser.supportChatUserId,\n firstName: currentUser.firstName,\n lastName: currentUser.lastName,\n email: currentUser.email,\n phone: currentUser.phoneNumber,\n locale: (currentUser.configuration || {}).language\n }\n }\n \n setChatWidget = (chatWidget) => {\n this.chatWidget = chatWidget;\n this.isLoaded = !!this.chatWidget;\n //Check if exist current user support restore id\n this.checkUserRestoreId();\n }\n\n getWidgetUserProperties = (widget) => {\n const currentThis = this;\n return new Promise((resolve, reject)=> {\n const chatWidget = widget || currentThis.chatWidget;\n if(chatWidget) {\n chatWidget.user.get(reqUserGet=> {\n if(!requestResultIsOk(reqUserGet)) {\n chatWidget.on(\"user:created\", function(reqUserCreated) {\n if (requestResultIsOk(reqUserCreated, true)) {\n resolve(objectKeysToUpperLowerCase(reqUserCreated.data));\n } else {\n reject(\"No fresh chat user data\");\n }\n });\n } else {\n resolve(objectKeysToUpperLowerCase(reqUserGet.data));\n }\n });\n } else {\n reject(\"No widget\");\n }\n })\n }\n\n setWidgetUserProperties = (data) => { \n if(this.chatWidget && this.chatWidget.user) {\n this.chatWidget.user.setProperties(data);\n }\n }\n\n getChatWidget = () => {\n return this.chatWidget; \n }\n\n openChatWidget = () => {\n return new Promise((resolve, reject)=> {\n if(this.chatWidget) {\n resolve();\n this.chatWidget.open();\n } else {\n reject();\n }\n });\n }\n\n destroyChatWidget = () => {\n this.isLoaded = false;\n if(this.chatWidget) {\n this.chatWidget.off(\"user:created\");\n this.chatWidget.destroy();\n }\n }\n\n checkUserRestoreId = () => {\n const currentUser = User.instance.getCurrentUserInfo();\n try {\n if(currentUser) {\n if(currentUser.supportChatUserId) {\n const config = this.getInitConfiguration();\n this.setWidgetUserProperties({ ...config });\n } else {\n this.getWidgetUserProperties().then(data=> {\n this.setRestoreId(currentUser.userId, (data || {}).restoreId);\n });\n } \n }\n } catch (ex) {\n Sentry.captureMessage(`Unexpected error while check user restoreId for user ${(currentUser || {}).userId}`);\n }\n }\n\n setRestoreId = (userId, restoreId) => {\n if(this.isLoaded && userId) {\n const config = this.getInitConfiguration();\n if(restoreId) {\n const currentUser = User.instance.getCurrentUserInfo();\n if(currentUser && !currentUser.supportChatUserId) {\n Store.store.dispatch(FDRestoreId({ userId, restoreId, config })); \n } \n } else {\n this.setWidgetUserProperties({ ...config });\n } \n } \n }\n}\n","import React, {useEffect, useState} from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { toast } from \"react-toastify\";\nimport classNames from \"classnames\";\nimport { isNullOrWhitespace } from \"../../../utils/objects-util\";\n\nconst NumberInput = ({\n t,\n value,\n className,\n isReadonly,\n isInteger,\n minlength, maxLength,\n min, minError,\n max, maxError,\n onChange\n}) => {\n\n const [localVale, setLocalValue] = useState(value);\n\n useEffect(() => {\n setLocalValue(value);\n }, [value]);\n\n const handleOnChange = e => {\n const targetValue = e.target.value.toString() ?? '';\n const isChecked = isInteger || (!value && !targetValue.includes(\".\") && !targetValue.includes(\",\"));\n const newValue = isChecked ? parseInt(targetValue) : parseFloat(targetValue ?? 0);\n\n onChange && onChange(newValue);\n if(isChecked && newValue) {\n setLocalValue(newValue);\n } else {\n setLocalValue(e.target.value);\n }\n }\n\n const handleOnBlur = e => {\n if(Number.isInteger(min)) {\n if(isNullOrWhitespace(value.toString())) {\n toast.error(minError || `${t(\"basic.error.NUMBER_MIN_VALUE\")}: ${min}`);\n onChange && onChange(min);\n } else if(value < min) {\n toast.error(minError || `${t(\"basic.error.NUMBER_MIN_VALUE\")}: ${min}`);\n onChange && onChange(min);\n }\n }\n\n if(Number.isInteger(max) && isNullOrWhitespace(max.toString())) {\n if(isNullOrWhitespace(value.toString())) {\n toast.error(maxError || `${t(\"basic.error.NUMBER_MAX_VALUE\")}: ${max}`);\n onChange && onChange(max);\n } else if(value > max) {\n toast.error(minError || `${t(\"basic.error.NUMBER_MAX_VALUE\")}: ${max}`);\n }\n }\n }\n\n return (\n e.target.blur()}\n />\n )\n}\n\nexport default withTranslation()(NumberInput);","export const MENU_PRIORITY_UPDATE = \"MENU_PRIORITY_UPDATE\";\nexport const TOGGLE_NESTED_MENU = \"TOGGLE_NESTED_MENU\";\n\nexport function actionMenuPriorityUpdate(data) {\n return {\n type: MENU_PRIORITY_UPDATE,\n data\n };\n}\n\nexport function toggleNestedMenu(isOpen) {\n return {\n type: TOGGLE_NESTED_MENU,\n isOpen\n };\n}\n","let singleton = Symbol();\nlet singletonEnforcer = Symbol();\nlet db = null;\n\nexport default class DatabaseStorage {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use DatabaseStorage.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new DatabaseStorage(singletonEnforcer);\n return this[singleton].initDataStorage().then(() => this[singleton]);\n }\n\n return Promise.resolve(this[singleton]);\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n initDataStorage() {\n const indexedDB =\n window.indexedDB ||\n window.webkitIndexedDB ||\n window.mozIndexedDB ||\n window.OIndexedDB ||\n window.msIndexedDB;\n \n return new Promise((resolve, reject) => {\n const request = indexedDB.open(\"storagedb\");\n request.onupgradeneeded = function() {\n db = request.result;\n let store = db.createObjectStore(\"datas\", { keyPath: \"key\" });\n store.createIndex(\"by_storageData\", \"storageData\");\n store.createIndex(\"by_expireTimePicture\", \"expireTimePicture\");\n };\n request.onsuccess = function(event) {\n db = request.result;\n resolve(request.result);\n };\n request.onerror = function() {\n reject(request.error);\n };\n });\n }\n\n getStoreDataKeys() {\n return new Promise((resolve, reject) => {\n let store = db\n .transaction([\"datas\"], \"readwrite\")\n .objectStore(\"datas\", \"datas\", { keyPath: \"key\" });\n let request = store.getAllKeys();\n\n request.onsuccess = function(response) {\n resolve({ result: response.currentTarget.result });\n };\n request.onerror = function(error) {\n reject(error);\n };\n });\n }\n\n getStoreDataByKey(key) {\n return new Promise((resolve, reject) => {\n let store = db\n .transaction([\"datas\"], \"readwrite\")\n .objectStore(\"datas\", \"datas\", { keyPath: \"key\" });\n let request = store.get(key);\n\n request.onsuccess = function(response) {\n resolve({ data: response.currentTarget.result.storageData });\n };\n request.onerror = function(error) {\n reject(error);\n };\n });\n }\n\n addToStoreData(key, value) {\n return new Promise((resolve, reject) => {\n let store = db\n .transaction([\"datas\"], \"readwrite\")\n .objectStore(\"datas\", \"datas\", { keyPath: \"key\" });\n let request = store.put({\n expireTimePicture: null,\n storageData: value,\n key: key\n });\n request.onsuccess = function() {\n resolve();\n };\n request.onerror = function(error) {\n reject(error);\n };\n });\n }\n}\n","const formatField = (field, currency) => {\n if (typeof field === 'string') return field;\n if (typeof field === 'number') return `${currency ? currency : \"\"} ${field.toFixed(2)}`;\n return field;\n};\nconst formatedSettingField = (value) => (value !== 0 ? value : null);\n\nexport const feesTypes = {\n canceledRefundsMarketplaceResp: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_REFUNDS_MARKETPLACE_RESP_DEPOT_LABEL',\n canceledRefundsBusinessResp: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_REFUNDS_BUSINESS_RESP_DEPOT_LABEL',\n productPriceCard: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_PRODUCT_PRICE_CARD_LABEL',\n deliveryPriceCashPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_PRICE_CASH_PERCENT',\n deliveryPriceCardPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_PRICE_CARD_PERCENT',\n productPriceCash: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_PRODUCT_PRICE_CASH_LABEL',\n deliveryPriceFix: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_DELIVERY_PRICE_FIX_LABEL',\n deliveryPriceLeftover: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_DELIVERY_PRICE_LEFTOVER_LABEL',\n deliveryPricePercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_DELIVERY_PRICE_PERCENT_LABEL',\n orderPriceFix: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_ORDER_PRICE_FIX_LABEL',\n orderPriceLeftover: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_ORDER_PRICE_LEFTOVER_LABEL',\n orderPricePercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_ORDER_PRICE_PERCENT_LABEL',\n businessRefundPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_BUSINESS_REFUND_PERCENT_LABEL',\n marketplaceRefundPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_MARKETPLACE_REFUND_PERCENT_LABEL',\n businessDiscountPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_BUSINESS_DISCOUNT_PERCENT_LABEL',\n marketplaceDiscountPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_MARKETPLACE_DISCOUNT_PERCENT_LABEL',\n businessReshipmentPercent: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_BUSINESS_RESHIPMENT_PERCENT_LABEL',\n marketplaceReshipmentPercent:\n 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_MARKETPLACE_RESHIPMENT_PERCENT_LABEL',\n serviceFee: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_SERVICE_FEE_LABEL',\n tax: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_TAX_LABEL',\n percentPeriodFix: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_PERCENT_PERIOD_FIX_LABEL',\n flatPeriodFix: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_FLAT_PERIOD_FIX_LABEL',\n creditCardClearingFee: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_CREDIT_CARD_CLEARING_FEE_LABEL',\n topUpToMinimumDepot: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_TOP_UP_TO_MINIMUM_DEPOT',\n driverTip: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_DRIVER_TIP',\n topUpToMinimumCash: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_TOP_UP_TO_MINIMUM_CASH',\n topUpToMinimumCard: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_TOP_UP_TO_MINIMUM_CARD',\n marketplaceCashDiscount: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_MARKETPLACE_CASH_DISCOUNT',\n marketplaceCardDiscount: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_MARKETPLACE_CARD_DISCOUNT',\n businessCardDiscount: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_BUSINESS_CARD_DISCOUNT',\n businessCashDiscount: 'reconciliations.SETTINGS_TEMPLATE_FEES_TABLE_TYPE_BUSINESS_CASH_DISCOUNT',\n};\n\nexport const reconciliationsSettingsTemplateModel = data => {\n let depotIds = [];\n if(data?.depotIds && data?.depotIds.length > 0) {\n depotIds = [...data?.depotIds];\n\n } else {\n depotIds = data?.depotData && data?.depotData.length > 0 ? data.depotData.map((e) => e.depotId) : [];\n }\n\n return {\n templateName: data?.templateName || '',\n depotIds: depotIds,\n territoryId: data?.territoryId || null,\n isDirty: false,\n refreshedValue: null,\n parentId: data?.parentId || null,\n fees: {\n canceledRefundsMarketplaceRespDepot: formatedSettingField(data?.fees?.canceledRefundsMarketplaceRespDepot),\n canceledRefundsMarketplaceRespTerritory: formatedSettingField(data?.fees?.canceledRefundsMarketplaceRespTerritory),\n canceledRefundsMarketplaceRespGlobal: formatedSettingField(data?.fees?.canceledRefundsMarketplaceRespGlobal),\n canceledRefundsBusinessRespDepot: formatedSettingField(data?.fees?.canceledRefundsBusinessRespDepot),\n canceledRefundsBusinessRespTerritory: formatedSettingField(data?.fees?.canceledRefundsBusinessRespTerritory),\n canceledRefundsBusinessRespGlobal: formatedSettingField(data?.fees?.canceledRefundsBusinessRespGlobal),\n productPriceCardDepot: formatedSettingField(data?.fees?.productPriceCardDepot),\n deliveryPriceCashPercentDepot: formatedSettingField(data?.fees?.deliveryPriceCashPercentDepot),\n deliveryPriceCashPercentTerritory: formatedSettingField(data?.fees?.deliveryPriceCashPercentTerritory),\n deliveryPriceCashPercentGlobal: formatedSettingField(data?.fees?.deliveryPriceCashPercentGlobal),\n deliveryPriceCardPercentDepot: formatedSettingField(data?.fees?.deliveryPriceCardPercentDepot),\n deliveryPriceCardPercentTerritory: formatedSettingField(data?.fees?.deliveryPriceCardPercentTerritory),\n deliveryPriceCardPercentGlobal: formatedSettingField(data?.fees?.deliveryPriceCardPercentGlobal),\n productPriceCardGlobal: formatedSettingField(data?.fees?.productPriceCardGlobal),\n productPriceCardTerritory: formatedSettingField(data?.fees?.productPriceCardTerritory),\n productPriceCashDepot: formatedSettingField(data?.fees?.productPriceCashDepot),\n productPriceCashTerritory: formatedSettingField(data?.fees?.productPriceCashTerritory),\n productPriceCashGlobal: formatedSettingField(data?.fees?.productPriceCashGlobal),\n deliveryPriceFixDepot: formatedSettingField(data?.fees?.deliveryPriceFixDepot),\n deliveryPriceFixTerritory: formatedSettingField(data?.fees?.deliveryPriceFixTerritory),\n deliveryPriceFixGlobal: formatedSettingField(data?.fees?.deliveryPriceFixGlobal),\n deliveryPriceLeftoverDepot: formatedSettingField(data?.fees?.deliveryPriceLeftoverDepot),\n deliveryPriceLeftoverTerritory: formatedSettingField(data?.fees?.deliveryPriceLeftoverTerritory),\n deliveryPriceLeftoverGlobal: formatedSettingField(data?.fees?.deliveryPriceLeftoverGlobal),\n deliveryPricePercentDepot: formatedSettingField(data?.fees?.deliveryPricePercentDepot),\n deliveryPricePercentTerritory: formatedSettingField(data?.fees?.deliveryPricePercentTerritory),\n deliveryPricePercentGlobal: formatedSettingField(data?.fees?.deliveryPricePercentGlobal),\n orderPriceFixDepot: formatedSettingField(data?.fees?.orderPriceFixDepot),\n orderPriceFixTerritory: formatedSettingField(data?.fees?.orderPriceFixTerritory),\n orderPriceFixGlobal: formatedSettingField(data?.fees?.orderPriceFixGlobal),\n orderPriceLeftoverDepot: formatedSettingField(data?.fees?.orderPriceLeftoverDepot),\n orderPriceLeftoverTerritory: formatedSettingField(data?.fees?.orderPriceLeftoverTerritory),\n orderPriceLeftoverGlobal: formatedSettingField(data?.fees?.orderPriceLeftoverGlobal),\n orderPricePercentDepot: formatedSettingField(data?.fees?.orderPricePercentDepot),\n orderPricePercentTerritory: formatedSettingField(data?.fees?.orderPricePercentTerritory),\n orderPricePercentGlobal: formatedSettingField(data?.fees?.orderPricePercentGlobal),\n businessRefundPercentDepot: formatedSettingField(data?.fees?.businessRefundPercentDepot),\n businessRefundPercentTerritory: formatedSettingField(data?.fees?.businessRefundPercentTerritory),\n businessRefundPercentGlobal: formatedSettingField(data?.fees?.businessRefundPercentGlobal),\n marketplaceRefundPercentDepot: formatedSettingField(data?.fees?.marketplaceRefundPercentDepot),\n marketplaceRefundPercentTerritory: formatedSettingField(data?.fees?.marketplaceRefundPercentTerritory),\n marketplaceRefundPercentGlobal: formatedSettingField(data?.fees?.marketplaceRefundPercentGlobal),\n businessDiscountPercentDepot: formatedSettingField(data?.fees?.businessDiscountPercentDepot),\n businessDiscountPercentTerritory: formatedSettingField(data?.fees?.businessDiscountPercentTerritory),\n businessDiscountPercentGlobal: formatedSettingField(data?.fees?.businessDiscountPercentGlobal),\n marketplaceDiscountPercentDepot: formatedSettingField(data?.fees?.marketplaceDiscountPercentDepot),\n marketplaceDiscountPercentTerritory: formatedSettingField(data?.fees?.marketplaceDiscountPercentTerritory),\n marketplaceDiscountPercentGlobal: formatedSettingField(data?.fees?.marketplaceDiscountPercentGlobal),\n businessReshipmentPercentDepot: formatedSettingField(data?.fees?.businessReshipmentPercentDepot),\n businessReshipmentPercentTerritory: formatedSettingField(data?.fees?.businessReshipmentPercentTerritory),\n businessReshipmentPercentGlobal: formatedSettingField(data?.fees?.businessReshipmentPercentGlobal),\n marketplaceReshipmentPercentDepot: formatedSettingField(data?.fees?.marketplaceReshipmentPercentDepot),\n marketplaceReshipmentPercentTerritory: formatedSettingField(data?.fees?.marketplaceReshipmentPercentTerritory),\n marketplaceReshipmentPercentGlobal: formatedSettingField(data?.fees?.marketplaceReshipmentPercentGlobal),\n serviceFeeDepot: formatedSettingField(data?.fees?.serviceFeeDepot),\n serviceFeeTerritory: formatedSettingField(data?.fees?.serviceFeeTerritory),\n serviceFeeGlobal: formatedSettingField(data?.fees?.serviceFeeGlobal),\n taxDepot: formatedSettingField(data?.fees?.taxDepot),\n taxTerritory: formatedSettingField(data?.fees?.taxTerritory),\n taxGlobal: formatedSettingField(data?.fees?.taxGlobal),\n percentPeriodFixDepot: formatedSettingField(data?.fees?.percentPeriodFixDepot),\n percentPeriodFixTerritory: formatedSettingField(data?.fees?.percentPeriodFixTerritory),\n percentPeriodFixGlobal: formatedSettingField(data?.fees?.percentPeriodFixGlobal),\n flatPeriodFixDepot: formatedSettingField(data?.fees?.flatPeriodFixDepot),\n flatPeriodFixTerritory: formatedSettingField(data?.fees?.flatPeriodFixTerritory),\n flatPeriodFixGlobal: formatedSettingField(data?.fees?.flatPeriodFixGlobal),\n creditCardClearingFeeDepot: formatedSettingField(data?.fees?.creditCardClearingFeeDepot),\n creditCardClearingFeeTerritory: formatedSettingField(data?.fees?.creditCardClearingFeeTerritory),\n creditCardClearingFeeGlobal: formatedSettingField(data?.fees?.creditCardClearingFeeGlobal),\n\n topUpToMinimumDepot: formatedSettingField(data?.fees?.topUpToMinimumDepot),\n topUpToMinimumTerritory: formatedSettingField(data?.fees?.topUpToMinimumTerritory),\n topUpToMinimumGlobal: formatedSettingField(data?.fees?.topUpToMinimumGlobal),\n driverTipDepot: formatedSettingField(data?.fees?.driverTipDepot),\n driverTipTerritory: formatedSettingField(data?.fees?.driverTipTerritory),\n driverTipGlobal: formatedSettingField(data?.fees?.driverTipGlobal),\n topUpToMinimumCashDepot: formatedSettingField(data?.fees?.topUpToMinimumCashDepot),\n topUpToMinimumCashTerritory: formatedSettingField(data?.fees?.topUpToMinimumCashTerritory),\n topUpToMinimumCashGlobal: formatedSettingField(data?.fees?.topUpToMinimumCashGlobal),\n topUpToMinimumCardDepot: formatedSettingField(data?.fees?.topUpToMinimumCardDepot),\n topUpToMinimumCardTerritory: formatedSettingField(data?.fees?.topUpToMinimumCardTerritory),\n topUpToMinimumCardGlobal: formatedSettingField(data?.fees?.topUpToMinimumCardGlobal),\n marketplaceCashDiscountDepot: formatedSettingField(data?.fees?.marketplaceCashDiscountDepot),\n marketplaceCashDiscountTerritory: formatedSettingField(data?.fees?.marketplaceCashDiscountTerritory),\n marketplaceCashDiscountGlobal: formatedSettingField(data?.fees?.marketplaceCashDiscountGlobal),\n marketplaceCardDiscountDepot: formatedSettingField(data?.fees?.marketplaceCardDiscountDepot),\n marketplaceCardDiscountTerritory: formatedSettingField(data?.fees?.marketplaceCardDiscountTerritory),\n marketplaceCardDiscountGlobal: formatedSettingField(data?.fees?.marketplaceCardDiscountGlobal),\n businessCardDiscountDepot: formatedSettingField(data?.fees?.businessCardDiscountDepot),\n businessCardDiscountTerritory: formatedSettingField(data?.fees?.businessCardDiscountTerritory),\n businessCardDiscountGlobal: formatedSettingField(data?.fees?.businessCardDiscountGlobal),\n businessCashDiscountDepot: formatedSettingField(data?.fees?.businessCashDiscountDepot),\n businessCashDiscountTerritory: formatedSettingField(data?.fees?.businessCashDiscountTerritory),\n businessCashDiscountGlobal: formatedSettingField(data?.fees?.businessCashDiscountGlobal),\n\n },\n };\n};\n\nexport const reconciliationsPeriodTemplateModel = data => {\n const stats = data?.stats;\n return {...data, stats: [...stats]};\n};\n\nexport const reconciliationsPeriodFormatPriceModel = (data, currency) => {\n return {...data,\n depotReconciliation: formatField(data.depotReconciliation, currency),\n depotRevenue: formatField(data.depotRevenue, currency),\n globalReconciliation: formatField(data.globalReconciliation, currency),\n globalRevenue: formatField(data.globalRevenue, currency),\n territoryReconciliation: formatField(data.territoryReconciliation, currency),\n territoryRevenue: formatField(data.territoryRevenue, currency),\n totalBonusPayments: formatField(data.totalBonusPayments, currency),\n totalCanceledRefundsBusiness: formatField(data.totalCanceledRefundsBusiness, currency),\n totalCanceledRefundsMarketplace: formatField(data.totalCanceledRefundsMarketplace, currency),\n totalBusinessDiscount: formatField(data.totalBusinessDiscount, currency),\n totalBusinessRefundCardAmount: formatField(data.totalBusinessRefundCardAmount, currency),\n totalBusinessRefundLoyaltyAmount: formatField(data.totalBusinessRefundLoyaltyAmount, currency),\n totalBusinessReshipment: formatField(data.totalBusinessReshipment, currency),\n totalCardDeliveryPrice: formatField(data.totalCardDeliveryPrice, currency),\n totalCashDeliveryPrice: formatField(data.totalCashDeliveryPrice, currency),\n totalCashPayments: formatField(data.totalCashPayments, currency),\n totalCashProductPrices: formatField(data.totalCashProductPrices, currency),\n totalCreditCardPayments: formatField(data.totalCreditCardPayments, currency),\n totalCreditCardProductPrices: formatField(data.totalCreditCardProductPrices, currency),\n totalDeliveryPrice: formatField(data.totalDeliveryPrice, currency),\n totalDiscountPayments: formatField(data.totalDiscountPayments, currency),\n totalMarketplaceDiscount: formatField(data.totalMarketplaceDiscount, currency),\n totalMarketplaceReshipment: formatField(data.totalMarketplaceReshipment, currency),\n totalPrice: formatField(data.totalPrice, currency),\n totalProductPrices: formatField(data.totalProductPrices, currency),\n totalMarketPlaceRefundLoyaltyAmount: formatField(data.totalMarketPlaceRefundLoyaltyAmount, currency),\n totalMarketPlaceRefundCardAmount: formatField(data.totalMarketPlaceRefundCardAmount, currency),\n totalServiceFee: formatField(data.totalServiceFee, currency),\n totalTax: formatField(data.totalTax, currency),\n totalTopUpToMinimum: formatField(data.totalTopUpToMinimum, currency),\n totalMarketplaceCashDiscount: formatField(data.totalMarketplaceCashDiscount, currency),\n totalMarketplaceCardDiscount: formatField(data.totalMarketplaceCardDiscount, currency),\n totalBusinessCardDiscount: formatField(data.totalBusinessCardDiscount, currency),\n totalBusinessCashDiscount: formatField(data.totalBusinessCashDiscount, currency),\n totalTopUpToMinimumCash: formatField(data.totalTopUpToMinimumCash, currency),\n totalTopUpToMinimumCard: formatField(data.totalTopUpToMinimumCard, currency),\n\n };\n};\n\nexport const reconciliationsPeriodFormatTerritoryPriceModel = (data, currency, title, territoryData) => {\n\n return {...data,\n tableName: title,\n territoryId: data?.territoryId,\n offset: (territoryData?.offset || territoryData?.offset === \"\") ? territoryData?.offset : data.offset ? data.offset :0,\n depotRevenue: formatField(data.totalDepotRevenue, currency),\n depotReconciliation: formatField(data.totalDepotReconciliation, currency),\n territoryRevenue: formatField(data.totalTerritoryRevenue, currency),\n territoryReconciliation: formatField(data.totalTerritoryReconciliation, currency),\n globalRevenue: formatField(data.totalGlobalRevenue, currency),\n globalReconciliation: formatField(data.totalGlobalReconciliation, currency),\n\n totalCanceledRefundsBusiness: formatField(data?.territorySummaryStats?.totalCanceledRefundsBusiness, currency),\n totalCanceledRefundsMarketplace: formatField(data?.territorySummaryStats?.totalCanceledRefundsMarketplace, currency),\n totalBonusPayments: formatField(data?.territorySummaryStats?.totalBonusPayments, currency),\n totalBusinessDiscount: formatField(data?.territorySummaryStats?.totalBusinessDiscount, currency),\n totalBusinessRefundCardAmount: formatField(data?.territorySummaryStats?.totalBusinessRefundCardAmount, currency),\n totalBusinessRefundLoyaltyAmount: formatField(data?.territorySummaryStats?.totalBusinessRefundLoyaltyAmount, currency),\n totalBusinessReshipment: formatField(data?.territorySummaryStats?.totalBusinessReshipment, currency),\n totalCardDeliveryPrice: formatField(data?.territorySummaryStats?.totalCardDeliveryPrice, currency),\n totalCashDeliveryPrice: formatField(data?.territorySummaryStats?.totalCashDeliveryPrice, currency),\n totalCashPayments: formatField(data?.territorySummaryStats?.totalCashPayments, currency),\n totalCashProductPrices: formatField(data?.territorySummaryStats?.totalCashProductPrices, currency),\n totalCreditCardPayments: formatField(data?.territorySummaryStats?.totalCreditCardPayments, currency),\n deliveryCount: data?.territorySummaryStats?.deliveryCount ? data?.territorySummaryStats?.deliveryCount : 0,\n totalAcceptedOrdersCount: data?.territorySummaryStats?.totalAcceptedOrdersCount ? data?.territorySummaryStats?.totalAcceptedOrdersCount : 0,\n takeawayCount: data?.territorySummaryStats?.takeawayCount ? data?.territorySummaryStats?.takeawayCount : 0,\n totalCanceledOrdersCount: data?.territorySummaryStats?.totalCanceledOrdersCount ? data?.territorySummaryStats?.totalCanceledOrdersCount : 0,\n totalDriverTip: data?.territorySummaryStats?.totalDriverTip ? data?.territorySummaryStats?.totalDriverTip : 0,\n totalCreditCardProductPrices: formatField(data?.territorySummaryStats?.totalCreditCardProductPrices, currency),\n totalDeliveryPrice: formatField(data?.territorySummaryStats?.totalDeliveryPrice, currency),\n totalDiscountPayments: formatField(data?.territorySummaryStats?.totalDiscountPayments, currency),\n totalMarketplaceDiscount: formatField(data?.territorySummaryStats?.totalMarketplaceDiscount, currency),\n totalMarketplaceReshipment: formatField(data?.territorySummaryStats?.totalMarketplaceReshipment, currency),\n totalPrice: formatField(data?.territorySummaryStats?.totalPrice, currency),\n totalProductPrices: formatField(data?.territorySummaryStats?.totalProductPrices, currency),\n totalMarketPlaceRefundLoyaltyAmount: formatField(data?.territorySummaryStats?.totalMarketPlaceRefundLoyaltyAmount, currency),\n totalMarketPlaceRefundCardAmount: formatField(data?.territorySummaryStats?.totalMarketPlaceRefundCardAmount, currency),\n totalServiceFee: formatField(data?.territorySummaryStats?.totalServiceFee, currency),\n totalTax: formatField(data?.territorySummaryStats?.totalTax, currency),\n totalTopUpToMinimum: formatField(data?.territorySummaryStats?.totalTopUpToMinimum, currency),\n totalMarketplaceCashDiscount: formatField(data?.territorySummaryStats?.totalMarketplaceCashDiscount, currency),\n totalMarketplaceCardDiscount: formatField(data?.territorySummaryStats?.totalMarketplaceCardDiscount, currency),\n totalBusinessCardDiscount: formatField(data?.territorySummaryStats?.totalBusinessCardDiscount, currency),\n totalBusinessCashDiscount: formatField(data?.territorySummaryStats?.totalBusinessCashDiscount, currency),\n totalTopUpToMinimumCash: formatField(data?.territorySummaryStats?.totalTopUpToMinimumCash, currency),\n totalTopUpToMinimumCard: formatField(data?.territorySummaryStats?.totalTopUpToMinimumCard, currency),\n };\n};\n\nexport const reconciliationsPeriodGrandTotalModel = (data, currency, title) => {\n return {\n id: null,\n tableName: title,\n territoryId: data?.territoryId,\n depotRevenue: formatField(data.totalDepotRevenue, currency),\n depotReconciliation: formatField(data.totalDepotReconciliation, currency),\n territoryRevenue: formatField(data.totalTerritoryRevenue, currency),\n territoryReconciliation: formatField(data.totalTerritoryReconciliation, currency),\n globalRevenue: formatField(data.totalGlobalRevenue, currency),\n globalReconciliation: formatField(data.totalGlobalReconciliation, currency),\n offset: null,\n count: 0,\n };\n};\n\n\nexport const reconciliationsSettingsAddModel = (data, allConfigurations) => {\n let isRoot = false;\n const list = {...data, fees: {...data.fees}};\n if(allConfigurations.length > 0) {\n allConfigurations.forEach((e) => {\n if(!e.depotId && !e.territoryId){\n // isRoot = false;\n }\n });\n }\n\n if(data.parentId === null && data.territoryId === null){\n isRoot = true;\n }\n\n if(isRoot){\n for (let key in list.fees) {\n if (list.fees[key] === null) {\n list.fees[key] = 0;\n }\n }\n }\n\n return {\n ...list\n };\n};\n\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport preloader from \"../../../assets/images/preloader.GIF\";\n\nexport const Button = ({\n useClass,\n processing,\n spanText,\n handleOnClick,\n disabled,\n isShake\n}) => (\n \n);\n","import React, {useState} from \"react\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {WAITER_TYPES} from \"../../../utils/enums\";\n\nimport Waiter from \"../Waiter/Waiter\";\nimport ConfirmDialog from \"../../containers/ConfirmDialogContainer\";\n\nconst LayoutHeaderControls = ({ t, withConfirmDialog, isHideSave, disabledSaveButton, closeIcon, cancelSpanText, onClose, onSave }) => {\n const [isShowConfirm, setShowConfirm] = useState(false);\n\n const handleOnCloseConfirm = () => {\n return new Promise(resolve => {\n setShowConfirm(false);\n resolve();\n })\n }\n\n const handleOnOpenConfirm = () => {\n return new Promise(resolve => {\n setShowConfirm(true);\n resolve();\n })\n }\n\n return (\n
\n {withConfirmDialog ? (\n <>\n {!isHideSave && (\n \n )}\n {isShowConfirm && (\n \n )}\n \n ) : (\n !isHideSave && (\n \n )\n )}\n {closeIcon ? : }\n\n
\n );\n}\n\nexport default withTranslation()(LayoutHeaderControls);\n","export { default } from \"./SectionInfoTitle\";","export { default } from \"./VehicleIcon\";","import {DELIVERY_STRATEGY, MODEL_TYPE} from \"../utils/enums.js\";\n\nexport const editCustomerOrderModel = (infoData) => {\n return {\n orderInfo: infoData,\n products: infoData.products,\n deliveryType: infoData.delivery_type,\n deliveryStrategy: infoData.delivery_strategy,\n courierTip: infoData.driver_tip,\n territory: infoData.entity_id,\n cutlery: infoData.cutlery,\n comment: infoData.comment,\n address: {\n location: {\n longitude: infoData.location && infoData.location.lng,\n latitude: infoData.location && infoData.location.lat,\n },\n city: infoData.city,\n address: infoData.address,\n address_notes: infoData.address_notes,\n flat: infoData.flat,\n storey: infoData.storey,\n modelType: MODEL_TYPE.order,\n },\n menu: infoData.menu || null,\n deliveryTime: infoData.delivery_strategy === DELIVERY_STRATEGY.asap ? null : infoData.delivery_datetime,\n giftOption: infoData.gift_option ? {\n isGift: true,\n name: infoData.gift_option.full_name,\n greeting: infoData.gift_option.greeting,\n phone: infoData.gift_option.phone,\n } : null,\n enabledPayments: [],\n payments: [],\n coupon: infoData.coupon || \"\",\n }\n}","export const SET_EMPTY_INFO = \"SET_EMPTY_INFO\";\n\nexport function actionSetEmptyInfoMessage(data) {\n return { type: SET_EMPTY_INFO, data };\n}","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { WAITER_TYPES } from \"../../../utils/enums\";\nimport {\n getCurrentUserName,\n getRememberMe,\n getAuthorization\n} from \"../../../utils/auth-util\";\n\nimport Waiter from \"../Waiter/Waiter\";\n\nclass ConfirmDialog extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n password: \"\"\n };\n }\n\n handleOnConfirm = () => {\n const { isWithPassword, actionAuthentication } = this.props;\n\n return new Promise((resolve, reject) => {\n if (isWithPassword) {\n actionAuthentication({\n username: getCurrentUserName(),\n password: this.state.password,\n rememberMe: getRememberMe(),\n skipSave: true,\n skipRetry: true\n })\n .then(data => {\n this.props\n .handleOnConfirm(\n data.token_type + \" \" + data.access_token,\n this.state.password\n )\n .then(\n () => {\n resolve();\n },\n error => {\n reject(error);\n }\n );\n })\n .catch(() => {\n reject();\n });\n } else {\n this.props\n .handleOnConfirm(getAuthorization())\n .then(() => resolve(), error => reject(error));\n }\n });\n };\n\n render() {\n const {\n t,\n isWithPassword,\n isCancelFirst,\n wishThreeButtons,\n handleOnLayout,\n handleOnCancel,\n labelText,\n useWrapperClass,\n useBtnConfirmClass,\n useBtnCancelClass,\n useInputClass,\n } = this.props;\n return (\n
\n \n
\n {labelText && {labelText}}\n {isWithPassword && (\n this.setState({ password: e.currentTarget.value })}\n />\n )}\n \n {!isCancelFirst && (\n \n )}\n {wishThreeButtons && (\n \n )} \n
\n {isCancelFirst && (\n \n )}\n
\n );\n }\n}\n\nexport default withTranslation()(ConfirmDialog);\n","import environment from \"environment\";\nimport { Userpilot } from \"userpilot\";\nimport User from \"./user\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class UserPilotService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use UserPilotService.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new UserPilotService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n init = () => {\n Userpilot.initialize(environment.userPilotToken);\n const currUser = User.instance.getCurrentUserInfo();\n const currUserName = sessionStorage.getItem(\"currentUserName\");\n\n if(currUser && currUserName) { \n Userpilot.identify(currUserName, {\n name: currUser.firstName, \n email: currUser.email,\n created_at: new Date()\n });\n }\n }\n\n stop = () => {\n try {\n if(!Userpilot) return\n Userpilot.clean();\n Userpilot.destroy();\n } catch (error) {\n console.log(error);\n } \n }\n}","import environment from \"environment\";\n\nimport AudioService from \"./audio\";\nimport { getPendingOrdersItems } from \"./restaurant\";\nimport { PENDING_ORDERS_FILTER_TYPE } from \"../utils/enums\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class BaseNotification{\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer){\n throw new Error(\n \"Instantiation failed: use BaseNotification.instance() instead of new.\"\n );\n }\n\n this.interval = undefined;\n this.pendingOrders = null;\n }\n \n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new BaseNotification(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n playNotification() {\n this.interval = setInterval(() => {\n this.ordersCheck();\n }, environment.intervalNotification);\n }\n\n ordersCheck() {\n const pendingOrdersLength = getPendingOrdersItems(PENDING_ORDERS_FILTER_TYPE.pending).length\n if(pendingOrdersLength > this.pendingOrders) {\n AudioService.instance.playSound(\"newOrderCreated\");\n this.pendingOrders = pendingOrdersLength\n }\n }\n\n clearInterval() {\n if(this.interval){\n clearInterval(this.interval);\n }\n }\n}","export const providerModel = (item = {}) => {\n\n let enableSchedule = false;\n if(item && item.autoAssignmentSchedule) {\n item.autoAssignmentSchedule.forEach((element) => {\n if(element.lapses.length > 0) {\n enableSchedule = true;\n }\n });\n }\n\n if(item.enableSchedule) {\n enableSchedule = true;\n }\n\n return {\n id: item.id || \"\",\n provider: item.provider || 0,\n providerName: item.providerName || \"\",\n enabled: item.enabled || false,\n priority: item.priority || 0,\n venueId: item.venueId || \"\",\n virtual: item.virtual || false,\n virtualAutomaticDelivery: item.virtualAutomaticDelivery || 0,\n autoAssignmentTimeout: item.autoAssignmentTimeout || 0,\n autoAssignmentRetries: item.autoAssignmentRetries || 0,\n autoAssignment: item.autoAssignment || false,\n order: item.order || item.priority || 0,\n password: item.password || \"\",\n isDirty: false,\n refreshedValue: null,\n autoAssignmentRegionIds: item.autoAssignmentRegionIds || [],\n enableSchedule: enableSchedule,\n autoAssignmentSchedule: item.autoAssignmentSchedule || null,\n user: item.user || \"\",\n}}\n\nexport const providersApiMap = (providers, regions, id) => {\n const currentProvider = providers.find(f => f.id === id) || {};\n if(currentProvider && currentProvider.autoAssignmentRegionIds && currentProvider.autoAssignmentRegionIds.length > 0) {\n currentProvider.autoAssignmentRegionIds = currentProvider.autoAssignmentRegionIds.map((e) => {\n if(regions) {\n const currentRegion = regions.find((region) => region.id === e);\n if(currentRegion) {\n return currentRegion.name;\n }\n }\n return e;\n });\n }\n return currentProvider\n}\n\nexport const transformProvidersToApi = (data, regions) => {\n return data.AutoAssignmentRegionIds.map((region) => {\n const currentRegion = regions.find((e) => e.name === region);\n return currentRegion ? currentRegion.id : region\n });\n}\n","import Store from \"../store/store\";\nimport { TYPE_STORE_DATA, DEFAULT_ORDERS_GROUPS } from \"../utils/enums\";\n\nexport function getStoreDataByType(type) {\n const state = Store.store.getState();\n if (!state) return [];\n\n switch (type) {\n case TYPE_STORE_DATA.orders:\n if (!state.order || !state.order.data) return [];\n return state.order.data.orders || [];\n case TYPE_STORE_DATA.noAssistanceOrders:\n if (!state.order || !state.order.data) return [];\n return (state.order.data.orders || []).filter(\n order => order.groupId !== DEFAULT_ORDERS_GROUPS.assistance\n );\n case TYPE_STORE_DATA.couriers:\n if (!state.userModel) return [];\n return state.userModel.data;\n case TYPE_STORE_DATA.billingInfo:\n return state.billing;\n default:\n break;\n }\n}\n","import React, { createRef } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport moment from \"moment\";\nimport { DebounceInput } from \"react-debounce-input\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { DATE_FORMAT, DATE_TIME_FORMAT_DAYTIME, TIME_FORMAT_USER } from \"../../../utils/convertTime\";\nimport { DATECONTROL_TYPE, WAITER_TYPES } from \"../../../utils/enums\";\nimport { isValidDate } from \"../../../utils/objects-util\";\n\nimport Waiter from \"../Waiter/Waiter\";\nimport DatePicker from \"../DatePicker/DatePicker.jsx\";\n\nclass OrderDatetimeControl extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isSetTimeCalendarOpen: false,\n dtValue: null,\n popupLabel: ''\n };\n\n this.datePickerRef = createRef();\n }\n\n componentDidMount() {\n const { time } = this.props;\n if(time) {\n this.setState({ dtValue: this.getFormattedValue(time) });\n }\n this.setState({popupLabel: this.getLabel()})\n }\n\n getLabel = () => {\n const {accessor} = this.props\n switch (accessor){\n case \"start\" | \"startDate\":\n return \"TITLE_BUTTON_START\";\n case \"end\":\n return \"TITLE_BUTTON_FINISH\";\n case \"creationDate\":\n return \"TITLE_BUTTON\";\n case \"sellerBirthdate\" :\n return \"TITLE_BUTTON_SELLER_BIRTHDATE\";\n case \"sellerSocialIdIssued\":\n return \"TITLE_BUTTON_SELLER_SOCIAL_ID_ISSUED\";\n case \"startDate\":\n return \"TITLE_BUTTON_START\";\n case \"endDate\":\n return \"TITLE_BUTTON_FINISH\";\n case \"voucherExpiration\":\n return \"TITLE_VOUCHER_EXPIRATION\";\n default:\n return \"TITLE_BUTTON_TARGET\";\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { time } = this.props;\n\n if(time !== prevProps.time) {\n this.setState({ dtValue: this.getFormattedValue(time) });\n }\n }\n\n handleSetTimeCalendar = date => {\n const { time, onSelect } = this.props;\n\n return new Promise(resolve => {\n resolve();\n\n if (date) {\n const dt = new Date(date);\n dt.setDate(1);\n this.setState({ dtValue: this.getFormattedValue(time) }, ()=> onSelect(date));\n }\n\n this.handleOnOpenCalendar(false);\n });\n };\n\n getFormattedValue = timeValue => {\n const { type, format } = this.props;\n\n if(!timeValue) return \"\";\n\n switch (type) {\n case DATECONTROL_TYPE.date:\n return moment(timeValue).format(format || DATE_FORMAT).toString();\n case DATECONTROL_TYPE.time:\n return moment(timeValue).format(format || TIME_FORMAT_USER).toString();\n case DATECONTROL_TYPE.datetime:\n return moment(timeValue).format(format || DATE_TIME_FORMAT_DAYTIME).toString();\n default:\n return timeValue;\n }\n }\n\n handleOnChange = value => {\n const { isEditable, type, time, min } = this.props;\n\n if(value && isEditable) {\n this.setState({ dtValue: \"\" }, ()=> {\n let dDate = moment(time || new Date()).format(DATE_FORMAT).toString();\n let dTime = moment(time || new Date()).format(TIME_FORMAT_USER).toString();\n\n switch (type) {\n case DATECONTROL_TYPE.date:\n // const textDate = getDateFromText(value);\n if(moment(value).isValid())\n dDate = moment(value).format(DATE_FORMAT).toString();\n break;\n case DATECONTROL_TYPE.time:\n // getTimeFromText\n value = value.length === 4 ? `${value.slice(0, 2)}:${value.slice(2, 4)}` : value;\n dDate = moment(time).format(\"YYYY/MM/DD\").toString();\n if(moment(dDate + \" \" + value).isValid())\n dTime = moment(dDate + \" \" + value).format(TIME_FORMAT_USER).toString();\n break;\n case DATECONTROL_TYPE.datetime:\n let [date, hours] = value.split(' ');\n date = date.split('/').reverse();\n date = `20${date[0]}/${date[1]}/${date[2]}`;\n const newDate = moment(date + \" \" + hours);\n // getTimeFromText\n if(moment(newDate).isValid()) {\n dDate = moment(newDate).format(\"YYYY/MM/DD\").toString();\n dTime = moment(newDate).format(TIME_FORMAT_USER).toString();\n }\n break;\n default:\n break;\n }\n\n const isMoreThenMin = new Date(dDate + \" \" + dTime) >= new Date(min);\n const result = !min || isMoreThenMin\n ? new Date(dDate + \" \" + dTime)\n : new Date(min);\n if(isValidDate(result)) {\n this.handleSetTimeCalendar(result.toISOString());\n }\n })\n }\n }\n\n handleOnOpenCalendar = value => {\n const { isReadonly } = this.props;\n return new Promise(resolve=> {\n resolve();\n if(!isReadonly) {\n this.setState({ isSetTimeCalendarOpen: value });\n }\n });\n }\n\n render() {\n const { dtValue, popupLabel } = this.state;\n const { t, time, type, label, format, placeholder, alwaysShowDatePicker, hideIcon, hideLabel, isEditable, isReadonly, min } = this.props;\n const hideDateControl = alwaysShowDatePicker ? false : [DATECONTROL_TYPE.time].includes(type);\n\n return (\n
\n {!hideLabel && (\n
\n {!hideIcon && (
)}\n
{label || t(\"assistance.TIME_LABEL\")}
\n
\n )}\n
\n {}}\n onBlur={e=> this.handleOnChange(e.target.value)}\n onClick={() => !isEditable && this.handleOnOpenCalendar(true)}\n value={dtValue || ''}\n />\n \n )}\n iconClassNames={'controlButton'}\n />\n
\n
\n );\n }\n}\n\nexport default withTranslation()(OrderDatetimeControl);\n","import React, { useEffect, useState } from 'react';\nimport { getDaysOffsetTypeByNumber, handleMinValueError, SimpleItemSelect } from './audienceFilterHelpers.js';\nimport {\n AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES,\n CAMPAIGN_AUDIENCE_FILTER_TYPES,\n getCampaignDaysOffsetTypes,\n getCampaignPeriodTypes,\n} from '../../../utils/enums.js';\nimport classNames from 'classnames';\nimport NumberInput from '../NumberInput/NumberInput.jsx';\nimport i18n from 'i18next';\n\nconst TimeSpanItem = ({ index, filterState, handleChange }) => {\n const [daysOffsetType, setDaysOffsetType] = useState(getDaysOffsetTypeByNumber(filterState?.days_offset) || 0);\n const [isNegativeDaysOffset, setIsNegativeDaysOffset] = useState(false);\n\n const isAfterOrBeforeType = daysOffsetType >= AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after;\n const isEqualOperator = filterState?.operator === CAMPAIGN_AUDIENCE_FILTER_TYPES.equal;\n\n useEffect(() => {\n setIsNegativeDaysOffset(false);\n if (daysOffsetType < AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after) return;\n setIsNegativeDaysOffset(daysOffsetType === AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.before);\n }, [daysOffsetType]);\n\n const handleFilterStateChange = (value, key, skipError = false) => {\n let newValue = value?.key ?? value;\n\n if (key === 'timespan_value' && filterState.string_value) {\n if (newValue < 0) return handleMinValueError(0);\n }\n\n if (newValue === filterState[key]) return;\n\n if (key === 'days_offset' && newValue < 0 && isAfterOrBeforeType && !skipError) return handleMinValueError(0);\n\n if (key === 'days_offset' && isNegativeDaysOffset && !skipError) {\n handleChange(index, { ...filterState, days_offset: newValue * -1 });\n return;\n }\n\n if (key === 'string_value') {\n handleChange(index, { ...filterState, [key]: newValue });\n return;\n }\n\n handleChange(index, { ...filterState, [key]: newValue });\n };\n\n return isEqualOperator ? (\n <>\n {\n setDaysOffsetType(value.key);\n\n if (value.key >= AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after) {\n handleFilterStateChange(0, 'days_offset');\n } else {\n handleFilterStateChange(value, 'days_offset', true);\n }\n }}\n />\n {daysOffsetType >= AUDIENCE_FILTER_SELECT_DAYS_OFFSET_TYPES.after && (\n <>\n
\n
\n handleFilterStateChange(value, 'days_offset')}\n />\n
\n
\n {!!filterState?.days_offset && (\n
\n {(isNegativeDaysOffset ? filterState.days_offset * -1 : filterState.days_offset) +\n ' ' +\n i18n.t('enums.campaign.DAYS')}\n
\n )}\n \n )}\n \n ) : (\n <>\n
\n
\n handleFilterStateChange(value, 'timespan_value')}\n />\n
\n
\n handleFilterStateChange(value, 'string_value')}\n />\n \n );\n};\n\nexport default TimeSpanItem;\n","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport {\n AUDIENCE_FILTER_SELECT_GROUP_TYPES, audienceFilterTimeStampTypes,\n CAMPAIGN_AUDIENCE_FILTER_TYPES,\n CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES, CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES,\n getAudienceFilterSelectTypes,\n getAudienceFilterTypes,\n getCampaignGenders,\n languages, loyaltyLevels,\n} from '../../../utils/enums.js';\nimport {getDepotsKeyValue, getTerritoriesEntity} from '../../../services/restaurant.js';\nimport NumberInput from '../NumberInput/NumberInput.jsx';\nimport { withTranslation } from 'react-i18next';\nimport {\n getGroupType,\n getLookupModel,\n getNumericModel,\n getTerritoriesSelect,\n getTimeSpanModel,\n handleMinValueError,\n SimpleItemSelect,\n} from './audienceFilterHelpers.js';\nimport TimeSpanItem from './TimeSpanItem.jsx';\nimport { getAudienceFilterModel } from './SectionItemAudienceFilter.jsx';\n\nconst getFilterModel = filterState => {\n const newGroupType = getGroupType(filterState.field);\n let model = null;\n\n switch (newGroupType) {\n case AUDIENCE_FILTER_SELECT_GROUP_TYPES.timeSpan: {\n model = {\n ...getTimeSpanModel({\n data: filterState,\n isEqual: filterState?.operator === CAMPAIGN_AUDIENCE_FILTER_TYPES.equal,\n }),\n };\n break;\n }\n case AUDIENCE_FILTER_SELECT_GROUP_TYPES.lookup: {\n model = { ...getLookupModel(filterState) };\n break;\n }\n case AUDIENCE_FILTER_SELECT_GROUP_TYPES.numeric: {\n model = { ...getNumericModel(filterState) };\n break;\n }\n default:\n model = getAudienceFilterModel();\n }\n\n return model;\n};\n\nconst AudienceFilterItem = ({ t, filterState, handleChange, index }) => {\n const [groupType, setGroupType] = useState(getGroupType(filterState.field));\n const isLookupOnly = groupType === AUDIENCE_FILTER_SELECT_GROUP_TYPES.lookup\n const territories = getTerritoriesEntity() || [];\n\n useEffect(() => {\n const newGroup = getGroupType(filterState.field)\n if(newGroup === groupType) return\n setGroupType(newGroup);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterState.field]);\n\n const handleFilterStateChange = (value, key) => {\n let newValue = value?.key ?? value;\n\n if (newValue === filterState[key]) return;\n\n if (key === 'field') {\n let newFilter = {...filterState, [key]: newValue}\n\n const newGroup = getGroupType(newValue)\n if(newGroup !== groupType || newGroup=== AUDIENCE_FILTER_SELECT_GROUP_TYPES.lookup) {\n setGroupType(newGroup);\n newFilter = { operator: CAMPAIGN_AUDIENCE_FILTER_TYPES.equal, [key]: newValue }\n }\n\n handleChange(index, getFilterModel(newFilter));\n return\n }\n\n if (key === 'operator') {\n handleChange(index, getFilterModel({ ...filterState, [key]: newValue }));\n return;\n }\n\n if (key === 'double_value' && newValue < 0) {\n return handleMinValueError(0);\n }\n\n handleChange(index, { ...filterState, [key]: newValue });\n };\n\n return (\n
\n handleFilterStateChange(value, 'field')}\n width={'310px'}\n />\n {filterState.field !== null &&\n handleFilterStateChange(value, 'operator')}\n />\n }\n\n {/*LOOKUP*/}\n {(filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.depot || filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.consumerProfile_LastDepot) && (\n handleFilterStateChange(value, 'string_value')}\n />\n )}\n\n {filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.consumerProfile_LastTerritory && (\n handleFilterStateChange(value, 'string_value')}\n />\n )}\n\n {filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.language && (\n handleFilterStateChange(value, 'string_value')}\n />\n )}\n {filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.gender && (\n handleFilterStateChange(value, 'string_value')}\n />\n )}\n {filterState.field === CAMPAIGN_LOOKUP_AUDIENCE_FILTER_TYPES.currentTerritory && (\n handleFilterStateChange(value, 'string_value')}\n />\n )}\n\n {/*LOOKUP END*/}\n\n {/*TIMESPAN*/}\n\n {groupType === AUDIENCE_FILTER_SELECT_GROUP_TYPES.timeSpan && (\n \n )}\n\n {/*TIMESPAN END*/}\n\n {/*NUMERIC*/}\n\n {groupType === AUDIENCE_FILTER_SELECT_GROUP_TYPES.numeric && filterState.field !== CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.loyaltyLevel && (\n
\n
\n handleFilterStateChange(value || 0, 'double_value')}\n />\n
\n
\n )}\n\n {filterState.field === CAMPAIGN_NUMERIC_AUDIENCE_FILTER_TYPES.loyaltyLevel && (\n handleFilterStateChange(value || 0, 'double_value')}\n />\n )}\n\n {/*NUMERIC END*/}\n
\n );\n};\n\nexport default withTranslation()(AudienceFilterItem);\n","import React, { useEffect, useState } from 'react';\nimport './index.scss';\nimport AudienceFilterItem from './AudienceFilterItem.jsx';\nimport classNames from 'classnames';\nimport IconButton from '../IconButton/IconButton.jsx';\nimport i18n from 'i18next';\nimport { connect } from 'react-redux';\nimport { createAction } from '../../../utils/sagaHelper.js';\nimport { LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET } from '../../../store/reducers/restaurant/restaurant-actions.js';\nimport { isRTL } from '../../../services/userModel.js';\nimport { checkNullField, SimpleItemSelect, SwitchAudienceType } from './audienceFilterHelpers.js';\nimport {\n CAMPAIGN_AUDIENCE_FILTER_TYPE,\n CAMPAIGN_AUDIENCE_FILTER_TYPES,\n getAudienceFilterChannel,\n} from '../../../utils/enums.js';\nimport { calcTimeSpan } from '../../../models/marketplaceCampaignModel.js';\nimport { useDebounce } from '../../hooks/useDebounce.js';\n\nexport const getAudienceFilterModel = data => ({\n field: data?.field !== undefined ? data?.field : null,\n operator: data?.operator || CAMPAIGN_AUDIENCE_FILTER_TYPES.equal,\n});\n\nconst SectionItemAudienceFilter = ({ item, value, column, onPropChange, updateUserCount }) => {\n const [filtersGroup, setFiltersGroup] = useState(value || []);\n const debounceFilterGroup = useDebounce(filtersGroup, 500);\n const [usersCount, setUsersCount] = useState(0);\n\n const [audienceChannel, setAudienceChannel] = useState(item?.audience_channel);\n const [audienceType, setAudienceType] = useState(\n !!value ? CAMPAIGN_AUDIENCE_FILTER_TYPE.ByCriteria : CAMPAIGN_AUDIENCE_FILTER_TYPE.ByChannel\n );\n\n useEffect(() => {\n if (!filtersGroup && value) {\n setFiltersGroup(value || [getAudienceFilterModel()]);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n if (!filtersGroup?.length) {\n setUsersCount(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [usersCount]);\n\n useEffect(() => {\n if (\n !debounceFilterGroup?.length ||\n checkNullField(debounceFilterGroup) ||\n debounceFilterGroup.some(item => Object.values(item)?.length < 3)\n ) {\n setUsersCount(0);\n return;\n }\n\n const filterGroupForCount = calcTimeSpan(debounceFilterGroup, true);\n\n updateUserCount(filterGroupForCount).then(data => {\n setUsersCount(data?.Count || 0);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debounceFilterGroup]);\n\n useEffect(() => {\n if (audienceType === CAMPAIGN_AUDIENCE_FILTER_TYPE.ByChannel) {\n onPropChange({ [column.accessor]: null, audience_channel: audienceChannel });\n } else {\n onPropChange({ [column.accessor]: filtersGroup, audience_channel: null });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filtersGroup, audienceType, audienceChannel]);\n\n const addNewFilterGroup = () => {\n if (filtersGroup && Array.isArray(filtersGroup)) {\n setFiltersGroup([...filtersGroup, getAudienceFilterModel()]);\n } else {\n setFiltersGroup([getAudienceFilterModel()]);\n }\n };\n\n const removeFilterGroup = id => {\n setFiltersGroup(filtersGroup.filter((filter, index) => index !== id));\n };\n\n const handleChange = (id, data) => {\n const updateFiltersGroup = filtersGroup.map((filter, index) => (index === id ? data : filter));\n setFiltersGroup(updateFiltersGroup);\n };\n\n return (\n
\n
\n
{i18n.t('settings.campaigns.AUDIENCE_FILTER_LABEL')}
\n \n
\n {audienceType === CAMPAIGN_AUDIENCE_FILTER_TYPE.ByChannel && (\n setAudienceChannel(value?.key)}\n width={'310px'}\n />\n )}\n {audienceType === CAMPAIGN_AUDIENCE_FILTER_TYPE.ByCriteria && (\n <>\n
\n {filtersGroup?.map((filter, index) => (\n
\n \n
\n \n new Promise(resolve => {\n resolve();\n removeFilterGroup(index);\n })\n }\n />\n
\n
\n ))}\n
\n
\n \n new Promise(resolve => {\n resolve();\n addNewFilterGroup();\n })\n }\n />\n
\n {usersCount + ' ' + i18n.t('settings.campaigns.AUDIENCE_FILTER_USERS_LABEL') + ' '}\n
{i18n.t('settings.campaigns.AUDIENCE_FILTER_AFTER_USERS_LABEL')}
\n
\n
\n \n )}\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateUserCount: data => dispatch(createAction(LOYALTY_CAMPAIGNS_AUDIENCE_FILTER_COUNT_GET, data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(SectionItemAudienceFilter);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getDepotName, isDepotMode } from \"../../../services/restaurant\";\nimport { getPlaceOrAddress, getShortOrderId } from '../../../services/order';\nimport User from '../../../services/user';\n\n\nconst OrderTitleInfo = ({ order, depots, isShowAddress = true, onTitleClick, isWithId }) => {\n const depot = (order && order.depotId && depots.find(f=> f.id === order.depotId)) || {};\n const depotName = getDepotName(order, depot);\n const orderId = getShortOrderId(order);\n const address = getPlaceOrAddress(order);\n const isShowOrderId = (!isDepotMode || !User.instance.getCurrentUserConfigurationProp(\"isHideOrderId\")) && orderId;\n\n const handleOnTitleClick = e => {\n onTitleClick && onTitleClick(e);\n }\n\n return (\n
\n
{depotName}
\n {orderId && isWithId && isShowOrderId && (
/{orderId}
)}\n {isShowAddress && address && (
/{getPlaceOrAddress(order)}
)}\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n depots: state.restaurant.data.depots || []\n }\n}\n\nexport default connect(mapStateToProps)(OrderTitleInfo);","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport \"./index.scss\";\nimport i18n from '../../../i18n.js';\nimport { createAction } from '../../../utils/sagaHelper.js';\nimport IconButton from '../IconButton/IconButton.jsx';\nimport { useDispatch } from 'react-redux';\n\nconst RefreshDataIcon = ({ item, refreshAction, tooltipText }) => {\n const dispatch = useDispatch()\n\n return (\n dispatch(createAction(refreshAction, item))}\n />\n );\n};\n\nexport default withTranslation()(RefreshDataIcon);\n","import React, {useState} from \"react\";\nimport IconButton from \"../IconButton\";\nimport {connect} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper.js\";\nimport ConfirmDialog from \"../ConfirmDialog\";\nimport './style.scss';\n\nconst LinkActionIcon = ({tooltip, iconName, withConfirm, data, actionName, confirmAction}) => {\n const [confirmOpen, setConfirmOpen] = useState(false);\n\n const handleOnConfirm = () => {\n return confirmAction(actionName, data).finally(() => setConfirmOpen(false));\n }\n const handleOnClick = () => {\n if(withConfirm) {\n setConfirmOpen(true);\n return;\n }\n return handleOnConfirm();\n }\n\n return (\n
\n \n {confirmOpen && (\n setConfirmOpen(false)}\n handleOnConfirm={handleOnConfirm}\n />\n )}\n
\n )\n}\n\nconst mdtp = dispatch => ({\n confirmAction: (action, data) => dispatch(createAction(action, data))\n})\n\nexport default connect(null, mdtp)(LinkActionIcon);","import React from 'react';\nimport i18n from '../../i18n';\n\nimport {getCampaignFilter} from '../filter';\nimport {createControlModel} from '../controlModelFactory';\n\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\n\nimport {\n CONTROL_TYPE,\n DATECONTROL_TYPE,\n getCampaignRecurringTypes,\n getCampaignTypes,\n MARKETPLACE_SETTINGS_MODEL,\n MODAL_COMPONENT_TYPE,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE,\n TYPE_ACTION,\n} from '../../utils/enums';\n\nimport {\n getCampaignNameById,\n getCampaignsExecutionStatusLabel,\n getCampaignType,\n getCurrencyValue, getRestaurantLoyaltyEnabled,\n isMobileWidth,\n} from '../restaurant';\nimport {createBreadcrumbModel} from '../createBreadcrumbModel';\nimport {getInitModel} from '../initModels.js';\nimport {\n EXECUTE_COMPAIGN,\n LOYALTY_CAMPAIGNS,\n LOYALTY_CAMPAIGNS_EXECUTIONS_ADD,\n LOYALTY_CAMPAIGNS_EXECUTIONS_GET,\n LOYALTY_CAMPAIGNS_EXECUTIONS_UPDATE_BY_ID,\n LOYALTY_CAMPAIGNS_GET,\n LOYALTY_CAMPAIGNS_TOGGLE_ENABLED,\n} from '../../store/reducers/restaurant/restaurant-actions.js';\nimport {DATE_FORMAT_DMY2_HM, getFormattedDate} from '../../utils/convertTime.js';\nimport {getHistoryLocationParams} from '../../utils/routesHelper.js';\nimport {checkNullField} from '../../app/components/SectionItemAudienceFilter/audienceFilterHelpers.js';\nimport RefreshDataIcon from '../../app/components/RefreshDataIcon/index.js';\nimport LinkActionIcon from \"../../app/components/LinkActionIcon/index.js\";\nimport {beautifyPrice} from \"../../utils/math-util.js\";\nimport {isRTL} from \"../userModel.js\";\n\nexport function createCampaignsSectionModel() {\n return new SectionModel({\n filterOptions: createCampaignsSectionFilter(),\n columns: [\n {\n title: 'settings.campaigns.CAMPAIGN_NAME_LABEL',\n accessor: 'name',\n width: '300px',\n },\n {\n title: 'settings.campaigns.TYPE_LABEL',\n accessor: 'campaign_type',\n component: campaign => getCampaignType(campaign.campaign_type),\n },\n {\n title: 'settings.campaigns.BONUS_LABEL',\n accessor: 'bonus_info',\n component: campaign =>
{campaign?.bonus_info?.bonus || '-'}
,\n },\n {\n title: 'settings.campaigns.START_DATE',\n accessor: 'start_date',\n component: campaign => getFormattedDate(campaign.start_date, DATE_FORMAT_DMY2_HM),\n },\n {\n title: 'settings.campaigns.SEE_EXECUTIONS',\n accessor: 'execution',\n url: item => MARKETPLACE_SETTINGS_MODEL.campaignsExecutions + '?id=' + item.id,\n type: CONTROL_TYPE.linkControl,\n },\n {\n title: 'basic.ENABLED_STATUS',\n accessor: 'enabled',\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n title: \"settings.campaigns.EXECUTE\",\n width: \"100px\",\n component: function(data) {\n return (\n \n );\n },\n link: EXECUTE_COMPAIGN,\n type: CONTROL_TYPE.linkAction\n },\n {\n title: 'settings.users.USER_TOOLS_EDIT',\n iconName: 'editItem',\n width: \"65px\",\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.campaignsEdit,\n tooltipText: i18n.t('settings.users.USER_TOOLS_EDIT_TOOLTIP'),\n },\n ],\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.MARKETPLACE_SETTINGS' }),\n createBreadcrumbModel({ label: 'settings.marketplaceMessage.LOYALTY' }),\n ],\n label: 'settings.campaigns.MENU_LABEL',\n tableMinWidth: 1400,\n actionLoad: LOYALTY_CAMPAIGNS_GET,\n actionName: LOYALTY_CAMPAIGNS,\n editAction: LOYALTY_CAMPAIGNS_TOGGLE_ENABLED,\n isForceUpdate: true,\n typeModel: MARKETPLACE_SETTINGS_MODEL.campaigns,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.campaignsNew,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n // createControlModel({\n // type: MODEL_CONTROL_TYPE.filter,\n // }),\n ],\n mappingLambda: state => {\n return state.restaurant?.data?.campaigns || [];\n },\n });\n}\n\nexport function createCampaignsEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n id: 'groupCampaignsEditNameType',\n columns: [\n {\n title: 'settings.campaigns.CAMPAIGN_EDIT_NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n withoutBorder: true,\n isItemValid: item => {\n return !!item?.name?.length;\n },\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.campaigns.CAMPAIGN_EDIT_TYPE_LABEL',\n accessor: 'campaign_type',\n connect: () => ({\n values: getCampaignTypes(),\n }),\n isEditable: true,\n withoutBorder: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.campaigns.CAMPAIGN_ACTIVE_LABEL',\n accessor: 'enabled',\n isInline: true,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n ],\n isEditable: true,\n border: 'none',\n type: CONTROL_TYPE.group,\n },\n {\n id: 'groupCampaignsEditMassageSettings',\n columns: [\n {\n title: 'settings.campaigns.CAMPAIGN_EDIT_PROMO_TITLE_LABEL',\n accessor: 'message_title',\n isEditable: true,\n withoutBorder: true,\n type: CONTROL_TYPE.text,\n },\n {\n title: 'settings.campaigns.CAMPAIGN_EDIT_PROMO_MESSAGE_LABEL',\n accessor: 'message',\n isEditable: true,\n height: '154px',\n type: CONTROL_TYPE.textArea,\n },\n ],\n isEditable: true,\n border: 'none',\n justifyContent: 'flex-start',\n type: CONTROL_TYPE.group,\n },\n {\n accessor: 'audience_filter',\n isEditable: true,\n isFillContent: true,\n isItemValid: item => {\n const isFilterExist = !checkNullField(item?.audience_filter || []) && item?.audience_filter;\n const isChannelExist = item?.audience_channel !== null\n return isFilterExist || isChannelExist\n },\n type: CONTROL_TYPE.audienceFilter,\n },\n {\n accessor: 'bonus_info',\n isEditable: true,\n isFillContent: true,\n isItemValid: item => {\n if(item?.audience_channel !== null || item?.bonus_info === null) return true\n\n const percent = item?.bonus_info?.checkout_limit_percent;\n const isNameExist = item?.bonus_info?.bonus_name;\n const isValidPercent = percent >= 0.01 && percent <= 1.0;\n const isValidValidityPeriod = item?.bonus_info?.bonus_expiration !== '00:00:00';\n return isValidPercent && isValidValidityPeriod && isNameExist;\n },\n disable: !getRestaurantLoyaltyEnabled(),\n type: CONTROL_TYPE.bonusVoucher,\n },\n {\n title: 'settings.campaigns.CAMPAIGN_TEST_USERS_LABEL',\n isEditable: true,\n isFillContent: true,\n key: 'consumerId',\n buttonsConfig: {\n saveTitle: 'settings.campaigns.CAMPAIGN_TEST_USERS_SAVE_LABEL',\n openPopupTitle: 'settings.campaigns.CAMPAIGN_TEST_USERS_OPEN_MODAL_WINDOW_LABEL',\n defaultTitle: 'settings.campaigns.CAMPAIGN_TEST_USERS_OPEN_MODAL_WINDOW_DEFAULT_LABEL',\n saveAction: LOYALTY_CAMPAIGNS_EXECUTIONS_ADD,\n },\n isShow: item => !!item?.id,\n modalType: MODAL_COMPONENT_TYPE.customersList,\n type: CONTROL_TYPE.modalSelect,\n },\n {\n id: 'groupCampaignsEditDate',\n columns: [\n {\n title: 'settings.campaigns.CAMPAIGN_REPEAT_LABEL',\n accessor: 'recurring_type',\n inlineWidth: '120px',\n alignItems: 'flex-end',\n isNumberValue: true,\n isEditable: true,\n type: CONTROL_TYPE.switch,\n },\n {\n accessor: 'recurring_type',\n width: '150px',\n fixedWidth: '150px',\n connect: () => ({\n values: getCampaignRecurringTypes(),\n }),\n isEditable: true,\n type: CONTROL_TYPE.select,\n },\n {\n title: 'settings.campaigns.CAMPAIGN_START_DATE_LABEL',\n accessor: 'start_date',\n width: '300px',\n fixedWidth: '300px',\n isEditable: true,\n timeType: DATECONTROL_TYPE.datetime,\n type: CONTROL_TYPE.date,\n },\n ],\n isEditable: true,\n isInline: true,\n isFillContent: true,\n alignItems: 'flex-end',\n type: CONTROL_TYPE.group,\n gap: '7px',\n },\n ],\n actionName: LOYALTY_CAMPAIGNS,\n actionLoad: LOYALTY_CAMPAIGNS_GET,\n stayAfterSave: args.typeAction === TYPE_ACTION.edit,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.campaigns,\n typeAction: args.typeAction,\n typeModel:\n args.typeAction === TYPE_ACTION.edit\n ? MARKETPLACE_SETTINGS_MODEL.campaignsEdit\n : MARKETPLACE_SETTINGS_MODEL.campaignsNew,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n initNewItemModel: item => getInitModel(MODEL_TYPE.marketplaceCampaignModel, item),\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.MARKETPLACE_SETTINGS' }),\n createBreadcrumbModel({ label: 'settings.marketplaceMessage.LOYALTY' }),\n createBreadcrumbModel({ label: 'settings.campaigns.MENU_LABEL' }),\n ],\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return id ? getCampaignNameById(id) : i18n.t('settings.campaigns.MENU_LABEL_NEW_CAMPAIGN');\n },\n mappingLambda: state => {\n return state.restaurant?.data?.campaigns || [];\n },\n });\n}\n\nexport function createCampaignsExecutionsSectionModel() {\n return new SectionModel({\n filterOptions: createCampaignsExecutionsSectionFilter(),\n columns: getCampaignsExecutionsColumns(),\n breadcrumbs: [\n createBreadcrumbModel({ label: 'header.menu.MARKETPLACE_SETTINGS' }),\n createBreadcrumbModel({ label: 'settings.marketplaceMessage.LOYALTY' }),\n createBreadcrumbModel({ label: 'settings.campaigns.MENU_LABEL' }),\n createBreadcrumbModel({\n getLabel: () => {\n const { id } = getHistoryLocationParams(window.location.search);\n return id ? getCampaignNameById(id) : i18n.t('settings.campaigns.MENU_LABEL_NEW_CAMPAIGN');\n },\n }),\n ],\n label: 'settings.campaigns.EXECUTIONS',\n tableMinWidth: 1400,\n isForceUpdate: true,\n actionLoad: LOYALTY_CAMPAIGNS_EXECUTIONS_GET,\n hideHeaderItemControls: true,\n parentUrl: MARKETPLACE_SETTINGS_MODEL.campaigns,\n typeModel: MARKETPLACE_SETTINGS_MODEL.campaignsExecutions,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n }),\n ],\n mappingLambda: state => {\n const { id } = getHistoryLocationParams(window.location.search);\n const campaign = state.restaurant?.data?.campaigns?.find(item => item.id === id);\n return campaign?.executions || [];\n },\n });\n}\n\nexport const getCampaignsExecutionsColumns = () => [\n {\n title: 'settings.campaigns.EXECUTION_START_LABEL',\n accessor: 'date',\n width: '160px',\n fixedWidth: '160px',\n component: campaign => (\n
{getFormattedDate(campaign.date, DATE_FORMAT_DMY2_HM)}
\n ),\n },\n {\n title: 'settings.campaigns.EXECUTION_END_LABEL',\n accessor: 'end_date',\n width: '160px',\n fixedWidth: '160px',\n component: campaign => (\n
{getFormattedDate(campaign?.end_date, DATE_FORMAT_DMY2_HM)}
\n ),\n },\n {\n title: 'settings.campaigns.STATUS_LABEL',\n accessor: 'start_date',\n width: '100px',\n fixedWidth: '100px',\n component: campaign =>
{getCampaignsExecutionStatusLabel(campaign.state)}
,\n },\n {\n title: 'settings.campaigns.ELIGIBLE_AUDIENCE',\n accessor: 'eligible_audience',\n width: '100px',\n fixedWidth: '100px',\n component: item => (item?.eligible_audience ?
{item.eligible_audience}
: '-'),\n },\n {\n title: 'settings.campaigns.RECEIVED_MESSAGE_LABEL',\n accessor: 'sent_push',\n width: '100px',\n fixedWidth: '100px',\n },\n {\n title: 'settings.campaigns.TOTAL_APP_OPENS_LABEL',\n accessor: 'total_app_opens',\n width: '100px',\n fixedWidth: '100px',\n component: item => {\n const percents =\n item?.total_app_opens && item?.sent_push ? ((item?.total_app_opens / item?.sent_push) * 100).toFixed(0) : null;\n const totalOpens = item?.total_app_opens ? ` (${item.total_app_opens}) ` : null;\n const withPercent = percents && totalOpens ?
{percents + '%' + totalOpens}
: '';\n return withPercent ? withPercent : totalOpens ?
{item?.total_app_opens}
: '-';\n },\n },\n {\n title: 'settings.campaigns.TOTAL_ORDERS_LABEL',\n accessor: 'start_date',\n width: '100px',\n fixedWidth: '100px',\n component: item => {\n const percents =\n item?.total_orders && item?.sent_push\n ? ((item?.total_orders / item?.sent_push) * 100).toFixed(0)\n : null;\n const totalOrders = item?.total_orders ? ` (${item?.total_orders}) ` : null;\n const withPercent = percents && totalOrders ?
{percents + '%' + totalOrders}
: '';\n return withPercent ? withPercent : totalOrders ?
{item?.total_orders}
: '-';\n },\n },\n {\n title: 'settings.campaigns.TOTAL_CAMPAIGN_REVENUE',\n accessor: 'total_price',\n width: '100px',\n fixedWidth: '100px',\n component: item => (item?.total_price ?
{!isRTL() && getCurrencyValue()} {beautifyPrice(item.total_price)} {isRTL() && getCurrencyValue()}
: '-'),\n },\n {\n title: 'settings.campaigns.TOTAL_CAMPAIGN_COST',\n accessor: 'total_discount',\n width: '100px',\n fixedWidth: '100px',\n component: item => (item?.total_discount ?
{!isRTL() && getCurrencyValue()} {beautifyPrice(item.total_discount)} {isRTL() && getCurrencyValue()}
: '-'),\n },\n {\n title: 'settings.campaigns.TOTAL_CAMPAIGN_PROFIT',\n accessor: 'total_price',\n width: '100px',\n fixedWidth: '100px',\n component: item => (
{!isRTL() && getCurrencyValue()} {beautifyPrice((item.total_price || 0) - (item.total_discount || 0))} {isRTL() && getCurrencyValue()}
),\n },\n {\n title: 'settings.campaigns.AVERAGE_REVENUE_PER_USER',\n accessor: 'start_date',\n width: '100px',\n fixedWidth: '100px',\n component: item => {\n const result = (item?.total_price / item?.total_orders).toFixed(0);\n return item?.total_price && item?.total_orders ?
{!isRTL() && getCurrencyValue()} {beautifyPrice(result)} {isRTL() && getCurrencyValue()}
: '-';\n },\n },\n {\n title: '',\n width: '40px',\n component: item => {\n return ;\n },\n },\n];\n\nfunction createCampaignsSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n\n filterOptionsModel.addOptions('search', CONTROL_TYPE.text, null, function(campaign) {\n return getCampaignFilter(this.selected, campaign);\n });\n\n return filterOptionsModel;\n}\n\nfunction createCampaignsExecutionsSectionFilter() {\n return new FilterOptionsModel();\n}\n","import script from 'scriptjs';\nimport environment from 'environment';\n\nimport User from '../services/user';\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class GoogleMapsService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer) {\n throw new Error(\n \"Instantiation failed: use Color.getInstance() instead of new.\"\n );\n }\n\n if (window.google && window.google.maps) {\n this.autocompleteService = new window.google.maps.places.AutocompleteService();\n }\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new GoogleMapsService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getAutocompleteService = () => {\n return new Promise((resolve, reject) => {\n if (!window.google || !window.google.maps) {\n const info = User.instance.getCurrentUserInfo();\n script(\n `https://maps.googleapis.com/maps/api/js?key=${\n environment.googleApiKey\n }&libraries=places&language=${\n info ? info.configuration.language : \"HE\"\n }&callback=Function.prototype`,\n () => {\n if(window.google.maps && window.google.maps.places) {\n this.autocompleteService = new window.google.maps.places.AutocompleteService();\n }\n \n resolve(this.autocompleteService);\n }\n );\n } else {\n if (!this.autocompleteService && window.google.maps && window.google.maps.places) {\n this.autocompleteService = new window.google.maps.places.AutocompleteService();\n }\n resolve(this.autocompleteService);\n }\n });\n };\n\n registerMap = () => {\n return new Promise((resolve, reject) => {\n if(!this.registerMapStarted && !this.registerMapFinished) {\n this.registerMapStarted = true;\n const info = User.instance.getCurrentUserInfo();\n script(\n `https://maps.googleapis.com/maps/api/js?key=${\n environment.googleApiKey\n }&libraries=places&language=${info ? info.configuration.language : \"HE\"}&callback=Function.prototype`, () => {\n this.registerMapFinished = true;\n resolve();\n }\n );\n } else {\n resolve();\n } \n });\n };\n}\n","import {\n DELIVERY_STRATEGY, DELIVERY_TYPE,\n ICONS_MARKER_TYPE,\n MODEL_TYPE,\n ORDER_STATE,\n ORDER_TYPE, PAY_METHOD\n} from \"../utils/enums\";\nimport {getPaymentModel} from \"./paymentsModel.js\";\n\nexport const orderModel = {\n id: null,\n depotId: null,\n orderId: null,\n controlCenterId: null,\n type: ORDER_TYPE.delivery,\n deliveryStrategy: DELIVERY_STRATEGY.asap,\n date: \"\",\n readinessTime: \"\",\n state: ORDER_STATE.new,\n firstName: \"\",\n lastName: \"\",\n notes: \"\",\n payments: [\n {\n amount: 0,\n paymentInfo: \"\",\n isCache: true,\n modelType: MODEL_TYPE.payments\n },\n {\n amount: 0,\n paymentInfo: \"\",\n isCache: false,\n modelType: MODEL_TYPE.payments\n }\n ],\n consumerPhone: \"\",\n editUserName: \"\",\n targetTime: null,\n address: {\n city: \"\",\n country: \"\",\n entrance: \"\",\n notes: \"\",\n organization: \"\",\n postal: \"\",\n state: \"\",\n street: \"\",\n streetNumber: \"\",\n location: null,\n modelType: MODEL_TYPE.address\n },\n isHighPriority: false,\n isExtraSize: false,\n markerType: ICONS_MARKER_TYPE.empty,\n modelType: MODEL_TYPE.order\n};\n\nexport const getOrderModel = (data) => {\n const cashPayment = getPaymentModel(data.payments, PAY_METHOD.cash);\n const cardPayment = getPaymentModel(data.payments, PAY_METHOD.creditCard);\n\n return {\n id: data.id,\n depotId: data.depot_id,\n orderId: data.sequence_id,\n controlCenterId: data.control_center_id,\n type: data.delivery_type === DELIVERY_TYPE.delivery ? ORDER_TYPE.delivery : ORDER_TYPE.takeAway,\n deliveryStrategy: data.delivery_strategy,\n readinessTime: data.readiness_time,\n state: data.status,\n firstName: data.customer_name,\n lastName: \"\",\n notes: data.comment,\n consumerPhone: data.phone,\n isHighPriority: data.is_high_priority,\n isExtraSize: data.is_extrasize,\n date: data.creation_datetime,\n address: {\n city: data.city,\n country: \"\",\n entrance: \"\",\n notes: data.address_notes || 'test',\n organization: data.organization,\n postal: \"\",\n state: \"\",\n street: data.address,\n streetNumber: \"\",\n location: data.location ? {\n latitude: data.location.lat,\n longitude: data.location.lng,\n } : null,\n modelType: MODEL_TYPE.address\n },\n location: data.location ? {\n latitude: data.location.lat,\n longitude: data.location.lng,\n } : null,\n payments: [cashPayment, cardPayment],\n editUserName: \"\",\n targetTime: data.delivery_datetime,\n markerType: ICONS_MARKER_TYPE.empty,\n modelType: MODEL_TYPE.order\n }\n}","import {MODEL_TYPE, PAY_METHOD} from \"../utils/enums\";\nexport function paymentsModel(payments) {\n const initialFirstPayment = {\n amount: 0,\n paymentInfo: \"\",\n isCache: true,\n isPaid: false,\n modelType: MODEL_TYPE.payments\n };\n\n const initialSecondPayment = {\n amount: 0,\n paymentInfo: \"\",\n isCache: false,\n isPaid: false,\n modelType: MODEL_TYPE.payments\n };\n\n if (!payments || !payments.length) {\n return [initialFirstPayment, initialSecondPayment];\n } else {\n if (payments.length === 2) {\n return payments;\n } else {\n const firstPayment = payments[0];\n\n return [\n firstPayment.isCache ? firstPayment : initialFirstPayment,\n !firstPayment.isCache ? firstPayment : initialSecondPayment\n ];\n }\n }\n}\n\nexport const getPaymentModel = (payments, paymentType) => {\n const defaultPayment = { amount: 0, modelType: MODEL_TYPE.payments, isCache: paymentType === PAY_METHOD.cash, paymentInfo: \"\", isPaid: false, captured_price: 0 };\n const payment = payments.reduce((acc, cv) => {\n if(cv.paymethod_id === paymentType) {\n return {\n ...acc,\n amount: acc.amount += cv.price,\n captured_price: acc.captured_price += cv.captured_price\n }\n }\n return acc;\n }, { ...defaultPayment });\n\n if(payment) {\n payment.isPaid = payment.amount && payment.captured_price && (payment.captured_price === payment.amount);\n delete payment.captured_price;\n return payment\n }\n\n return defaultPayment;\n}","import environment from \"environment\";\nimport * as Sentry from \"@sentry/react\";\nimport { Integrations } from \"@sentry/tracing\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class SentryService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use SentryService.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new SentryService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n init() {\n Sentry.init({ \n dsn: environment.sentryDsn,\n ignoreErrors:[\n \"Non-Error exception captured\",\n \"Non-Error promise rejection captured\"\n ],\n integrations: [new Integrations.BrowserTracing()],\n tracesSampleRate: 0.5,\n normalizeDepth: 10\n });\n }\n\n stop() {\n if(Sentry && Sentry.close)\n Sentry.close();\n }\n}","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { WAITER_TYPES } from \"../../../utils/enums\";\n\nimport IconButton from \"../IconButton\";\nimport Waiter from \"../Waiter/Waiter\";\n\nconst FilterTriggerControl = ({ isDefault = false, onClick, filterCounter }) => {\n const { t } = useTranslation();\n const handleOnClick = () => {\n return new Promise(resolve=> {\n onClick && onClick();\n resolve();\n });\n }\n\n return (\n \n );\n}\n\nexport default FilterTriggerControl;","import React, { useState } from \"react\";\nimport RcSlider from \"rc-slider\";\nimport classNames from \"classnames\";\nimport \"rc-slider/assets/index.css\";\nimport \"./index.scss\";\nimport { isRTL } from \"../../../services/userModel\";\n\nconst Handle = RcSlider.Handle;\nconst handle = props => {\n const { value, dragging, index, ...restProps } = props;\n const style = isRTL()\n ? {\n right: `calc(${restProps.offset}% - ${value > 9 ? 6 : 10}px)`,\n left: \"auto\"\n } \n : {\n right: \"auto\",\n left: `calc(${restProps.offset}% - ${value > 9 ? 9 : 5}px)`\n }\n\n return (\n
\n \n
\n {value}\n
\n
\n );\n};\n\nconst Slider = ({ min, max, value, title, onChange }) => {\n const [sliderValue, setSliderValue] = useState(value);\n\n const handleOnChange = value => {\n setSliderValue(value);\n onChange(value);\n };\n\n const marks = () => {\n if (value < min + 3) {\n return {\n [min]: \"\",\n [max]: max\n };\n }\n\n if (value > max - 3) {\n return {\n [min]: min,\n [max]: \"\"\n };\n }\n\n return {\n [min]: min,\n [max]: max\n };\n };\n\n return (\n
\n {title && (
{title}
)}\n `${value}`}\n handle={handle}\n onChange={handleOnChange}\n />\n
\n );\n};\n\nexport default Slider;\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport CheckBox from \"../CheckBox\";\n\nconst GroupCheckbox = ({ t, title, items, onChange }) => {\n return (\n
\n
\n {items.map((item, itemIndex)=> (\n
\n {title && (
{t(item.title)}
)}\n {item.items.map((groupCheckbox, groupCheckboxIndex)=> (\n onChange(items.map((m, i)=> i === itemIndex \n ? { ...m, items: m.items.map((chBox, chBoxIndex)=> chBoxIndex === groupCheckboxIndex ? ({ ...chBox, selected: value }) : chBox)} \n : m\n ))}\n />\n ))}\n
\n ))}\n
\n
\n );\n}\n\nexport default withTranslation()(GroupCheckbox);","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport Dropdown from \"../Dropdown\";\nimport IconButton from \"../IconButton\";\nimport classnames from \"classnames\";\n\nconst OrdersFilterDropDownControl = ({ optionKey, option, onOptionChange, rootState }) => {\n const items = (option.mappingLambda ? option.mappingLambda(rootState) : option.items) || [];\n const getOptionComboValue = () => {\n const item = items.find(f=> f.value === option.selected) || {};\n return item.key;\n }\n\n if(option.disabled) return null;\n \n return (\n
\n
{option.label || \"\"}
\n {items.length > 3\n ? (\n onOptionChange(optionKey, \"selected\", item.value)}\n />\n )\n : (\n
\n {items.map(({key, value}) => (\n onOptionChange(optionKey, \"selected\", option.selected === value ? null : value)}\n >\n {key}\n {option.selected === value && value !== null && (\n \n )}\n \n ))}\n
\n )\n }\n
\n );\n}\n\nconst mapStateToProps = state => ({\n rootState: state\n});\n\nexport default connect(mapStateToProps)(OrdersFilterDropDownControl);","import React from 'react';\nimport './style.scss';\nimport {useTranslation} from \"react-i18next\";\nimport {\n getWeekPeriod,\n prepareMonth,\n preparePreviousMonth,\n prepareToday,\n prepareYear,\n prepareYesterday\n} from \"../../../utils/convertTime.js\";\nimport classnames from \"classnames\";\nimport moment from \"moment\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\nconst DateLinks = ({onClick, startOption, endOption}) => {\n const {t} = useTranslation();\n\n const getDateComponent = (title, {from, to}) => {\n const isSelected = moment(from).isSame(startOption.selected) && moment(to).isSame(endOption.selected);\n const isNotTodaySelected = moment(from).isSame(prepareToday().from) && moment(to).isSame(prepareToday().to);\n return (\n onClick(isSelected ? prepareToday().from : from, isSelected ? prepareToday().to : to)}\n className={classnames('link', {selected: isSelected})}\n >\n {title}\n {isSelected && !isNotTodaySelected && (\n \n )}\n
\n )\n }\n\n return (\n
\n {t(\"pending-orders.FILTER_TYPE_BYDATE\")}\n
\n {getDateComponent(t('shifts.TODAY_LINK'), prepareToday())}\n {getDateComponent(t('shifts.YESTERDAY_LINK'), prepareYesterday())}\n {getDateComponent(t('shifts.WEEK_LINK'), getWeekPeriod())}\n {getDateComponent(t('shifts.MONTH_LINK'), prepareMonth())}\n {getDateComponent(t('shifts.PREVIOUS_MONTH_LINK'), preparePreviousMonth())}\n {getDateComponent(t('shifts.YEAR_LINK'), prepareYear())}\n
\n
\n )\n}\n\nexport default DateLinks;","import React, { useEffect, useState } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { CONTROL_STYLE_TYPE, CONTROL_TYPE, POPUP_ITEM_TYPE, WAITER_TYPES } from '../../../utils/enums';\n\nimport CheckBox from '../CheckBox';\nimport Slider from '../Slider';\nimport GroupCheckbox from '../GroupCheckbox';\nimport Waiter from '../Waiter/Waiter';\nimport OrdersFilterDropDownControl from '../OrdersFilterDropDownControl/OrdersFilterDropDownControl';\nimport IconButton from '../IconButton';\nimport UsersPopup from '../ControlCentersManagersList/index.js';\nimport { FILTER_OPTION_TYPE } from '../../../models/filterOptionsModel.js';\nimport SectionItemMultiselect from \"../SectionItemMultiselect/index.js\";\nimport DatePicker from \"../DatePicker/DatePicker.jsx\";\nimport {DATE_FORMAT} from \"../../../utils/convertTime.js\";\nimport DateLinks from \"../DateLinks/DateLinks.jsx\";\n\nconst OrdersFilter = ({ t, filterOptionsModel, onChangeOption, onClose }) => {\n const [edited, setEdited] = useState(false);\n const [options, setOptions] = useState(filterOptionsModel.options);\n\n const handleOnOptionChange = (key, prop, value, isMultiple) => {\n const option = filterOptionsModel.options[key] || {};\n\n if(isMultiple) {\n const newOptions = {\n ...filterOptionsModel.options\n };\n\n (value || []).forEach(val=> {\n if(newOptions[val.key]) {\n newOptions[val.key][val.prop] = val.value;\n }\n });\n\n setOptions(newOptions);\n if(onChangeOption) {\n onChangeOption(key, prop, value, isMultiple);\n }\n } else {\n if (option.type === CONTROL_TYPE.link && option.editFunc) {\n option.editFunc(handleOnOptionChange);\n } else {\n if (onChangeOption) {\n onChangeOption(key, prop, value);\n setOptions({\n ...filterOptionsModel.options,\n [[key][prop]]: value\n });\n }\n }\n }\n\n setEdited(true);\n };\n\n const handleOnSetDateLink = (from, to, options) => {\n handleOnOptionChange(options.startKey, \"selected\", from);\n handleOnOptionChange(options.endKey, \"selected\", to);\n }\n\n const handleOnSaveFilter = () => {\n return new Promise(resolve=> {\n resolve();\n handleOnClose();\n });\n }\n\n const handleOnClose = () => {\n onClose && onClose(null, null, options);\n setEdited(false);\n }\n\n const resetSelectOnCheckbox = (option) => {\n return option.selected.map(s => ({\n ...s,\n items: s.items.map(item => ({\n ...item,\n selected: false,\n }))\n }))\n }\n\n const deselectAll = () => {\n for(let key in filterOptionsModel.options) {\n if(![CONTROL_TYPE.dateLink, CONTROL_TYPE.link, CONTROL_TYPE.groupCheckbox].includes(filterOptionsModel.options[key].type)) {\n handleOnOptionChange(key, \"selected\", null);\n }\n if(CONTROL_TYPE.groupCheckbox === filterOptionsModel.options[key].type) {\n handleOnOptionChange(key, \"selected\", resetSelectOnCheckbox(filterOptionsModel.options[key]));\n }\n }\n }\n\n useEffect(() => {\n setOptions(filterOptionsModel.options);\n }, [filterOptionsModel]);\n \n return (\n
\n
\n \n
\n
\n
\n {t(\"orders.FILTERS_LABEL\")}:\n
{t(\"orders.DESELECT_ALL\")}
\n
\n {filterOptionsModel.options &&\n Object.keys(filterOptionsModel.options).filter(key=> options[key]).map(key => (\n
\n {options[key].type === CONTROL_TYPE.date && (\n
\n
\n {options[key].label ? t(options[key].label) : \"\"}\n
\n handleOnOptionChange(key, \"selected\", date)}\n />\n
\n )}\n {options[key].type === CONTROL_TYPE.checkbox && (\n handleOnOptionChange(key, \"selected\", value)}\n />\n )}\n {options[key].type === CONTROL_TYPE.label && (\n
{options[key].label}
\n )}\n {options[key].type === CONTROL_TYPE.groupCheckbox && (\n handleOnOptionChange(key, \"selected\", val)} \n />\n )}\n {options[key].type === CONTROL_TYPE.select && (options[key].isShow ? options[key].isShow() : true) && (\n \n )}\n {options[key].type === CONTROL_TYPE.multiselect && (options[key].isShow ? options[key].isShow() : true) && (\n \n )}\n {options[key].type === CONTROL_TYPE.slider && (\n
\n handleOnOptionChange(key, \"selected\", value)}\n />\n
\n )}\n {options[key].type === CONTROL_TYPE.usersPopup && (\n \n )}\n {options[key].type === CONTROL_TYPE.link && (\n
handleOnOptionChange(key)}>\n {options[key].label || \"\"}\n
\n )}\n {options[key].type === CONTROL_TYPE.dateLink && (\n handleOnSetDateLink(from, to, options[key])}\n />\n )}\n
\n ))}\n
\n
\n \n \n
\n
\n );\n};\n\nexport default withTranslation()(OrdersFilter)\n","import React, {useEffect, useRef, useState} from \"react\";\nimport IconButton from '../IconButton';\nimport \"./style.scss\";\nimport classnames from \"classnames\";\nimport {useTranslation} from \"react-i18next\";\nimport {useOnClickOutside} from \"../../../services/hooks.js\";\nimport CheckBox from \"../CheckBox/index.js\";\n\nconst DropdownMultiSelect = ({values, selectedValues, placeholderEmpty, placeholderMulti, defaultPlaceholderValues,byValue, isMultiMode , onApply}) => {\n const targetRef = useRef();\n useOnClickOutside(targetRef, () => {\n setOpen(false);\n });\n const defaultMultiMode = isMultiMode || selectedValues.length > 1\n\n const {t} = useTranslation();\n const [open, setOpen] = useState(false);\n const [filter, setFilter] = useState('');\n const [multiMode, setMultiMode] = useState(defaultMultiMode);\n const [temporarySelected, setTemporarySelected] = useState(selectedValues || []);\n\n useEffect(() => {\n if(JSON.stringify(selectedValues) === JSON.stringify(temporarySelected)) {\n return;\n }\n setTemporarySelected(selectedValues);\n setMultiMode(defaultMultiMode);\n\n // eslint-disable-next-line\n }, [selectedValues]);\n\n useEffect(() => {\n if(!multiMode) {\n setTemporarySelected([]);\n }\n }, [multiMode]);\n\n const handleOnApply = (value) => {\n setFilter('');\n onApply(value || temporarySelected);\n setOpen(false);\n }\n\n const handleOnCancel = () => {\n setFilter('');\n setOpen(false);\n setMultiMode(defaultMultiMode);\n setTemporarySelected(selectedValues);\n }\n\n const selectAll = () => {\n setTemporarySelected(values.map(v => v.value));\n }\n\n const deselectAll = () => {\n setTemporarySelected([]);\n }\n\n const handleOnSelect = (item) => {\n const exist = temporarySelected.includes(item);\n if(multiMode) {\n if(exist) {\n setTemporarySelected(values => values.filter(value => value !== item));\n } else {\n setTemporarySelected(values => values.concat(item));\n }\n } else {\n if(!exist) {\n setTemporarySelected([item]);\n handleOnApply([item]);\n }\n }\n }\n\n const isaValueSelected = value => {\n return temporarySelected.includes(value);\n }\n\n const getPlaceholder = () => {\n if(selectedValues.length === 1) {\n const value = values.find(v => selectedValues[0] === v.value);\n return value ? byValue ? value.value : value.key : placeholderEmpty;\n }\n if(selectedValues.length >= 2) {\n return placeholderMulti;\n }\n if(defaultPlaceholderValues) {\n return defaultPlaceholderValues;\n }\n\n return placeholderEmpty;\n }\n\n return (\n
\n
setOpen(true)}>\n {open\n ? setFilter(target.value)}\n placeholder={placeholderEmpty}\n />\n :
{getPlaceholder()}
\n }\n \n
\n\n
\n {!multiMode && (\n
setMultiMode(true)}>\n {t('controlCenters.ALLOW_MULTISELECT')}\n
\n )}\n {multiMode && temporarySelected.length !== values.length && (\n
\n {t('controlCenters.SELECT_ALL')}\n
\n )}\n {multiMode && temporarySelected.length === values.length && (\n
\n {t('controlCenters.DESELECT_ALL')}\n
\n )}\n\n
\n {values?.filter(item => item?.key?.toLowerCase().includes(filter?.toLowerCase())).map(item => (\n handleOnSelect(item.value)}\n >\n {multiMode && (\n handleOnSelect(item.value)}\n id={'multi-control-center'}\n value={isaValueSelected(item.value)}\n />\n )}\n {byValue ? item.value : item.key}\n
\n ))}\n
\n {multiMode && (\n
\n
handleOnApply()}>{t('basic.APPLY_BUTTON')}
\n
{t('basic.CANCEL_BUTTON')}
\n
\n )}\n
\n
\n )\n}\n\nexport default DropdownMultiSelect;\n","import React, {useEffect, useRef, useState} from 'react';\nimport {connect} from 'react-redux';\nimport {withTranslation} from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n actionResetTooltipData,\n actionUpdateTooltipData,\n} from '../../../store/reducers/tooltipPortal/tooltipPortal-actions';\nimport {isRTL} from '../../../services/userModel';\nimport {TYPE_SWITCH_CONTROL_COLOR} from '../../../utils/enums';\n\nimport IconButton from '../IconButton';\nimport preloader from '../../../assets/images/preloader.GIF';\n\nconst NoSelect = ({ title }) =>
{title}
;\nconst SwitchControl = ({\n value,\n typeColor,\n title,\n tooltipText,\n isReadonly,\n isNoRtl,\n isMinimize,\n onClick,\n updateTooltipData,\n resetTooltipData,\n withLoader,\n onlyParentState,\n}) => {\n const hoverRef = useRef();\n const [curValue, setCurValue] = useState(value);\n const isDisabled = curValue !== value;\n\n useEffect(() => {\n setCurValue(value);\n }, [value]);\n\n const handleOnClick = () => {\n if (isReadonly || isDisabled) return;\n !onlyParentState && setCurValue(!curValue);\n onClick && onClick(!value);\n };\n\n const handleOnMouseEnter = () => {\n tooltipText && updateTooltipData({ tooltipText, ref: hoverRef.current });\n };\n\n const handleOnMouseLeave = e => {\n tooltipText && resetTooltipData({ event: e, context: this });\n };\n\n const getIcon = () => {\n switch (typeColor) {\n case TYPE_SWITCH_CONTROL_COLOR.blueSubmit:\n return value ? 'applyActive' : 'noIsPaid';\n case TYPE_SWITCH_CONTROL_COLOR.crown:\n return 'crown';\n case TYPE_SWITCH_CONTROL_COLOR.extraSize:\n return 'extraSize';\n default:\n return '';\n }\n };\n\n const titleText = (title && (curValue ? title.on : title.off)) || '';\n\n return (\n <>\n \n {!isRTL() && (\n \n )}\n
\n
\n {getIcon() && (\n \n )}\n
\n {isRTL() && (\n \n )}\n
\n {isDisabled && withLoader && (\n
\n preloader\n
\n )}\n \n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: data => dispatch(actionResetTooltipData(data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(SwitchControl));\n","import ControlModel from '../../models/controlModel.js';\nimport {MODEL_CONTROL_TYPE} from '../../utils/enums.js';\nimport {useDispatch} from 'react-redux';\nimport {createAction} from '../../utils/sagaHelper.js';\nimport classNames from 'classnames';\nimport IconButton from '../../app/components/IconButton/IconButton.jsx';\nimport React, {useState} from 'react';\nimport preloader from '../../assets/images/preloader.GIF';\n\nexport function createActionButtonControlModel({ ...args }) {\n return new ControlModel({\n action: args.action || '',\n width: args.width || '',\n tooltipText: args.tooltipText || '',\n text: args.text || '',\n customStyles: args.customStyles || null,\n icon: args.icon || '',\n isShow:\n args.isShow ||\n function() {\n return true;\n },\n type: MODEL_CONTROL_TYPE.actionButton,\n });\n}\n\nexport const ActionButtonControl = ({ control, model, models }) => {\n const dispatch = useDispatch();\n const { action, text, tooltipText, icon, width } = control;\n const [inProcess, setInProcess] = useState(false);\n const handleClick = event => {\n if (inProcess) {\n return;\n }\n setInProcess(true);\n new Promise((resolve, reject) => {\n return dispatch(createAction(action, models[model.typeModel])).then(\n () => {\n setInProcess(false);\n resolve();\n },\n error => {\n setInProcess(false);\n }\n );\n });\n };\n\n return (\n
\n \n {text}\n\n {inProcess ? (\n preloader\n ) : (\n \n )}\n
\n
\n );\n};\n","export { default } from \"./ConfirmDialog\";\n","export { default } from \"./LinkDownload\";\n","import { useEffect, useState } from 'react'\n\nexport const useDebounce = (value, delay) => {\n\tconst [debounceValue, setDebounceValue] = useState(value)\n\n\tuseEffect(() => {\n\t\tconst handler = setTimeout(() => {\n\t\t\tsetDebounceValue(value)\n\t\t}, delay)\n\n\t\treturn () => {\n\t\t\tclearTimeout(handler)\n\t\t}\n\t}, [value, delay])\n\n\treturn debounceValue\n}\n","import i18n from \"../i18n\";\nimport { DATE_FORMAT, getFormattedDate } from \"../utils/convertTime\";\nimport { BILLING_PATHS, SUBSCRIPTION_STATE } from \"../utils/enums\";\nimport { getKeyByValue } from \"../utils/objects-util\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class BillingService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer) {\n throw new Error(\"Instantiation failed: use BillingService.getInstance() instead of new.\");\n }\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new BillingService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n getCurrentPlanInfo = data => {\n const currentPlan = data && data.currentPlans && data.currentPlans[0];\n if(!currentPlan) return [];\n\n //Check is trial\n if(this.checkIsTrial(data)) {\n return [\n { label: i18n.t(\"billing.subscription.PLAN\"), description: currentPlan.name || \"-\" },\n { label: i18n.t(\"billing.subscription.STATUS\"), description: i18n.t(\"billing.subscription.TRIAL_LABEL\") },\n { label: i18n.t(\"billing.subscription.TRIAL_ENDS_AT\"), description: getFormattedDate(currentPlan.trialEndsAt, DATE_FORMAT) }\n ];\n } else {\n return [\n { label: i18n.t(\"billing.subscription.PLAN\"), description: currentPlan.name || \"-\" },\n { label: i18n.t(\"billing.subscription.STATUS\"), description: getKeyByValue(SUBSCRIPTION_STATE, currentPlan.status) },\n { label: i18n.t(\"billing.subscription.RENEWAL_DATE\"), description: currentPlan.renewalDate || \"-\" }\n ];\n }\n }\n\n getCurrentCardInfo = creditCard => {\n return (!creditCard)\n ? []\n : [\n { label: i18n.t(\"billing.card.CARD_NUMBER\"), description: `${creditCard.cardMask}` },\n { label: i18n.t(\"billing.card.EXPIRE\"), description: creditCard.expiry || \"-\" }\n ]\n }\n\n getCurrentBillingDetails = data => {\n const billingDetails = data && data.billingDetails;\n\n return (!billingDetails)\n ? []\n : [\n { label: i18n.t(\"billing.address.COMPANY\"), description: billingDetails.company || \"-\" },\n { label: i18n.t(\"billing.address.BILLING_EMAIL\"), description: billingDetails.email || \"-\" },\n { label: i18n.t(\"billing.address.BILLING_ADDRESS\"), description: this.getBillingInfoAddress(billingDetails.address) }\n ]\n }\n\n getBillingInfoAddress = address => {\n if (!address) return \"\";\n\n let items = [];\n\n if (address.city) {\n items.push(address.city);\n }\n\n if (address.street1) {\n items.push(address.street1);\n }\n\n if (address.street2) {\n items.push(address.street2);\n }\n\n return items.join(\", \");\n }\n \n getAccountTopNotificationData = billingData => {\n const { currentSubscription, creditCard } = (billingData || {}).info || {};\n\n if(!currentSubscription) return null;\n\n //No trial and no payment card\n if(!creditCard && !this.checkIsTrial(billingData)) {\n return {\n mainMessage: i18n.t(\"billing.NO_TRIAL_NO_CARD_ERROR_LABEL\"),\n secondaryMessage: i18n.t(\"billing.GO_TO_PAYMENT_LABEL\"),\n secondaryMessageUrl: BILLING_PATHS.plan,\n color: \"#ff0000\",\n secondaryColor: \"#CA0000\"\n }\n } else if(this.checkIsTrial(billingData)) {\n return {\n mainMessage: i18n.t(\"billing.TRIAL_INFO_LABEL\"),\n secondaryMessage: `${i18n.t(\"billing.TRIAL_DATE_INFO_LABEL\")}: ${getFormattedDate(currentSubscription.trialEndsAt, DATE_FORMAT)}`,\n secondaryMessageUrl: BILLING_PATHS.plan,\n color: \"#ff0000\",\n secondaryColor: \"#CA0000\"\n }\n }\n }\n\n checkIsNoActiveAccount = billingData => {\n const { currentSubscription, creditCard } = (billingData || {}).info || {};\n return currentSubscription &&\n !creditCard &&\n !this.checkIsTrial(billingData);\n }\n\n checkIsTrial = billingData => {\n return billingData && \n billingData.currentSubscription &&\n billingData.trialEndsAt && new Date(billingData.trialEndsAt) >= new Date();\n }\n}","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {VEHICLE_CYCLE_TYPE, VEHICLE_TYPE} from \"../../../utils/enums\";\nimport {getKeyByValue} from \"../../../utils/objects-util\";\n\nexport default ({isCycle, value, isActive })=> (\n
\n {Number.isInteger(value) && (\n
\n )}\n
\n);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { CONTROL_CENTER_REFRESH } from \"../../../store/reducers/restaurant/restaurant-actions\";\nimport {getStartedControlCenter, sortItemsByProp} from \"../../../services/filter\";\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport IconButton from \"../IconButton\";\nimport DropdownMultiSelect from \"../DropdownMultiSelect/index.js\";\n\nconst ControlCenterSearchSelect = ({\n t,\n controlCenters, selectedControlCenterMulti,\n onSelect,\n refreshData\n}) => {\n const handleOnSelect = (selectedControlCenterMulti) => {\n refreshData({ selectedControlCenterMulti: selectedControlCenterMulti === null ? [] : selectedControlCenterMulti });\n }\n\n //true if controlCenters.name contains letters\n const filteredControlCenters = controlCenters?.filter(el => el?.name?.replace(/\\s/g, ''))\n\n return (\n
\n ({value: cc.controlCenterId, key: cc.name}))}\n selectedValues={selectedControlCenterMulti || []}\n />\n
handleOnSelect(null)}>\n \n
\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n selectedControlCenter: state.restaurant.data.selectedControlCenter,\n selectedControlCenterMulti: state.restaurant.data.selectedControlCenterMulti,\n controlCenters: sortItemsByProp((state.restaurant.data.controlCenters || [])\n .filter(controlCenter=> getStartedControlCenter(controlCenter), \"name\")),\n};\n};\n\nconst mapDispatchToProps = dispatch => ({\n refreshData: data => dispatch(createAction(CONTROL_CENTER_REFRESH, data))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ControlCenterSearchSelect));","import React, { useState, useEffect } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport { DebounceInput } from 'react-debounce-input';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport Dropdown from '../Dropdown';\nimport IconButton from '../IconButton';\nimport Waiter from '../Waiter/Waiter';\nimport { WAITER_TYPES } from '../../../utils/enums';\nimport ControlCenterSearchSelect from '../ControlCenterSearchSelect/ControlCenterSearchSelect';\n\nconst SearchBox = ({\n t,\n useValue,\n searchShortCutValue,\n debounce,\n placeholder,\n isSearchByEnter,\n isShowControlCenterSearch,\n shortCuts,\n searchShortCuts,\n onChange,\n onSearchShortCutChange,\n isHideBorder = false,\n}) => {\n const [searchString, setSearchString] = useState(useValue || '');\n const [searchShortCut, setSearchShortCut] = useState(searchShortCutValue || '');\n const [loading, setLoading] = useState(false);\n\n const handleOnSearchChange = (value, isClear) => {\n setLoading(false);\n setSearchString(value);\n if (!isSearchByEnter || isClear) onChange(value);\n };\n\n const handleOnSearchShortCutChange = value => {\n return new Promise(resolve => {\n resolve();\n setSearchShortCut(value);\n onSearchShortCutChange && onSearchShortCutChange(value);\n });\n };\n\n const handleOnKeyDown = e => {\n setLoading(true);\n\n if (e.keyCode === 13) {\n e.preventDefault();\n onChange(searchString);\n setLoading(false);\n }\n };\n\n useEffect(() => {\n if (searchString !== useValue) {\n setSearchString(useValue);\n }\n }, [useValue, searchString]);\n\n const showSearchInputShortcuts = searchShortCuts && searchShortCuts.length > 0;\n\n return (\n
\n \n \n {loading && }\n {!loading &&
onChange(searchString)} />}\n
\n handleOnSearchChange(e.target.value)}\n />\n \n {searchString &&
handleOnSearchChange('', true)} />}\n
\n {showSearchInputShortcuts && (\n
\n f.key === searchShortCut)['value']}\n values={searchShortCuts}\n onSelect={item => handleOnSearchShortCutChange(item.key)}\n onRemove={() => handleOnSearchShortCutChange(null)}\n />\n handleOnSearchShortCutChange(null)}\n />\n
\n )}\n {isShowControlCenterSearch && (\n handleOnSearchShortCutChange(controlCenterId)} />\n )}\n
\n {(shortCuts || []).length > 0 && (\n
\n {shortCuts.map(shortCut => (\n handleOnSearchChange(shortCut === searchString ? '' : shortCut)}\n >\n {shortCut}\n
\n ))}\n
\n )}\n
\n );\n};\n\nexport default withTranslation()(SearchBox);\n","export { default } from \"./InvitationPopup\";\n","import React, {useEffect, useState} from 'react';\nimport Modal from 'react-modal';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { isRTL } from '../../../services/userModel';\nimport { ModalPopup } from '../ModalPopup/ModalPopup';\nimport {\n\tWhatsappShareButton,\n\tWhatsappIcon,\n\tViberShareButton,\n\tViberIcon,\n\tTelegramShareButton,\n\tTelegramIcon,\n} from 'react-share';\nimport {APPLICATION_TYPE} from \"../../../utils/enums\";\nimport {courierQRCode} from \"../../../api/user-requests\";\nimport {requestResultIsOk} from \"../../../utils/request-util\";\nimport environment from \"environment\";\n\nModal.setAppElement('#root');\nconst InvitationPopup = ({ t, courier, onClose, isOpen, isOverModal }) => {\n\tconst [applicationType, setApplicationType] = useState(courier.roles.courier ? APPLICATION_TYPE.courier : APPLICATION_TYPE.business);\n\n\tconst [qrState, setQrState] = useState({\n\t\tcode: '',\n\t\tlink: '',\n\t\tqrCodeSrc: '',\n\t});\n\n\tconst shareUrl = `${t('couriers.INVITATION_LINK_NUMBER_LABEL')} ${encodeURI(\n\t\tqrState.link,\n\t)} ${t('couriers.INVITATION_LINK_CODE_LABEL')} ${qrState.code}`;\n\n\tuseEffect(() => {\n\t\tif(courier && courier.userId) {\n\t\t\tcourierQRCode(courier.userId, applicationType).then(response => {\n\t\t\t\tif (requestResultIsOk(response, true)) {\n\t\t\t\t\tconst size = 350;\n\t\t\t\t\tsetQrState({\n\t\t\t\t\t\tqrCodeSrc: `${environment.qrserverAPI}?size=${size}x${size}&data=${response.data.Link}`,\n\t\t\t\t\t\tcode: response.data.Code,\n\t\t\t\t\t\tlink: response.data.Link\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t}, [applicationType, courier]);\n\n\tconst onChangeType = type => {\n\t\tif(type === applicationType) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetApplicationType(type);\n\t}\n\n\treturn (\n\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{t('dialogs.invitation.HEADER')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('basic.CLOSE_BUTTON')}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t{!!(courier.roles.courier && courier.roles.deliveryManager) && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t onChangeType(APPLICATION_TYPE.courier)}\n\t\t\t\t\t\t\t\tclassName={classNames('roleItem', { active: applicationType === APPLICATION_TYPE.courier })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('dialogs.invitation.COURIER')}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t onChangeType(APPLICATION_TYPE.business)}\n\t\t\t\t\t\t\t\tclassName={classNames('roleItem', { active: applicationType === APPLICATION_TYPE.business })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('dialogs.invitation.MANAGER')}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{t('dialogs.invitation.CODE')} : {qrState.code}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{t('dialogs.invitation.SHARE')}:

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default withTranslation()(InvitationPopup);\n","module.exports = __webpack_public_path__ + \"static/media/search_blue_small.1485757a.png\";","import React, { useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport InvitationPopup from \"../InvitationPopup\";\nimport IconButton from \"../IconButton\";\n\nconst GrCode = ({ t, courier }) => {\n const [invitationPopupIsOpen, setInvitationPopupIsOpen] = useState(null);\n\n const handleInvitationOpen = () => {\n setInvitationPopupIsOpen(true);\n };\n\n const handleInvitationPopup = () => {\n setInvitationPopupIsOpen(false);\n };\n\n return (\n
\n \n {invitationPopupIsOpen && (\n handleInvitationPopup()}\n />\n )}\n
\n );\n};\n\nexport default withTranslation()(GrCode);\n","import React from \"react\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {getCurrencyIcons, HALF_OPTION} from \"../../../utils/enums\";\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst OrderMenuOption = ({ t, key, option, order }) => {\n const suboptions = (option && option.suboptions) || [];\n const isExistHalfs = suboptions.find(f=> f.halfOption > 0);\n const suboptionsGroups = suboptions\n .reduce((acc, suboption)=> {\n const index = acc.map(m=> m.id).indexOf(suboption.halfOption);\n\n if(index !== -1) {\n acc[index].values.push(suboption);\n } else {\n acc.push({\n id: suboption.halfOption,\n values: [suboption]\n });\n }\n\n return acc;\n }, [])?.sort((a, b)=> a.id - b.id);\n\n return (\n
\n
{(option && option.name) || t(\"pending-orders.PENDING_ORDER_EMPTY_OPTION_LABEL\")}: 
\n {suboptionsGroups.map(group=> (\n
\n {isExistHalfs && ({HALF_OPTION[group.id]}: )}\n
\n {group.values.map((suboption, index)=> (\n
\n  {(suboption && suboption.name) || t(\"pending-orders.PENDING_ORDER_EMPTY_OPTION_LABEL\")}\n \n {suboption.quantity > 1 && ( x{suboption.quantity})}\n\t\t\t\t\t\t\t\t\t{suboption.full_price > 0 && \n {isRTL() ? \n +{suboption.full_price}\n {(order && getCurrencyIcons(order.currency))}\n :\n <> +{suboption.full_price}{(order && getCurrencyIcons(order.currency))}}\n }\n \n , \n
\n ))}\n
\n
\n ))}\n
\n )\n}\n\nexport default withTranslation()(OrderMenuOption);\n","import React, {useEffect, useRef, useState} from \"react\";\nimport classNames from \"classnames\";\nimport SwitchControl from \"../SwitchControl\";\nimport \"./style.scss\";\nimport { DATECONTROL_TYPE, WAITER_TYPES } from '../../../utils/enums';\nimport OrderDatetimeControl from \"../OrderDatetimeControl/OrderDatetimeControl\";\nimport moment from \"moment\";\nimport {DATE_TIME_FORMAT_DAYTIME, isNotToday, TIME_FORMAT_USER} from \"../../../utils/convertTime\";\nimport IconButton from \"../IconButton\";\nimport Picker from 'react-mobile-picker';\nimport {useOnClickOutside} from \"../../../services/hooks\";\nimport {useTranslation} from \"react-i18next\";\nimport Waiter from '../Waiter/Waiter';\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst ShiftCourierControlTimeSelect = ({ onChange, endTime, startTime}) => {\n const {t} = useTranslation();\n const durationRef = useRef();\n useOnClickOutside(durationRef, handleOnCloseDuration);\n const [showDurationModal, setShowDurationModal] = useState(false);\n\n const [isStartEnable, setIsStartEnable] = useState(false);\n const [isEndEnable, setIsEndEnable] = useState(false);\n\n const [startDate, setStartDate] = useState(new Date());\n const [endDate, setEndDate] = useState(moment(new Date()).add(8, \"hour\"));\n const [duration, setDuration] = useState({\n hour: 8,\n minutes: \"00\",\n });\n\n useEffect(() => {\n setStartDate(() => startTime || new Date());\n setIsStartEnable(() => !!startTime)\n\n if(endTime) {\n setIsEndEnable(() => true);\n setEndDate(() => endTime);\n const diff = moment.duration(moment(endTime).diff(startTime || new Date()));\n const minutes = diff.get(\"minutes\");\n setDuration({\n hour: diff.get(\"hour\"),\n minutes: minutes > 9 ? `${minutes}` : `0${minutes}`,\n })\n } else {\n setIsEndEnable(() => false);\n setEndDate(() => moment(startTime || new Date()).add(8, \"hour\"))\n }\n\n // eslint-disable-next-line\n }, []);\n\n\n useEffect(() => {\n onChange({\n startTime : isStartEnable ? new Date(startDate) : null,\n endTime : isEndEnable ? new Date(endDate) : null,\n })\n }, [isStartEnable, isEndEnable, startDate, endDate, onChange]);\n\n const handleOnChangeStartDate = (date) => {\n setStartDate(date);\n setEndDate(moment(date).add(duration.hour, \"hour\").add(duration.minutes, \"minutes\"));\n }\n\n const handleOnChangeEndDate = (date) => {\n let newEndTime = date;\n if(moment(date).isBefore(isStartEnable ? startDate : new Date())) {\n newEndTime = isStartEnable ? startDate : new Date();\n }\n\n setEndDate(newEndTime);\n\n const diff = moment.duration(moment(newEndTime).diff(startDate));\n const minutes = diff.get(\"minutes\");\n setDuration({\n hour: diff.get(\"hour\") + diff.get(\"days\") * 24,\n minutes: minutes > 9 ? `${minutes}` : `0${minutes}`,\n })\n }\n\n const getValuesGroup = () => {\n return {\n hour: Array(200).fill(0).map((e, i) => i),\n minutes: Array(60).fill(0).map((e, i) => i > 9 ? `${i}` : `0${i}`)\n }\n }\n\n const handleOnChangeDuration = (key, value) => {\n setDuration({...duration, [key]: value});\n }\n\n function handleOnCloseDuration() {\n setShowDurationModal(false);\n setEndDate(moment(startDate).add(duration.hour, \"hour\").add(duration.minutes, \"minutes\"));\n }\n\n return (\n
\n
\n
\n {t(\"shifts.START_TIME_LABEL\")}\n \n
\n \n
\n
\n
\n {t(\"shifts.END_TIME_LABEL\")}\n \n
\n
\n {t(\"shifts.DURATION\")}\n
\n {duration.hour}:{duration.minutes}\n
\n setShowDurationModal(true)} />\n
\n\n {showDurationModal && (\n
\n \n
\n
\n \n
\n
\n
\n )}\n
\n
\n \n
\n
\n )\n}\n\nexport default ShiftCourierControlTimeSelect;","import React, {useState} from \"react\";\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton\";\nimport \"./style.scss\";\nimport SearchBox from \"../SearchBox\";\nimport {useTranslation} from \"react-i18next\";\n\nconst ShiftCourierControlDepotsList = ({selectedDepots, depots, onCancel, onConfirm}) => {\n const {t} = useTranslation();\n const [localSelectedDepots, setLocalSelectedDepots] = useState(() => selectedDepots || []);\n const [searchString, setSearchString] = useState(\"\");\n const handleOnConfirm = () => {\n onConfirm(localSelectedDepots);\n }\n\n const handleOnAddDepot = (d) => {\n setLocalSelectedDepots(ds => [...ds, {name: d.name, id: d.id}]);\n }\n\n const handleOnRemoveFromSelected = id => {\n setLocalSelectedDepots(ds => ds.filter(d => d.id !== id));\n }\n\n const filterDepots = depots => {\n const selectedIds = localSelectedDepots.map(d => d.id);\n return depots\n .filter(d => !selectedIds.includes(d.id) && d.name?.toLowerCase().trim().includes(searchString?.toLowerCase().trim()))\n }\n\n return (\n
\n \n
\n
\n {localSelectedDepots.map(d => (\n \n {d.name}\n handleOnRemoveFromSelected(d.id)}/>\n
\n ))}\n
\n
\n {depots && filterDepots(depots).map(d => (\n handleOnAddDepot(d)}\n >\n {d.name}\n
\n
\n ))}\n
\n
\n
\n
\n {t(\"basic.APPLY_BUTTON\")}\n
\n
\n {t(\"basic.CANCEL_BUTTON\")}\n
\n
\n
\n )\n}\n\nexport default ShiftCourierControlDepotsList;","import React from \"react\";\nimport \"./style.scss\";\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton/IconButton\";\nimport {useTranslation} from \"react-i18next\";\nconst ShiftCourierControlDepot = ({selectedDepots, removeDepot, onViewAll}) => {\n const {t} = useTranslation();\n\n return (\n
\n
\n {t(\"shifts.DEPOT\")}: {selectedDepots && selectedDepots.length ? \"\" : t(\"shifts.ALL\")}\n {t(\"shifts.VIEW_ALL\")} >\n
\n {!!selectedDepots && !!selectedDepots.length && (\n
\n {selectedDepots.map(d => (\n
{d.name} removeDepot(d.id)} isIcon iconName={\"iconPlus\"}/>
\n ))}\n
\n )}\n
\n )\n}\nexport default ShiftCourierControlDepot;","import React, { useRef } from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n actionResetTooltipData,\n actionUpdateTooltipData,\n} from '../../../store/reducers/tooltipPortal/tooltipPortal-actions';\nimport { USER_ROLES } from '../../../utils/enums';\nimport { isShowControlCenterSearch } from '../../../services/userModel';\n\nconst RoleAvatar = ({ tooltipText, unapproved, role, active, onRoleClick, updateTooltipData, resetTooltipData }) => {\n const ref = useRef();\n const isMobile = window.innerWidth <= 768;\n const isSvgIcon = [USER_ROLES.supervisor, USER_ROLES.supportOperator, USER_ROLES.controlCenterManager].includes(role);\n\n const handleOnClick = () => {\n if (onRoleClick) {\n switch (role) {\n case USER_ROLES.supervisor:\n if (isShowControlCenterSearch()) onRoleClick();\n break;\n default:\n onRoleClick();\n break;\n }\n }\n };\n\n return (\n !!tooltipText && !isMobile && updateTooltipData({ tooltipText, ref: ref.current })}\n onMouseLeave={() => !!tooltipText && !isMobile && resetTooltipData()}\n onTouchStart={() => !!tooltipText && isMobile && updateTooltipData({ tooltipText, ref: ref.current })}\n onTouchEnd={() => !!tooltipText && isMobile && resetTooltipData()}\n >\n {!isSvgIcon &&
}\n {isSvgIcon && (\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: () => dispatch(actionResetTooltipData()),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(RoleAvatar);\n","import React, { useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport \"./index.scss\";\n\nimport { actionResetTooltipData, actionUpdateTooltipData } from \"../../../store/reducers/tooltipPortal/tooltipPortal-actions\";\n\nimport preloader from \"../../../assets/images/preloader.GIF\";\n\nconst Svg = ({ \n processing, \n isShake, \n useSvg, \n useClass,\n tooltipText,\n handleOnClick,\n updateTooltipData,\n resetTooltipData\n}) => {\n const hoverRef = useRef();\n\n return (\n
\n {!processing && (\n !!tooltipText && updateTooltipData({ tooltipText, ref: hoverRef.current })} \n onMouseLeave={e=> !!tooltipText && resetTooltipData({ event: e, context: this })}\n >\n \n \n )}\n {processing && (\n \"preloader\"\n )}\n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: data=> dispatch(actionResetTooltipData(data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(Svg));\n","import { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport { AUTHENTICATION } from \"../../../store/reducers/authentication/authentication-actions\";\n\nimport ConfirmDialog from \"../../components/ConfirmDialog/ConfirmDialog\";\n\nconst mapDispatchToProps = dispatch => {\n return {\n actionAuthentication: data => dispatch(createAction(AUTHENTICATION, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(ConfirmDialog));\n","export default class MenuModel {\n constructor({ pathname, title, titleInfo, disable, icon, actionLoad, priority, active, isShow, isTitleInfoShow, isWithIcon, useSeparator, nestedMenuType, searchParams, isIconRelative, badgeCount }) {\n this.title = title;\n this.titleInfo = titleInfo;\n this.pathname = pathname;\n this.icon = icon;\n this.priority = priority;\n this.useSeparator = useSeparator;\n this.nestedMenuType = nestedMenuType;\n this.actionLoad = actionLoad;\n this.isIconRelative = isIconRelative;\n this.disable = disable;\n if (active) this.active = active.bind(this);\n if (isShow) this.isShow = isShow.bind(this);\n if (isTitleInfoShow) this.isTitleInfoShow = isTitleInfoShow.bind(this);\n if (isWithIcon) this.isWithIcon = isWithIcon.bind(this);\n if (searchParams) this.searchParams = searchParams.bind(this);\n if (badgeCount) this.badgeCount = badgeCount.bind(this);\n }\n}\n","import React from 'react';\nimport \"./style.scss\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"../IconButton\";\n\nexport const CountUnreadMessages = () => {\n const { unreadMessages, dialogs } = useSelector(state => state.supportChat);\n\n return (\n
\n {unreadMessages ? (\n
\n \n

{unreadMessages}

\n
\n ) : null}\n {dialogs &&\n dialogs.length ? (\n
\n \n

{dialogs.length}

\n
\n ) : null}\n
\n );\n};\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport \"./index.scss\";\n\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\n\nimport IconButton from \"../IconButton\";\n\nconst MenuItemIconDepots = ({ depots, check }) => {\n const isShow = depots.some(depot=> (check || []).some(s=> depot[s]));\n return isShow\n ? ()\n : (<>);\n}\n\nconst mapStateToProps = state => ({\n depots: state.restaurant.data.depots || []\n});\n\nexport default connect(mapStateToProps)(MenuItemIconDepots);","import React from 'react';\n\nimport {TYPE_MENU, TYPE_SECTION_MODEL} from '../utils/enums';\nimport {defaultPromiseResolve} from '../utils/objects-util';\n\nimport MenuModel from './menuModel';\n\nimport IconButton from '../app/components/IconButton';\nimport {currentUserIsDepotRole} from \"../services/userModel.js\";\nimport {getFirstDepotId} from \"../services/restaurant.js\";\n\nexport function createSettingsMenu() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.users,\n title: \"settings.users.USERS\",\n icon: \"user\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.users)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.cloudPrinters,\n title: \"settings.cloudPrinters.CLOUD_PRINTERS\",\n icon: \"printIcon\",\n isShow: () => currentUserIsDepotRole(),\n active: location => getIsActive(location, TYPE_SECTION_MODEL.cloudPrinters)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.deliveryProviders + '?id=' + getFirstDepotId(),\n title: \"settings.depotSettingsLabel.PROVIDER\",\n icon: \"providersettings\",\n isShow: () => currentUserIsDepotRole(),\n active: location => getIsActive(location, TYPE_SECTION_MODEL.deliveryProviders)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.depots,\n title: \"settings.map.DEPOT_SETTINGS_LABEL\",\n icon: \"depot\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.depots) || location.pathname.includes(\"/settings/orderingmenu\"),\n isWithIcon: function(state) {\n return ((state &&\n state.restaurant &&\n state.restaurant.data &&\n state.restaurant.data.depots) || []).some(depot => depot.disable_delivery || depot.disable_takeaway || depot.squareUpAuthorizationRequired)\n ? ()\n : \"\";\n }\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.generalSettings,\n title: \"settings.settings.LABEL\",\n icon: \"generalsetting\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.generalSettings)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.geoSettings,\n nestedMenuType: TYPE_MENU.geoSettings,\n title: \"settings.GEO_SETTINGS_LABEL\",\n icon: \"geoSettings\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.geoSettings)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.personalSettings,\n title: \"settings.personalSettings.LABEL\",\n icon: \"personalSettings\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.personalSettings)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.courierManagement,\n nestedMenuType: TYPE_MENU.courierManagement,\n title: \"settings.COURIER_MANAGEMENT_LABEL\",\n icon: \"courierManagement\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.courierManagement)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.businessAppSettings,\n title: \"settings.businessAppConfiguration.LABEL\",\n icon: \"businessAppSettings\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.businessAppSettings)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.operationsManagement,\n title: \"settings.OPERATIONS_MANAGEMENT_LABEL\",\n nestedMenuType: TYPE_MENU.operationsManagement,\n icon: \"operationsManagement\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.operationsManagement)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.integrations,\n nestedMenuType: TYPE_MENU.integrations,\n title: \"settings.INTEGRATIONS_LABEL\",\n icon: \"integrations\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.integrations)\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return (splitCurrentLocation[1] === splitType[1] && splitCurrentLocation[2] === splitType[2]);\n}\n","import MenuModel from './menuModel';\n\nimport { ORDERING_MENU_TYPE_SECTION_MODEL } from '../utils/enums';\nimport { currentUserIsDeliveryManager, currentUserIsDepotRole } from '../services/userModel';\nimport { getCurrentDepotByBusiness, isShowParentBusinessMenu } from '../services/restaurant';\n\nexport function createOrderingMenu() {\n return [\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n title: 'settings.orderingmenu.MENU_BUSINESS_PARENT_MENU',\n icon: 'parentMenu',\n isShow: () => isShowParentBusinessMenu(),\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n title: 'settings.orderingmenu.MENU_BUSINESS_MENU',\n icon: 'childMenu',\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location =>\n getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu) ||\n getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo,\n title: 'settings.orderingmenu.MENU_BUSINESS_INFO',\n icon: 'businessInfo',\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.gallery,\n title: 'settings.business-gallery.LABEL',\n icon: 'businessGallery',\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.gallery),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n title: 'settings.orderingmenu.MENU_BUSINESS_SHEDULE',\n icon: 'orderingBusinessSchedule',\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n title: 'settings.orderingmenu.MENU_DELIVERY_ZONES',\n icon: 'deliveryZone',\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n title: 'settings.orderingmenu.MENU_DISCOUNTS',\n titleInfo: 'basic.BETA_LABEL',\n icon: 'discounts',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories,\n title: 'settings.businessCategories.LABEL',\n titleInfo: 'settings.businessCategories.LABEL',\n icon: 'orderingBusinessCategories',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuCategories),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink,\n title: 'settings.deepLink.LABEL',\n titleInfo: 'settings.deepLink.LABEL',\n icon: 'link',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.orderingMenuLink),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.translations,\n title: 'settings.translations.LABEL',\n titleInfo: 'settings.translations.LABEL',\n icon: 'translations',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.translations),\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.sku,\n title: 'settings.sku_override.LABEL',\n titleInfo: 'settings.sku_override.LABEL',\n icon: 'sku',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MENU_TYPE_SECTION_MODEL.sku),\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import React from \"react\";\n\nimport MenuModel from \"./menuModel\";\n\nimport {TYPE_MENU, TYPE_SECTION_DEPOT_MODEL} from \"../utils/enums\";\nimport {getCurrentDepotByBusiness, getRestaurantPaymentEnabled, hasDepotBusinessMenu} from \"../services/restaurant\";\nimport IconButton from \"../app/components/IconButton\";\nimport {defaultPromiseResolve} from \"../utils/objects-util\";\nimport {ORDERING_MENU_GET} from \"../store/reducers/restaurant/restaurant-actions\";\nimport {getHistoryLocationParams} from \"../utils/routesHelper\";\n\nexport function createDepotMenu() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotsEdit,\n title: \"settings.depotSettingsLabel.INFO\",\n icon: \"depotInfo\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotsEdit)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotsEditPrice,\n title: \"settings.depotSettingsLabel.DELIVERY_COST\",\n icon: \"deliveryCost\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotsEditPrice),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotMenu,\n nestedMenuType: TYPE_MENU.orderingMenu,\n actionLoad: ORDERING_MENU_GET,\n title: \"settings.depotSettingsLabel.MENU\",\n\n icon: \"parentMenu\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n isShow: () => getRestaurantPaymentEnabled() && hasDepotBusinessMenu(),\n active: location => location.pathname.includes(\"settings/orderingmenu/\"),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy,\n title: \"settings.depotSettingsLabel.CREATE_MENU\",\n icon: \"parentMenu\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n isShow: () => getRestaurantPaymentEnabled() && !hasDepotBusinessMenu(),\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotsMenuCopy),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotusers,\n title: \"settings.depotSettingsLabel.USERS\",\n icon: \"user\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotusers),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotIntegrations,\n title: \"settings.depotSettingsLabel.INTEGRATIONS\",\n icon: \"integrations\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotIntegrations),\n isWithIcon: function(state) {\n const { parentId, id } = getHistoryLocationParams(window.location.search);\n const depot = ((state.restaurant.data && state.restaurant.data.depots) || []).find(depot => depot.id === (parentId || id));\n return depot && depot.squareUpAuthorizationRequired\n ? ()\n : \"\";\n }\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters,\n title: \"settings.depotSettingsLabel.REGIONS\",\n icon: \"deliveryZone\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotDefaultRegionControlCenters),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.provider,\n title: \"settings.depotSettingsLabel.PROVIDER\",\n icon: \"externalProvider\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.provider),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit,\n title: \"settings.depotSettingsLabel.PAYMENTS\",\n icon: \"paymentsCard\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n isShow: () => getRestaurantPaymentEnabled(),\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.depotPaymeCreditInfoEdit),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.telegram,\n title: \"settings.depotSettingsLabel.TELEGRAM\",\n icon: \"telegramSettings\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.telegram),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.operationMode,\n title: \"settings.operationTiming.LABEL\",\n icon: \"operationTiming\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.operationMode) || getIsActive(location, TYPE_SECTION_DEPOT_MODEL.operationModeActive),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_DEPOT_MODEL.reconciliation,\n title: \"settings.depotSettingsLabel.RECONCILIATION\",\n icon: \"reconciliation\",\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_DEPOT_MODEL.reconciliation),\n })\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return (splitCurrentLocation[1] === splitType[1] && splitCurrentLocation[2] === splitType[2] && splitCurrentLocation[3] === splitType[3]);\n}\n","import { MARKETPLACE_SETTINGS_MODEL, TYPE_MENU } from '../utils/enums';\n\nimport MenuModel from \"./menuModel\";\nexport function createMarketplaceSettingsMenu() {\n return [\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.marketplaceSettings,\n title: \"settings.marketplaceSettings.MENU_LABEL\",\n icon: \"generalsetting\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.marketplaceSettings),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration,\n title: \"settings.paymentsConfigurationSettings.LABEL\",\n icon: \"paymentsConfiguration\",\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.paymentsConfiguration),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.serviceFee,\n title: \"settings.serviceFee.LABEL\",\n icon: \"serviceFee\",\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.serviceFee)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.offers,\n title: \"settings.orderingmenu.MENU_DISCOUNTS\",\n icon: \"menuDiscount\",\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.offers),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.loyalty,\n nestedMenuType: TYPE_MENU.loyaltyMenu,\n title: \"settings.marketplaceMessage.LOYALTY\",\n // disable: !getRestaurantLoyaltyEnabled(),\n icon: \"loyalty\",\n searchParams: state => state,\n active: location => location.pathname.includes(\"/marketplace-settings/loyalty/\"),\n }),\n\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.delivery,\n nestedMenuType: TYPE_MENU.deliveryMenu,\n title: \"settings.orderingmenu.DELIVERY\",\n\n icon: \"deliveryMenu\",\n searchParams: state => state,\n active: location => location.pathname.includes(\"/marketplace-settings/delivery/\"),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.appBuilder,\n nestedMenuType: TYPE_MENU.appBuilderMenu,\n title: \"settings.orderingmenu.APP_BUILDER\",\n\n icon: \"appBuilder\",\n searchParams: state => state,\n active: location => location.pathname.includes(\"/marketplace-settings/app-builder/\"),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.deepLink,\n title: \"settings.deepLink.LABEL\",\n icon: \"link\",\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.deepLink)\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return (splitCurrentLocation[1] === splitType[1] && splitCurrentLocation[2] === splitType[2]);\n}\n","import MenuModel from './menuModel';\n\nimport { ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL } from '../utils/enums';\nimport { currentUserIsDeliveryManager, currentUserIsDepotRole } from '../services/userModel';\nimport { getCurrentDepotByBusiness } from '../services/restaurant';\n\nexport function createOrderingMenuMenuTemplate() {\n return [\n // new MenuModel({\n // pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu,\n // title: \"settings.orderingmenu.MENU_BUSINESS_PARENT_MENU\",\n // icon: \"parentMenu\",\n // isShow: () => isShowParentBusinessMenu(),\n // searchParams: state => {\n // return `?id=${getCurrentDepotByBusiness(state)}`\n // },\n // active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessParentMenu)\n // }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n title: \"settings.orderingmenu.MENU_BUSINESS_MENU\",\n icon: \"childMenu\",\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu) || getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingBusinessMenuExtras)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo,\n title: \"settings.orderingmenu.MENU_BUSINESS_INFO\",\n icon: \"businessInfo\",\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuBusinesInfo)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery,\n title: \"settings.business-gallery.LABEL\",\n icon: \"businessGallery\",\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.gallery)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule,\n title: \"settings.orderingmenu.MENU_BUSINESS_SHEDULE\",\n icon: \"orderingBusinessSchedule\",\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSchedule)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones,\n title: \"settings.orderingmenu.MENU_DELIVERY_ZONES\",\n icon: \"deliveryZone\",\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDeliveryZones)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts,\n title: \"settings.orderingmenu.MENU_DISCOUNTS\",\n titleInfo: \"basic.BETA_LABEL\",\n icon: \"discounts\",\n isTitleInfoShow: function() {\n return currentUserIsDepotRole();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuDiscounts)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories,\n title: \"settings.businessCategories.LABEL\",\n titleInfo: \"settings.businessCategories.LABEL\",\n icon: \"orderingBusinessCategories\",\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuCategories)\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations,\n title: 'settings.translations.LABEL',\n titleInfo: 'settings.translations.LABEL',\n icon: 'translations',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuTranslations),\n }),\n new MenuModel({\n pathname: ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku,\n title: 'settings.sku_override.LABEL',\n titleInfo: 'settings.sku_override.LABEL',\n icon: 'sku',\n isTitleInfoShow: function() {\n return currentUserIsDepotRole() && !currentUserIsDeliveryManager();\n },\n searchParams: state => {\n return `?id=${getCurrentDepotByBusiness(state)}`;\n },\n active: location => getIsActive(location, ORDERING_MARKETPLACE_MENU_TYPE_SECTION_MODEL.orderingMenuSku),\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3] &&\n splitCurrentLocation[4] === splitType[4]\n}\n","import { SHIFTS_MODEL } from '../utils/enums';\n\nimport MenuModel from './menuModel';\n\n\nexport function createShiftsMenu() {\n return [\n new MenuModel({\n pathname: SHIFTS_MODEL.currentShiftUsers,\n title: \"shifts.CURRENT_SHIFT\",\n icon: \"current_shift\",\n active: location => getIsActive(location, SHIFTS_MODEL.currentShiftUsers)\n }),\n new MenuModel({\n pathname: SHIFTS_MODEL.history,\n title: \"shifts.HISTORY\",\n icon: \"shifts_history\",\n active: location => getIsActive(location, SHIFTS_MODEL.history)\n }),\n new MenuModel({\n pathname: SHIFTS_MODEL.providers,\n title: \"shifts.PROVIDERS\",\n icon: \"externalProvider\",\n active: location => getIsActive(location, SHIFTS_MODEL.providers)\n || getIsActive(location, SHIFTS_MODEL.currentShiftProviderHistory)\n || getIsActive(location, SHIFTS_MODEL.currentShiftProviderHistoryOrder)\n })\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return (splitCurrentLocation[1] === splitType[1] && splitCurrentLocation[2] === splitType[2]);\n}\n","import MenuModel from './menuModel';\n\nimport { TYPE_SECTION_MESSAGE_MODEL } from '../utils/enums';\nimport { getCurrentDepotByBusiness, getRestaurantPaymentEnabled } from '../services/restaurant';\nimport { ORDERING_MENU_GET } from '../store/reducers/restaurant/restaurant-actions';\n\nexport function createMessageMenuSettings() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MESSAGE_MODEL.messageInfo,\n title: 'settings.messageSettings.INFO',\n actionLoad: ORDERING_MENU_GET,\n icon: 'depotInfo',\n isShow: () => getRestaurantPaymentEnabled(),\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_MESSAGE_MODEL.messageInfo),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MESSAGE_MODEL.messageGallery,\n actionLoad: ORDERING_MENU_GET,\n title: 'settings.messageSettings.GALLERY',\n icon: 'businessGallery',\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n isShow: () => getRestaurantPaymentEnabled(),\n active: location => getIsActive(location, TYPE_SECTION_MESSAGE_MODEL.messageGallery),\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3] &&\n splitCurrentLocation[4] === splitType[4] &&\n splitCurrentLocation[5] === splitType[5]\n );\n}\n","import MenuModel from './menuModel';\n\nimport {MARKETPLACE_SETTINGS_MODEL} from '../utils/enums';\n\nexport function createLoyaltyMenu() {\n return [\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n title: \"settings.loyaltyCashback.MENU_LABEL\",\n icon: \"loyaltyCashback\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsRegistrationBonus,\n title: \"settings.loyaltyRegisterBonus.MENU_LABEL\",\n icon: \"loyaltyVoucher\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.loyaltySettingsRegistrationBonus)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.giftCard,\n title: \"settings.giftCard.MENU_LABEL\",\n icon: \"giftCard\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.giftCard)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.referral,\n title: \"settings.referral.MENU_LABEL\",\n icon: \"referral\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.referral)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.campaigns,\n title: \"settings.campaigns.MENU_LABEL\",\n icon: \"campaign\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.campaigns)\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from './menuModel';\n\nimport { MARKETPLACE_SETTINGS_MODEL } from '../utils/enums';\n\nexport function createDeliveryMenu() {\n return [\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.deliveryZones,\n title: \"settings.deliveryZones.LABEL\",\n icon: \"deliveryZone\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.deliveryZones)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice,\n title: \"settings.customerDeliveryPrice.LABEL\",\n icon: \"deliveryPrice\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.customerDeliveryPrice),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.driverTip,\n title: \"settings.driverTip.MENU_LABEL\",\n icon: \"driverTip\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.driverTip)\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from './menuModel';\n\nimport { MARKETPLACE_SETTINGS_MODEL } from '../utils/enums';\n\nexport function createAppBuilderMenu() {\n return [\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.listPromotion,\n title: \"settings.listPromotion.LABEL\",\n icon: \"listPromotion\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.listPromotion)\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.marketplace,\n title: \"settings.marketplaceMessage.MARKETPLACE\",\n icon: \"marketplace\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.marketplace),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.businessCategories,\n title: \"settings.businessCategories.LABEL\",\n icon: \"businessCategories\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.businessCategories),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.menuTemplate,\n title: \"settings.menuTemplate.LABEL\",\n icon: \"menuTemplate\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.menuTemplate),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.cancelReason,\n title: \"settings.cancelReason.LABEL\",\n icon: \"cancelReason\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.cancelReason),\n }),\n new MenuModel({\n pathname: MARKETPLACE_SETTINGS_MODEL.pages,\n title: \"settings.pages.LABEL\",\n icon: \"marketplace_page\",\n searchParams: state => state,\n active: location => getIsActive(location, MARKETPLACE_SETTINGS_MODEL.pages)\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from \"./menuModel.js\";\nimport {RECONCILIATIONS_MODEL} from \"../utils/enums.js\";\n\nexport function createReconciliationMenu() {\n return [\n new MenuModel({\n pathname: RECONCILIATIONS_MODEL.configuration,\n title: \"reconciliations.CONFIGURATION\",\n icon: \"generalsetting\",\n searchParams: state => state,\n active: location => getIsActive(location, RECONCILIATIONS_MODEL.configuration),\n }),\n new MenuModel({\n pathname: RECONCILIATIONS_MODEL.settings,\n title: \"reconciliations.SETTINGS\",\n icon: \"reconciliation_configuration\",\n searchParams: state => state,\n active: location => getIsActive(location, RECONCILIATIONS_MODEL.settings),\n }),\n new MenuModel({\n pathname: RECONCILIATIONS_MODEL.periods,\n title: \"reconciliations.PERIODS\",\n icon: \"calendar\",\n searchParams: state => state,\n active: location => getIsActive(location, RECONCILIATIONS_MODEL.periods),\n }),\n ];\n}\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split(\"/\");\n const splitType = type.split(\"/\");\n return (splitCurrentLocation[1] === splitType[1] && splitCurrentLocation[2] === splitType[2]);\n}\n","import MenuModel from './menuModel';\n\nimport {CUSTOMER_SERVICE_MODEL} from '../utils/enums';\nimport {\n currentUserIsControlCenterManagerRole,\n currentUserIsDepotRole,\n currentUserIsSupervisorRole,\n currentUserIsSupportOperatorRole\n} from \"../services/userModel.js\";\n\nexport function createCustomerServiceMenuSettings() {\n return currentUserIsDepotRole()\n ? [\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.order,\n title: 'admin-orders.ADMIN_ORDERS_ORDER_LABEL',\n icon: 'adminOrders',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.order),\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.reviews,\n title: 'reviews.LABEL',\n icon: 'reviews',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.reviews),\n isShow: () => currentUserIsSupportOperatorRole()\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.sales,\n title: 'sales.LABEL',\n icon: 'sales',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.sales),\n isShow: () => currentUserIsSupervisorRole() || currentUserIsSupportOperatorRole(),\n }),\n ] : [\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.order,\n title: 'admin-orders.ADMIN_ORDERS_ORDER_LABEL',\n icon: 'adminOrders',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.order),\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.reviews,\n title: 'reviews.LABEL',\n icon: 'reviews',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.reviews),\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.customers,\n title: 'customers.LABEL',\n icon: 'customers',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.customers),\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.sales,\n title: 'sales.LABEL',\n icon: 'sales',\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.sales),\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.supportChat,\n title: 'support-chat.LABEL',\n icon: 'supportChat',\n isShow: () => currentUserIsSupervisorRole() || currentUserIsControlCenterManagerRole(),\n active: location => getIsActive(location, CUSTOMER_SERVICE_MODEL.supportChat),\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2]\n );\n}\n","import MenuModel from \"./menuModel.js\";\nimport {TYPE_SECTION_MODEL} from \"../utils/enums.js\";\n\nexport function createMenuGeoSettings() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.regions,\n title: \"settings.TITLE_REGIONS\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.regions)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.serviceCities,\n title: \"settings.SERVICE_CITIES_TITLE\",\n active: location =>\n getIsActive(location, TYPE_SECTION_MODEL.serviceCities)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.namedPlaces,\n title: \"settings.NAMED_PLACES_TITLE\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.namedPlaces)\n }),\n ]\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from \"./menuModel.js\";\nimport {TYPE_SECTION_MODEL} from \"../utils/enums.js\";\n\nexport function createMenuCouriermanagementSettings() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.courierDeliveryFees,\n title: \"settings.courierDeliveryFeesSettings.LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.courierDeliveryFees)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.courierDeliveryFeesTemplate,\n title: \"settings.courierDeliveryFeesSettings.TEMPLATE_LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.courierDeliveryFeesTemplate)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.courierAppSettings,\n title: \"settings.courierSettings.LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.courierAppSettings)\n }),\n ]\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from \"./menuModel.js\";\nimport {TYPE_SECTION_MODEL} from \"../utils/enums.js\";\n\nexport function createMenuIntegrationsSettings() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.providers,\n title: \"settings.courierSettings.LABEL_PROVIDERS\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.providers)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.telegramSettings,\n title: \"settings.telegramSettings.LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.telegramSettings)\n }),\n ]\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import MenuModel from \"./menuModel.js\";\nimport {TYPE_SECTION_MODEL} from \"../utils/enums.js\";\n\nexport function createMenuOperationsManagementSettings() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.operationTiming,\n title: \"settings.operationTiming.LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.operationTiming)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.controlCenters,\n title: \"header.menu.CONTROL_CENTERS\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.controlCenters)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.fleet,\n title: \"settings.TITLE_FLEET\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.fleet)\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MODEL.searchShortcuts,\n title: \"settings.searchShortcutsSettings.LABEL\",\n active: location => getIsActive(location, TYPE_SECTION_MODEL.searchShortcuts)\n }),\n ]\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import { TYPE_MENU } from '../utils/enums';\n\nimport { createHeaderMenu } from '../models/headerMenu';\nimport { createSettingsMenu } from '../models/settingsMenu';\nimport { createOrderingMenu } from '../models/orderingMenu';\nimport { createDepotMenu } from '../models/depotMenu';\nimport { createMarketplaceSettingsMenu } from '../models/marketplaceSettingsMenu';\nimport { createMenuTemplateMenu } from '../models/menuTemplateMenu';\nimport { createOrderingMenuMenuTemplate } from '../models/orderingMenuMenuTemplate';\nimport { createShiftsMenu } from '../models/shiftsMenu';\nimport { createMessageMenuSettings } from '../models/menuMessageSettings';\nimport {createLoyaltyMenu} from '../models/createLoyaltyMenu.js';\nimport { createDeliveryMenu } from '../models/createDeliveryMenu.js';\nimport { createAppBuilderMenu } from '../models/createAppBuilderMenu.js';\nimport {createReconciliationMenu} from \"../models/reconciliationMenu.js\";\nimport {createCustomerServiceMenuSettings} from \"../models/menuCustomerService.js\";\nimport {createMenuGeoSettings} from \"../models/menuGeoSettings.js\";\nimport {createMenuCouriermanagementSettings} from \"../models/menuCourierManagement.js\";\nimport {createMenuIntegrationsSettings} from \"../models/menuItegrationsSettings.js\";\nimport {\n createMenuOperationsManagementSettings\n} from \"../models/menuOperationsManagement.js\";\n\nexport function createMenuModel(typeMenu) {\n switch (typeMenu) {\n case TYPE_MENU.header:\n return createHeaderMenu();\n case TYPE_MENU.settings:\n return createSettingsMenu();\n case TYPE_MENU.shifts:\n return createShiftsMenu();\n case TYPE_MENU.orderingMenu:\n return createOrderingMenu();\n case TYPE_MENU.loyaltyMenu:\n return createLoyaltyMenu();\n case TYPE_MENU.deliveryMenu:\n return createDeliveryMenu();\n case TYPE_MENU.appBuilderMenu:\n return createAppBuilderMenu();\n case TYPE_MENU.orderingMenuMenuTemplate:\n return createOrderingMenuMenuTemplate();\n case TYPE_MENU.depotSettings:\n return createDepotMenu();\n case TYPE_MENU.menuTemplate:\n return createMenuTemplateMenu();\n case TYPE_MENU.marketplaceSettings:\n return createMarketplaceSettingsMenu();\n case TYPE_MENU.reconciliations:\n return createReconciliationMenu();\n case TYPE_MENU.messageSettings:\n return createMessageMenuSettings();\n case TYPE_MENU.customerService:\n return createCustomerServiceMenuSettings();\n case TYPE_MENU.geoSettings:\n return createMenuGeoSettings();\n case TYPE_MENU.courierManagement:\n return createMenuCouriermanagementSettings();\n case TYPE_MENU.integrations:\n return createMenuIntegrationsSettings();\n case TYPE_MENU.operationsManagement:\n return createMenuOperationsManagementSettings();\n default:\n return [];\n }\n}\n","import React from 'react';\n\nimport MenuModel from './menuModel';\n\nimport {\n BASIC_PATH,\n CUSTOMER_SERVICE_MODEL,\n ORDERING_MENU_TYPE_SECTION_MODEL,\n SHIFTS_MODEL,\n TYPE_SECTION_MODEL\n} from '../utils/enums';\nimport {\n currentUserIsControlCenterManagerRole,\n currentUserIsDeliveryManager,\n currentUserIsDepotRole,\n currentUserIsOnlySupportOperatorRole, currentUserIsSupervisorRole,\n currentUserIsSupportOperatorRole,\n} from '../services/userModel';\nimport {\n countPendingOrder,\n getConsumerRestaurantId,\n getRestaurantPaymentEnabled,\n menuItemIconOrdersCount\n} from '../services/restaurant';\n\nimport {CountUnreadMessages} from '../app/components/CountUnreadMessages/CountUnreadMessages';\nimport MenuItemIconDepots from '../app/components/MenuItemIconDepots';\n\nexport function createHeaderMenu() {\n return currentUserIsDepotRole()\n ? [\n new MenuModel({\n pathname: '/',\n title: 'header.menu.DASHBOARD_LABEL',\n active: location => location.pathname === '/',\n badgeCount: () => menuItemIconOrdersCount() || null,\n priority: 0,\n }),\n new MenuModel({\n pathname: '/orders',\n title: 'header.menu.ORDERS_LABEL',\n active: location => location.pathname === '/orders',\n priority: 1,\n }),\n new MenuModel({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu + '?id=' + getConsumerRestaurantId(),\n title: 'header.menu.RESTAURATEUR_MENU_LABEL',\n active: location => location.pathname.split('/')[1] === 'settings' && location.pathname.split('/')[2] === 'orderingmenu',\n isShow: ({ consumerOrderMenu }) => !!consumerOrderMenu,\n priority: 2,\n }),\n new MenuModel({\n pathname: currentUserIsDeliveryManager() ? TYPE_SECTION_MODEL.users : TYPE_SECTION_MODEL.personalSettings,\n title: 'header.menu.SETTINGS_LABEL',\n active: location => location.pathname.split('/')[1] === 'settings' && location.pathname.split('/')[2] !== 'orderingmenu',\n priority: 3,\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.order,\n title: 'header.menu.ADMIN_ORDERS_LABEL',\n active: location => location.pathname.includes(BASIC_PATH.adminOrders),\n isShow: () => currentUserIsSupportOperatorRole(),\n priority: 4,\n isIconRelative: true,\n badgeCount: () => countPendingOrder() || null,\n }),\n ]\n : [\n new MenuModel({\n pathname: '/',\n title: 'header.menu.DASHBOARD_LABEL',\n active: location => location.pathname === '/',\n priority: 4,\n }),\n new MenuModel({\n pathname: '/orders',\n title: 'header.menu.ORDERS_LABEL',\n active: location => location.pathname === '/orders',\n priority: 0,\n }),\n new MenuModel({\n pathname: '/marketplace-settings',\n title: 'header.menu.MARKETPLACE_SETTINGS',\n active: location => location.pathname.includes('/marketplace-settings'),\n isShow: () => getRestaurantPaymentEnabled() && window.innerWidth >= 700 && (currentUserIsSupervisorRole() || currentUserIsControlCenterManagerRole()),\n }),\n new MenuModel({\n pathname: '/marketplace-settings/list',\n title: 'header.menu.MARKETPLACE_SETTINGS',\n active: location => location.pathname.includes('/marketplace-settings/list'),\n priority: 2,\n isShow: () => getRestaurantPaymentEnabled() && window.innerWidth < 700 && (currentUserIsSupervisorRole() || currentUserIsControlCenterManagerRole()),\n }),\n new MenuModel({\n pathname: '/settings',\n title: 'header.menu.SETTINGS_LABEL',\n active: location =>\n location.pathname.split('/')[1] === 'settings',\n priority: 2,\n isWithIcon: () => ,\n }),\n new MenuModel({\n pathname: SHIFTS_MODEL.currentShiftUsers,\n title: 'settings.SHIFTS_TITLE',\n active: location =>\n location.pathname.split('/')[1] === 'shifts',\n priority: 3,\n isShow: () => !currentUserIsOnlySupportOperatorRole(),\n }),\n new MenuModel({\n pathname: '/reports',\n title: 'header.menu.REPORTS_LABEL',\n active: location => location.pathname === '/reports',\n priority: 1,\n }),\n new MenuModel({\n pathname: CUSTOMER_SERVICE_MODEL.order,\n title: 'header.menu.ADMIN_ORDERS_LABEL',\n active: location => location.pathname.includes(BASIC_PATH.adminOrders),\n isShow: () => currentUserIsSupportOperatorRole(),\n priority: 5,\n isIconRelative: true,\n badgeCount: () => countPendingOrder() || null,\n isWithIcon: () => <>\n \n ,\n }),\n ];\n}\n","import MenuModel from './menuModel';\n\nimport { TYPE_MENU, TYPE_SECTION_MENUTEMPLATE_MODEL } from '../utils/enums';\nimport { getCurrentDepotByBusiness, getRestaurantPaymentEnabled } from '../services/restaurant';\nimport { ORDERING_MENU_GET } from '../store/reducers/restaurant/restaurant-actions';\n\nexport function createMenuTemplateMenu() {\n return [\n new MenuModel({\n pathname: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit,\n title: 'marketplacesettings.menuTemplateLabel.INFO',\n actionLoad: ORDERING_MENU_GET,\n icon: 'depotInfo',\n isShow: () => getRestaurantPaymentEnabled(),\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n active: location => getIsActive(location, TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateEdit),\n }),\n new MenuModel({\n pathname: TYPE_SECTION_MENUTEMPLATE_MODEL.menuTemplateMenu,\n nestedMenuType: TYPE_MENU.orderingMenuMenuTemplate,\n actionLoad: ORDERING_MENU_GET,\n title: 'Menu',\n icon: 'parentMenu',\n searchParams: state => `?id=${getCurrentDepotByBusiness(state)}`,\n isShow: () => getRestaurantPaymentEnabled(),\n active: location => location.pathname.includes('marketplace-settings/app-builder/orderingmenu/'),\n }),\n ];\n}\n\nfunction getIsActive(location, type) {\n const splitCurrentLocation = location.pathname.split('/');\n const splitType = type.split('/');\n return (\n splitCurrentLocation[1] === splitType[1] &&\n splitCurrentLocation[2] === splitType[2] &&\n splitCurrentLocation[3] === splitType[3]\n );\n}\n","import { ROLES_MANAGER_TYPE } from \"../utils/enums\";\nimport { createMenuModel } from \"./menuModelFactory\";\nimport RoleManager from \"./roleManage\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class Menu {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use Menu.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new Menu(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n removeMenu(type) {\n this[type] = null;\n }\n\n getMenu(type, isSortByPriority, isRecreate) {\n if (!this[type] || isRecreate) {\n this[type] = createMenuModel(type);\n }\n\n const authorizedMenuItems = (this[type] || [])\n .filter(menuItem=> RoleManager.instance.isAuthorized(ROLES_MANAGER_TYPE.menu, menuItem.pathname));\n\n return isSortByPriority\n ? authorizedMenuItems?.sort((a, b) => (a.priority || 0) - (b.priority || 0))\n : authorizedMenuItems;\n }\n\n getMenuItemsByPriority(type, priority) {\n if (priority === 0) return this.getMenu(type);\n return priority\n ? this.getMenu(type).filter(f => (f.priority || 0) > (priority || 0)) || []\n : [];\n }\n}\n","import React from 'react';\nimport {withTranslation} from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport SwitchControl from '../SwitchControl';\nimport ColumnTitleWithIcon from '../ColumnTitleWithIcon';\nimport i18n from 'i18next';\n\nconst SectionItemSwitch = ({ t, id, column, value, onPropChange, item }) => {\n const handleOnClick = val => {\n if (column.isReadonly) {\n return;\n }\n\n const value = column?.isNumberValue ? +val : val;\n\n const valueToUpdate = {};\n if(column.accessorsToOff && !value) {\n column.accessorsToOff.forEach(key => valueToUpdate[key] = false);\n }\n\n if(column.alwaysOnWithAccessor && value) {\n valueToUpdate[column.alwaysOnWithAccessor] = true;\n }\n\n onPropChange({\n [column.accessor]: column?.isNumberValue ? +val : val,\n [column.interchangeableAccessor]: false,\n ...valueToUpdate\n });\n };\n\n const labelOn = i18n.t(column && column.label && column.label.onLabel);\n const labelOff = i18n.t(column && column.label && column.label.offLabel);\n\n return (\n \n \n \n
\n );\n};\n\nexport default withTranslation()(SectionItemSwitch);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport \"./index.scss\";\n\nimport { CYCLE_STATE } from \"../../../utils/enums\";\nimport { Avatar } from \"../Avatar/Avatar\";\nimport { getFullName } from \"../../../services/userModel\";\nimport VehicleIcon from \"../VehicleIcon\";\nimport {List} from \"react-virtualized\";\nimport classNames from \"classnames\";\nimport AutoSizer from \"react-virtualized-auto-sizer\";\n\nclass AssociatePopupGroup extends React.PureComponent {\n isCourierHasOrders = courier => {\n const { orders } = this.props;\n return !!orders.filter(order => order.groupId === courier.userId)?.length;\n };\n\n rowRenderer = ({ index, key, style}, checked) => {\n const {\n t,\n couriers,\n handleChecked\n } = this.props;\n\n const courier = couriers[index];\n\n return (\n
handleChecked(courier.userId, e)}\n >\n \n
\n \n   \n {getFullName(courier)}\n \n {courier.cycle && courier.cycle.state === CYCLE_STATE.started && (\n <>\n {this.isCourierHasOrders(courier) && (\n \n {t(\"dialogs.couriers.AWAITING_APPROVAL_LABEL\")}\n \n )}\n {!this.isCourierHasOrders(courier) && (\n \n {t(\"dialogs.couriers.WAITING_FOR_ORDERS\")}\n \n )}\n \n )}\n {courier.cycle && courier.cycle.state === CYCLE_STATE.approved && (\n \n {t(\"dialogs.couriers.READY_LABEL\")}\n \n )}\n {courier.cycle && courier.cycle.state === CYCLE_STATE.deliveryStart && (\n \n {t(\"dialogs.couriers.ON_ROUTE_LABEL\")}\n \n )}\n
\n
\n handleChecked(courier.userId, e)}\n />\n
\n
\n );\n };\n\n render() {\n const {\n couriers,\n title,\n emptyTitleText,\n checked\n } = this.props;\n const makeHeight = couriers?.length * 60 > window.innerHeight ? window.innerHeight : couriers.length * 60;\n\n return (\n
\n
\n {title ? title : \"\"}\n
\n
\n {!!couriers.length && (\n {({height, width}) => {\n return this.rowRenderer(data, checked)}\n rowCount={couriers.length}\n overscanRowCount={1}\n />\n }}\n )}\n
\n\n {(!couriers || !couriers.length) &&\n emptyTitleText && (\n
\n {emptyTitleText}\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = state => ({\n orders: state.order.data.orders || []\n});\n\nexport default connect(mapStateToProps)(withTranslation()(AssociatePopupGroup));\n","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getFullName } from \"../../../services/userModel\";\n\nimport { Avatar } from \"../Avatar/Avatar\";\nimport VehicleIcon from \"../VehicleIcon\";\n\nconst AssociatePopupControlCenter = ({ key, controlCenter, checked, onChecked, users }) => {\n const controlCenterUser = (controlCenter &&\n controlCenter.info &&\n controlCenter.info.userId &&\n (users || []).find(user => user.userId === controlCenter.info.userId)) || {};\n\n useEffect(()=> {\n \n }, [controlCenter, checked]);\n\n if(!controlCenterUser.userId) return null\n\n return (\n
onChecked(controlCenter.controlCenterId, e)}\n >\n \n
\n \n   \n {controlCenter.name}\n \n {getFullName(controlCenterUser)}\n
\n
\n onChecked(controlCenter.controlCenterId, e)}\n />\n
\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n users: state.userModel.data || []\n };\n};\n\nexport default connect(mapStateToProps)(AssociatePopupControlCenter);","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport './index.scss';\n\nimport AssociatePopupControlCenter from '../AssociatePopupControlCenter';\n\nconst AssociatePopupControlCenters = ({ controlCenters, title, checked, handleChecked }) => {\n const isLoading = useSelector(state => state.sectionsWrapperData.isLoading);\n\n\n return (\n
\n
\n {title ? title : ''}\n {isLoading &&
}\n
\n {(controlCenters || [])\n .filter(controlCenter => controlCenter.info && controlCenter.info.userId)\n .map(controlCenter => (\n \n ))}\n
\n );\n};\n\nexport default AssociatePopupControlCenters;\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getExternalCycleLogo } from \"../../../services/restaurant\";\nimport { VEHICLE_TYPE } from \"../../../utils/enums\";\n\nimport { Avatar } from \"../Avatar/Avatar\";\nimport VehicleIcon from \"../VehicleIcon\";\n\nconst AssociatePopupExternalProviders = ({\n t,\n checked,\n handleChecked,\n providers\n}) => {\n const isLoading = useSelector(state => state.sectionsWrapperData.isLoading);\n\n return (\n
\n
\n {t(\"dashboard.couriersbar.EXTERNAL_PROVIDERS_GROUP_LABEL\")}\n {isLoading &&
}\n
\n {providers?.map(provider=> (\n
handleChecked(provider.id, e, true, provider.provider)}\n >\n \n
\n   \n {provider?.name}\n
\n
\n handleChecked(provider.id, e, true, provider.provider)}\n />\n
\n
\n ))}\n
\n );\n}\n\nexport default withTranslation()(AssociatePopupExternalProviders);","import React, {useEffect, useState} from 'react';\nimport {connect, useSelector} from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n getExternalCycleLogo,\n getExternalCyclePriceInfo,\n getPendingOrdersContainerConfig,\n} from '../../../services/restaurant.js';\nimport {PENDING_ORDERS_FILTER_TYPE, VEHICLE_TYPE} from '../../../utils/enums.js';\nimport {withTranslation} from 'react-i18next';\nimport {Avatar} from '../Avatar/Avatar.jsx';\nimport VehicleIcon from '../VehicleIcon/VehicleIcon.jsx';\nimport {getProviderName, getUserByGroupId,} from '../../../services/userModel.js';\nimport TimeBox from '../TimeBox/TimeBox.jsx';\n\nconst AssociatePopupExternalAssignment = ({\n t,\n checked,\n handleChecked,\n orderData,\n users,\n externalCycles,\n providers,\n extendableCyclesId\n}) => {\n const { firstContainerItems } = getPendingOrdersContainerConfig(\n PENDING_ORDERS_FILTER_TYPE.ready,\n orderData,\n users,\n externalCycles\n );\n\n const [extendableCycles, setExtendableCycles] = useState([]);\n\n useEffect(() => {\n let field = ''\n let cycles = []\n\n if(firstContainerItems?.length) {\n field = 'courier_id'\n cycles = firstContainerItems\n } else if (externalCycles?.length) {\n field = 'userId'\n cycles = externalCycles\n }\n\n const value = cycles.filter(item => extendableCyclesId?.find(id => id === item[field]));\n\n const uniqueCycles = Array.from(new Set(value?.map(a => a[field])))\n .map(id => {\n return value.find(a => a[field] === id)\n })\n\n setExtendableCycles(uniqueCycles);\n // eslint-disable-next-line\n }, [extendableCyclesId]);\n\n const isLoading = useSelector(state => state.sectionsWrapperData.isLoading);\n\n return (\n \n
\n {t('dashboard.couriersbar.EXTERNAL_CYCLE_ASSIGNMENT_GROUP_LABEL')}\n {isLoading &&
}\n
\n {extendableCycles.map(extendableCycle => {\n const isExternal = !!extendableCycle?.external_provider_id;\n const courier = isExternal\n ? providers.find(f => f.id === extendableCycle?.external_provider_id)\n : providers.find(f => f.id === extendableCycle?.providerId)\n const deliveredBy = getProviderName(courier)\n const courierAvatar = getExternalCycleLogo(courier)\n\n const courierInfo = externalCycles.find(f => f.id === extendableCycle.courier_id) ||\n getUserByGroupId(users, extendableCycle.courier_id);\n\n const userInfo = externalCycles.find(f => f.id === extendableCycle.userId) ||\n getUserByGroupId(users, extendableCycle.userId);\n\n const price = getExternalCyclePriceInfo(courierInfo || userInfo);\n\n const id = extendableCycle?.courier_id || extendableCycle?.userId\n\n // const depotName = (group) => {\n // if(!group) return \"\";\n // const state = Store.store.getState();\n // const orders = state.order.data.orders.filter(f => f.groupId === group.id);\n //\n // return '/ ' + getDepotName(orders[0])\n // }\n\n return (\n handleChecked(extendableCycle?.id, e, false, id, true)}\n >\n \n
\n \n   \n {deliveredBy}\n {/*
 {depotName(extendableCycle)}
*/}\n
\n {price && ( {price} )}\n\n {courierInfo?.approveValidity && (\n
\n )}\n\n {userInfo?.approveValidity && (\n
\n )}\n\n
\n handleChecked(extendableCycle?.id, e, false, id, true)}\n />\n
\n
\n );\n })}\n
\n );\n};\n\nconst mapStateToProps = state => {\n return {\n externalCycles: state.externalCycles.data || [],\n users: state.userModel.data || [],\n orderData: state.order.data || {},\n providers: ((state.restaurant || {}).data || {}).ordersProvider || [],\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(AssociatePopupExternalAssignment));\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport search_blue_small from \"../../../assets/images/icons/search_blue_small.png\";\nimport {courierAssociateFilter} from \"../../../services/filter\";\nimport User from \"../../../services/user\";\nimport {futureRouteInfo, isRTL} from \"../../../services/userModel\";\nimport {isSingleDepotMode} from \"../../../services/restaurant\";\nimport {CYCLE_STATE, SHIFT_TYPE, WAITER_TYPES} from \"../../../utils/enums\";\n\nimport AssociatePopupGroup from \"./AssociatePopupGroup\";\nimport {ModalPopup} from \"../ModalPopup/ModalPopup\";\nimport AssociatePopupControlCenters from \"./associatePopupControlCenters\";\nimport Waiter from \"../Waiter/Waiter\";\nimport AssociatePopupExternalProviders from \"../AssociatePopupExternalProviders\";\nimport AssociatePopupExternalAssignment from '../AssociatePopupExternalAssignment/index.js';\nimport {fetchExternalAssignmentsByIds} from '../../../api/user-requests.js';\nimport {requestResultIsOk} from '../../../utils/request-util.js';\nimport {objectKeysToUpperLowerCase} from '../../../utils/objects-util.js';\nimport {nullOrEmpty} from \"../../../utils/helpers.js\";\n\nclass AssociatePopup extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n searchString: undefined,\n checked: undefined,\n extendableCyclesId: [],\n\n };\n }\n\n componentDidMount() {\n this.getControlCenters();\n this.initState()\n }\n\n get activeCouriers() {\n if (!this.props.couriers) return [];\n return this.props.couriers.filter(courier => {\n let isActive =\n courier.cycle &&\n !courier.cycle.shiftType &&\n (!this.props.courier || courier.userId !== this.props.courier.userId) &&\n courier.cycle.state === CYCLE_STATE.started;\n\n return (\n isActive && courierAssociateFilter(this.state.searchString, courier)\n );\n });\n }\n\n get onRouteCouriers() {\n if (!this.props.couriers) return [];\n return this.props.couriers.filter(courier => {\n return (\n (!this.props.courier || courier.userId !== this.props.courier.userId) &&\n courier.cycle &&\n (courier.cycle.state === CYCLE_STATE.approved ||\n courier.cycle.state === CYCLE_STATE.deliveryStart) &&\n courierAssociateFilter(this.state.searchString, courier)\n );\n });\n }\n\n get backUpCouriers() {\n const { couriers } = this.props;\n const { searchString } = this.state;\n if (!couriers) return [];\n\n const result = couriers.filter(courier => {\n let isActive =\n (!this.props.courier || courier.userId !== this.props.courier.userId) &&\n courier.cycle &&\n ((courier.cycle.shiftType === SHIFT_TYPE.Backup &&\n courier.cycle.state === CYCLE_STATE.started) ||\n (courier.cycle.shiftType === SHIFT_TYPE.Normal &&\n courier.cycle.state === CYCLE_STATE.away));\n\n return isActive && courierAssociateFilter(searchString, courier);\n });\n\n return result;\n }\n\n get controlCenters() {\n const { controlCenters } = this.props;\n const currentUser = User.instance.getCurrentUserInfo();\n\n return controlCenters\n ? controlCenters.filter(\n center =>\n center.info != null &&\n center.controlCenterId !== currentUser.controlCenterId\n )\n : [];\n }\n\n initState = () => {\n const { selectedOrderIds } = this.props\n\n fetchExternalAssignmentsByIds(selectedOrderIds).then(response => {\n if (requestResultIsOk(response, true)) {\n const extendableCyclesId = response?.data?.ExtendableCycles;\n const providers = objectKeysToUpperLowerCase(response?.data?.Providers)\n\n this.setState({extendableCyclesId: extendableCyclesId, providers: providers})\n }\n })\n }\n\n getControlCenters = () => {\n const { isGetControlCenters, controlCenterStatus, selectedOrderIds } = this.props;\n if(isGetControlCenters) {\n controlCenterStatus(selectedOrderIds);\n }\n }\n\n handleChecked = (checked, e, isExternalType, provider, isExternalAssignment) => {\n this.setState({ checked, isExternalType, provider, isExternalAssignment });\n };\n\n handleOnClose = e => {\n this.props.onClose();\n };\n\n handleOnConfirm = () => {\n const { onConfirm } = this.props;\n const { checked, isExternalType, provider, isExternalAssignment } = this.state;\n\n return onConfirm(checked, isExternalType, provider, isExternalAssignment);\n };\n\n filterByControlCenterId = items => {\n const {controlCenterIds, filterByControlCenterIds} = this.props;\n if(!filterByControlCenterIds) {\n return items;\n }\n const ids = [...new Set(controlCenterIds.filter(Boolean))];\n const idIsNull = ids.length === 0 && controlCenterIds.includes(null);\n\n if(ids.length === 1 || idIsNull) {\n return items.filter(c =>\n (idIsNull ? nullOrEmpty(c.cycle.controlCenterId) : c.cycle.controlCenterId === ids[0])\n || (c.cycle.shiftType === SHIFT_TYPE.Backup && c.cycle.controlCenterId === null)\n );\n }\n return [];\n }\n\n render() {\n const { t, isOpen, isShowFutureRoute, controlCenterIds, isAlwaysShowExternalAssignment } = this.props;\n const {extendableCyclesId, providers} = this.state;\n\n return (\n \n
\n
\n \n \n this.setState({ searchString: e.target.value })\n }\n />\n
\n
\n
\n {isShowFutureRoute && isSingleDepotMode() && (\n this.handleChecked(value, e)}\n />\n )}\n this.handleChecked(value, e)}\n />\n this.handleChecked(value, e)}\n />\n this.handleChecked(value, e)}\n />\n {((controlCenterIds && controlCenterIds.length === 1) || isAlwaysShowExternalAssignment) && this.handleChecked(value, e)}\n />}\n \n \n
\n
\n this.handleOnClose(e)}\n >\n {t(\"basic.CANCEL_BUTTON\")}\n \n \n
\n
\n }\n />\n );\n }\n}\n\nexport default AssociatePopup;\n","import { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport { RESTAURANT_CONTROL_CENTER_STATUS_GET } from \"../../../store/reducers/restaurant/restaurant-actions\";\n\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport AssociatePopup from \"../../components/AssociatePopup/AssociatePopup\";\n\nconst mapStateToProps = state => {\n return {\n couriers: state.userModel.data || [],\n controlCenters: state.restaurant.data.controlCenters || []\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n controlCenterStatus: data => dispatch(createAction(RESTAURANT_CONTROL_CENTER_STATUS_GET, data))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(AssociatePopup));\n","import React from \"react\";\nimport ReactTooltip from \"react-tooltip\";\nimport \"./index.scss\";\n\nexport const Tooltip = () => (\n \n);\n","import React, {useCallback, useEffect, useState} from 'react';\nimport classNames from 'classnames';\nimport SectionItemSelect from '../SectionItemSelect/SectionItemSelect';\nimport Waiter from '../Waiter/Waiter';\nimport {getControlCenters} from '../../../services/restaurant';\nimport {SHIFT_TYPE, WAITER_TYPES} from '../../../utils/enums';\nimport {ModalPopup} from '../ModalPopup/ModalPopup';\nimport './style.scss';\nimport {useTranslation} from 'react-i18next';\nimport SwitchControl from '../SwitchControl';\nimport ShiftCourierControlTimeSelect from '../ShiftCourierControlTimeSelect';\nimport ShiftCourierControlDepotsList from '../ShiftCourierControlDepotsSelect';\nimport ShiftCourierControlDepot from '../ShiftCourierControlDepot';\nimport {useSelector} from 'react-redux';\nimport {getRestaurantDepots} from '../../../store/selectors';\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst ShiftCourierControlPopup = ({\n popupOpen,\n hanldeOnPopupClose,\n onClose,\n controlCenterId,\n setControlCenterId,\n selectedControlCenter,\n availableControlCenters,\n setSelectedFleet,\n fleet,\n courier,\n}) => {\n const { t } = useTranslation();\n const depots = useSelector(getRestaurantDepots);\n const [viewAllMode, setViewAllMode] = useState(false);\n\n const [selectedDepots, setSelectedDepots] = useState([]);\n const [isBackup, setIsBackup] = useState(() => courier?.cycle?.shiftType === SHIFT_TYPE.Backup);\n const [timeSettings, setTimeSettings] = useState(() => ({\n startTime: courier?.cycle?.startTime || null,\n endTime: courier?.cycle?.endTime || null\n }));\n\n const hasControlCenters = !!getControlCenters(true)?.length;\n let [filteredCC, setFilteredCC] = useState(null);\n\n useEffect(() => {\n if (!selectedControlCenter) return;\n setControlCenterId(selectedControlCenter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedControlCenter]);\n\n useEffect(() => {\n if(filteredCC && filteredCC.length === 1 && !controlCenterId) {\n setControlCenterId(filteredCC[0].controlCenterId);\n }\n //eslint-disable-next-line\n }, [filteredCC]);\n\n const handleUpdateSelectedDepots = depots => {\n setSelectedDepots(depots);\n setViewAllMode(false);\n };\n\n const handleOnRemoveDepot = removeId => {\n setSelectedDepots(depots => depots.filter(d => d.id !== removeId));\n };\n\n const onCloseModal = () => {\n return hanldeOnPopupClose({\n shiftType: isBackup ? 1 : 0,\n controlCenterId,\n ...timeSettings,\n allowedDepots: selectedDepots.map(d => d.id),\n });\n };\n\n const setTimeSettingsCallBack = useCallback(setTimeSettings, []);\n\n useEffect(() => {\n if (isBackup && availableControlCenters && availableControlCenters[0] && availableControlCenters[0]?.controlCenterId !== null) {\n setFilteredCC([{controlCenterId: null, name: '-'}, ...availableControlCenters]);\n } else if (!isBackup && filteredCC && filteredCC[0] && filteredCC[0]?.controlCenterId === null) {\n setFilteredCC([...availableControlCenters]);\n if (controlCenterId === null) {\n setControlCenterId(availableControlCenters[0] ? availableControlCenters[0].controlCenterId : null);\n }\n } else {\n setFilteredCC(availableControlCenters?.filter(cc => cc?.name));\n }\n\n // eslint-disable-next-line\n }, [isBackup, availableControlCenters]);\n\n\n return (\n \n {viewAllMode && (\n setViewAllMode(false)}\n />\n )}\n {!viewAllMode && (\n <>\n
\n
\n {t('couriers.BACKUP_SHIFT_TOOLTIP')}\n \n
\n \n setViewAllMode(true)}\n />\n {!!filteredCC?.length && (\n
\n ({\n key: controlCenter.controlCenterId,\n value: controlCenter.name,\n })),\n }}\n onPropChange={val => setControlCenterId(val.controlCenterId)}\n />\n
\n )}\n {(fleet && fleet.length > 0) && (\n
\n ({\n key: e.vehicleId,\n value: e.plateNumber ? e.plateNumber : e.vehicleId,\n })),\n }}\n onPropChange={val => setSelectedFleet(val.vehicleId)}\n />\n
\n )}\n
\n
\n \n
\n {t('basic.CLOSE_BUTTON')}\n
\n
\n \n )}\n
\n }\n />\n );\n};\n\nexport default ShiftCourierControlPopup;\n","import React, {useEffect, useState} from 'react';\nimport {connect} from \"react-redux\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {COURIER_STATE, SHIFT_TYPE, WAITER_TYPES} from \"../../../utils/enums\";\nimport {shiftCourierErrorMessage, shiftCourierTooltipText} from \"../../../utils/constants\";\nimport {createAction} from \"../../../utils/sagaHelper\";\n\nimport {\n AVAILABLE_CONTROL_CENTERS,\n CANCEL_SHIFT,\n END_SHIFT,\n FINISH_SHIFT,\n GOAWAY_SHIFT,\n START_SHIFT_BACKUP,\n} from '../../../store/reducers/userModel/userModel-actions';\n\nimport Waiter from \"../Waiter/Waiter\";\nimport ShiftCourierControlPopup from \"../ShiftCourierControlPopup\";\n\nconst ShiftCourierControl = ({\n t,\n type, courier,\n startShiftBackUpAction,\n endShiftAction,\n fleet,\n cancelShiftAction,\n finishShiftAction,\n goAwayShiftAction,\n getAvailableControlCenters,\n selectedControlCenter,\n availableControlCenters,\n parentControlCenter\n}) => {\n const [controlCenterId, setControlCenterId] = useState(null);\n const [selectedFleet, setSelectedFleet] = useState(null);\n const [popupOpen, setPopupOpen] = useState(false);\n\n useEffect(() => {\n if(controlCenterId !== parentControlCenter) {\n setControlCenterId(parentControlCenter);\n }\n // eslint-disable-next-line\n }, [parentControlCenter]);\n\n const handleOnClick = () => {\n const courierId = courier && courier.userId;\n const typesForCheckControlcenter = [COURIER_STATE.startShift];\n getAvailableControlCenters(courierId)\n\n if(typesForCheckControlcenter.includes(type)) {\n setPopupOpen(true);\n return Promise.resolve();\n }\n\n return handleOnCourierShift(courierId, type);\n };\n\n const handleOnCourierShift = (courierId, courierState, data) => {\n if(courierId) {\n switch (courierState) {\n case COURIER_STATE.startBackup:\n return startShiftBackUpAction({\n courierId,\n controlCenterId: controlCenterId || selectedControlCenter,\n vehicleId: selectedFleet,\n shiftType: SHIFT_TYPE.Backup\n })\n case COURIER_STATE.endBackup:\n return endShiftAction({ courierId })\n case COURIER_STATE.startShift:\n return startShiftBackUpAction({\n courierId,\n controlCenterId: controlCenterId || selectedControlCenter,\n vehicleId: selectedFleet,\n shiftType: SHIFT_TYPE.Normal,\n ...data,\n })\n case COURIER_STATE.endShift:\n return endShiftAction({ courierId })\n case COURIER_STATE.cancelShift:\n return cancelShiftAction({ courierId })\n case COURIER_STATE.finishShift:\n return finishShiftAction({ courierId })\n case COURIER_STATE.goAwayShift:\n return goAwayShiftAction({ courierId })\n default:\n return Promise.resolve();\n }\n } else {\n Promise.reject();\n }\n }\n\n const hanldeOnPopupClose = (data) => {\n const courierId = courier && courier.userId;\n\n return new Promise((resolve, reject)=> {\n if(courierId) {\n handleOnCourierShift(courierId, type, data).then(()=> {\n setPopupOpen(false);\n resolve();\n }, ()=> reject());\n } else {\n reject();\n }\n });\n }\n\n const getErrorMessage = () => {\n return (shiftCourierErrorMessage[type] && t(shiftCourierErrorMessage[type])) || \"\";\n }\n\n const getTooltipText = () => {\n return (shiftCourierTooltipText[type] && t(shiftCourierTooltipText[type])) || \"\";\n }\n\n const getUseClass = () => {\n const classStyles = {\n [COURIER_STATE.startShift]: \"start-shift\",\n [COURIER_STATE.startBackup]: \"start-backup-shift\",\n [COURIER_STATE.endShift]: \"end-shift\",\n [COURIER_STATE.endBackup]: \"end-backup-shift\",\n [COURIER_STATE.cancelShift]: \"cancel\",\n [COURIER_STATE.finishShift]: \"finish\",\n [COURIER_STATE.goAwayShift]: \"goaway\"\n };\n\n return classStyles[type] || \"\";\n }\n\n return (\n
\n \n {popupOpen && (\n setPopupOpen(false)}\n />\n )}\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n selectedControlCenter: state.restaurant.data.selectedControlCenter,\n availableControlCenters: state.restaurant.data.availableControlCenters,\n fleet: state.restaurant.data.fleet,\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n startShiftBackUpAction: data => dispatch(createAction(START_SHIFT_BACKUP, data)),\n endShiftAction: data => dispatch(createAction(END_SHIFT, data)),\n getAvailableControlCenters: data => dispatch(createAction(AVAILABLE_CONTROL_CENTERS, data)),\n cancelShiftAction: data => dispatch(createAction(CANCEL_SHIFT, data)),\n finishShiftAction: data => dispatch(createAction(FINISH_SHIFT, data)),\n goAwayShiftAction: data => dispatch(createAction(GOAWAY_SHIFT, data)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ShiftCourierControl));\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { isShowControlCenterSearch, getFullName, isRTL } from \"../../../services/userModel\";\nimport { getGroupOrders } from \"../../../services/order\";\nimport { COURIER_STATE, CYCLE_STATE, SHIFT_TYPE } from \"../../../utils/enums\";\nimport { getConvertedCloudUrl } from \"../../../utils/image-util\";\n\nimport defaultAvatar from \"../../../assets/images/avatar.png\";\nimport GrCode from \"../GrCode\";\nimport ShiftCourierControl from \"../ShiftCourierControl\";\nimport CheckBox from \"../CheckBox/index.js\";\n\nconst CourierShiftItem = ({\n t,\n user,\n users,\n orderModel,\n controlCenter,\n enableMultiMode,\n multiMode,\n selected,\n onSelectMulti,\n shouldCheckMultiDisable\n}) => {\n if(!user) return null\n const userFromState = users.find(item => item.userId === user.userId);\n const courier = userFromState || user;\n const courierOrders = getGroupOrders(orderModel, courier.userId, true);\n\n const multiDisabled = enableMultiMode && shouldCheckMultiDisable && (courier.roles.active || courier?.cycle?.shiftType === SHIFT_TYPE.Normal);\n\n const getButtonsConfig = () => {\n const isSupervisorRole = isShowControlCenterSearch();\n let buttonsConfig = {};\n\n Object.keys(COURIER_STATE).forEach(key=> {\n buttonsConfig[key] = false;\n });\n\n if (courier.roles.active) {\n if (\n courier.cycle.state !== CYCLE_STATE.started &&\n courier.cycle.state !== CYCLE_STATE.away &&\n courier.cycle.state !== CYCLE_STATE.comingBack\n ) {\n buttonsConfig[COURIER_STATE.finishShift] = true;\n buttonsConfig[COURIER_STATE.cancelShift] = true;\n buttonsConfig[COURIER_STATE.goAwayShift] = !isSupervisorRole;\n } else if (courier.cycle.state === CYCLE_STATE.started) {\n buttonsConfig[COURIER_STATE.goAwayShift] = courierOrders && !!courierOrders.length;\n }\n if (courier.cycle.shiftType === SHIFT_TYPE.Normal) {\n buttonsConfig[COURIER_STATE.endShift] = true;\n } else {\n buttonsConfig[COURIER_STATE.startShift] = true;\n buttonsConfig[COURIER_STATE.endBackup] = true;\n }\n } else {\n buttonsConfig[COURIER_STATE.startShift] = true;\n }\n\n return buttonsConfig;\n };\n\n const buttonsConfig = getButtonsConfig();\n\n const getStateName = () => {\n if (!courier.cycle) {\n return t(\"couriers.STATE_CLOSED\");\n }\n switch (courier.cycle.state) {\n case CYCLE_STATE.started:\n return courierOrders.length\n ? t(\"couriers.STATE_APPROVED\")\n : t(\"couriers.STATE_STARTED\");\n case CYCLE_STATE.approved:\n return courierOrders.length\n ? t(\"couriers.STATE_APPROVED\")\n : t(\"couriers.STATE_STARTED\");\n case CYCLE_STATE.deliveryStart:\n return t(\"couriers.STATE_DELIVERY_START\");\n case CYCLE_STATE.comingBack:\n return t(\"couriers.STATE_COMING_BACK\");\n case CYCLE_STATE.away:\n return t(\"couriers.STATE_AWAY\");\n case CYCLE_STATE.closed:\n return t(\"couriers.STATE_CLOSED\");\n default:\n return \"\";\n }\n };\n\n const handleOnClickSelect = (e) => {\n if(enableMultiMode && (!multiMode || multiDisabled)) {\n return;\n }\n e.stopPropagation();\n onSelectMulti();\n }\n\n return (\n
\n
\n {`img-${courier.userId}`}\n
\n
\n
\n
{getFullName(courier)}
\n {!courier.isUnverified &&
{getStateName()} {courier.phoneNumber && `| ${courier.phoneNumber}`}
}\n
\n {!multiMode && (\n \n )}\n
\n
\n {multiMode && !multiDisabled && (\n \n )}\n {!multiMode && (\n \n \n \n {Object.keys(buttonsConfig).filter(key=> buttonsConfig[key]).map((key, i)=> (\n \n ))}\n \n \n
\n )}\n
\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n disableBackupCouriers: state.restaurant.data.configuration && state.restaurant.data.configuration.disableBackupCouriers,\n users: state.userModel.data || [],\n orderModel: state.order.data,\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(CourierShiftItem));\n","import { useEffect, useState } from 'react';\nimport { createAction } from '../../utils/sagaHelper.js';\nimport { useDispatch } from 'react-redux';\nimport { useDebounce } from './useDebounce.js';\n\nconst usePagination = ({\n actionPagination,\n itemsPerPage,\n controlCenterId,\n roles,\n}) => {\n const dispatch = useDispatch();\n\n const [page, setPage] = useState(0);\n const [isLastPage, setIsLastPage] = useState(false);\n const [totalItems, setTotalItems] = useState(0);\n const [isUpdate, setIsUpdate] = useState(false);\n const [items, setItems] = useState([]);\n\n const [searchString, setSearchString] = useState('');\n const debounceSearch = useDebounce(searchString, 400);\n\n const [isLoading, setIsLoading] = useState(false)\n\n // const handleFilterByRoles = (roles) => {\n // }\n\n const resetPagination = () => {\n setPage( 0);\n setIsUpdate(false);\n setTotalItems(0);\n setItems([]);\n }\n\n const handleScroll = event => {\n const { clientHeight, scrollHeight, scrollTop } = event || {};\n\n setIsUpdate(scrollHeight - clientHeight - 20 < scrollTop);\n };\n\n const handleSearch = value => {\n if (value === searchString) return;\n\n setSearchString(value);\n };\n\n const handlePagination = () => {\n if (items?.length && totalItems && totalItems <= items.length) {\n setIsLastPage(true);\n setIsUpdate(false);\n setIsLoading(false);\n return;\n }\n\n const handleData = data => {\n if (!data) return;\n setPage(page + 1);\n setIsUpdate(false);\n setTotalItems(data?.totalCount || 0);\n setItems([...items, ...data?.users]);\n };\n\n const paginationParams = {\n num: page,\n count: itemsPerPage + 6,\n ...(controlCenterId && { controlCenterId: controlCenterId }),\n ...(debounceSearch && { query: debounceSearch }),\n ...(roles && { roles: roles }),\n };\n\n dispatch(createAction(actionPagination, paginationParams)).then(data => {\n handleData(data);\n setIsLoading(false);\n });\n };\n\n useEffect(() => {\n setIsUpdate(true);\n setItems([]);\n setPage(0);\n setIsLastPage(false)\n }, [debounceSearch]);\n\n useEffect(() => {\n if (!isUpdate || isLoading || isLastPage || !actionPagination || !itemsPerPage) return;\n\n setIsLoading(true)\n handlePagination();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [page, itemsPerPage, isUpdate, isLoading, roles]);\n\n return {\n handleScroll,\n handleSearch,\n searchString,\n isLoading,\n newItems: items,\n resetPagination,\n };\n};\n\nexport default usePagination;\n","import classNames from 'classnames';\nimport { getFullName, isRTL } from '../../../services/userModel.js';\nimport { getConvertedCloudUrl } from '../../../utils/image-util.js';\nimport defaultAvatar from '../../../assets/images/avatar.png';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { withTranslation } from 'react-i18next';\n\nconst PopupManagerItem = ({ user, users, controlCenters, onUserClick }) => {\n if (!user) return null;\n const userFromState = users.find(item => item.userId === user.userId);\n const courier = userFromState || user;\n\n const userControlCenter = controlCenters.find(cc => cc?.userModel === courier?.userId);\n\n return (\n !userControlCenter && onUserClick(courier)}\n >\n
\n {`img-${courier.userId}`}\n
\n
\n
\n
{getFullName(courier)}
\n
\n
\n
\n {userControlCenter &&
{userControlCenter?.name}
}\n
\n
\n );\n};\n\nconst mapStateToProps = state => {\n return {\n users: state.userModel.data || [],\n controlCenters: state.restaurant.data.controlCenters || [],\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(PopupManagerItem));\n","import classNames from 'classnames';\nimport { getFullName, isRTL } from '../../../services/userModel.js';\nimport { getConvertedCloudUrl } from '../../../utils/image-util.js';\nimport defaultAvatar from '../../../assets/images/avatar.png';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { withTranslation } from 'react-i18next';\n\nconst CourierShiftsFilterItem = ({ user, users, onUserClick }) => {\n if (!user) return null;\n const userFromState = users.find(item => item.userId === user.userId);\n const courier = userFromState || user;\n\n return (\n
onUserClick && onUserClick(courier)}>\n
\n {`img-${courier.userId}`}\n
\n
\n
\n
{getFullName(courier)}
\n
\n
\n
\n );\n};\n\nconst mapStateToProps = state => {\n return {\n users: state.userModel.data || [],\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(CourierShiftsFilterItem));\n","import React, {useEffect, useRef, useState} from 'react';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {getFullName, isRTL} from '../../../services/userModel';\n\nimport { ModalPopup } from '../ModalPopup/ModalPopup';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport InvitationPopup from '../InvitationPopup/InvitationPopup';\n\nimport search_blue_small from '../../../assets/images/icons/search_blue_small.png';\nimport { List } from 'react-virtualized';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport preloader from '../../../assets/images/preloader.GIF';\nimport {\n COURIER_PAGINATION,\n START_SHIFTS\n} from '../../../store/reducers/userModel/userModel-actions.js';\nimport CourierShiftItem from './CourierShiftItem.jsx';\nimport usePagination from '../../hooks/usePagination.js';\nimport {POPUP_ITEM_TYPE} from '../../../utils/enums.js';\nimport PopupManagerItem from './CourierManagerItem.jsx';\nimport CourierShiftsFilterItem from './CourierShiftsFilterItem.jsx';\nimport {useTranslation} from \"react-i18next\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\nimport ShiftCourierControlPopup from \"../ShiftCourierControlPopup/index.js\";\nimport {connect, useSelector} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper.js\";\n\nconst CouriersShiftPopup = ({\n isOpen,\n onClose,\n selectedControlCenter, // Filtered users in popup by selected control center in dashboard\n controlCenterFilter, // Shifts -> history -> filter. Filtered users in popup by selected control center from filter\n activeControlCenter, // If the user role is not “Control Center Manager”, use the active control center everywhere.\n roles,\n onUserClick,\n itemType,\n startShifts,\n enableMultiMode\n}) => {\n const {t} = useTranslation();\n const controlCenters = useSelector(state => state.restaurant.data.controlCenters);\n\n const [invitationPopupIsOpen, setInvitationPopupIsOpen] = useState(null);\n const [courier, setCourier] = useState(null);\n const [multiSelectMode, setMultiSelectMode] = useState(false);\n const [multiSelectedCourier, setMultiSelectedCourier] = useState([]);\n const [startShiftIsOpen, setStartShiftIsOpen] = useState(false);\n const [qrCodeSrc, setQrCodeSrc] = useState(null);\n const [code, setCode] = useState(null);\n\n const controlCenterId = controlCenterFilter !== undefined ? controlCenterFilter : selectedControlCenter || activeControlCenter;\n\n // pagination\n const wrapperRef = useRef(null);\n const itemHeight = 50;\n const itemsPerPage = +(wrapperRef?.current?.props?.height / itemHeight).toFixed(0) || 0;\n const { handleScroll, handleSearch, newItems: newUsers, searchString, isLoading, resetPagination } = usePagination({\n itemsPerPage,\n roles: roles,\n actionPagination: COURIER_PAGINATION,\n controlCenterId: controlCenterId,\n });\n // pagination end\n\n useEffect(() => {\n resetPagination()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getAvailableControlCenters = () => {\n const find = (controlCenters || []).find(cc => cc.controlCenterId === controlCenterId);\n if(find) {\n return [find];\n }\n return [];\n }\n\n const handleInvitationPopup = () => {\n setInvitationPopupIsOpen(null);\n setCourier(null);\n setQrCodeSrc(null);\n setCode(null);\n };\n\n const popupItem = () => {\n switch (itemType) {\n case POPUP_ITEM_TYPE.managerItem:\n return PopupManagerItem;\n case POPUP_ITEM_TYPE.shiftsFilterItem:\n return CourierShiftsFilterItem;\n case POPUP_ITEM_TYPE.courierShiftItem:\n return CourierShiftItem;\n default:\n return CourierShiftItem;\n }\n };\n\n const toggleMultiMode = () => {\n if(multiSelectMode) {\n setMultiSelectMode(false);\n setMultiSelectedCourier([]);\n } else {\n setMultiSelectMode(true);\n setMultiSelectedCourier([]);\n }\n }\n\n const onSelectMultiUser = (user) => {\n const selectedUser = multiSelectedCourier.find(c => c.userId === user.userId);\n if(selectedUser) {\n setMultiSelectedCourier(couriers => couriers.filter(c => c.userId !== user.userId));\n } else {\n setMultiSelectedCourier(couriers => couriers.concat(user));\n }\n }\n\n const rowRenderer = ({ index, key, style }) => {\n const ItemComponent = popupItem();\n const user = newUsers[index];\n const selectedUser = multiSelectedCourier.find(c => c.userId === user.userId);\n\n return (\n
\n onSelectMultiUser(user)}\n selected={!!selectedUser}\n shouldCheckMultiDisable\n />\n
\n );\n };\n\n const handleOnStartShift = data => {\n return startShifts({...data, courierIds: multiSelectedCourier.map(c => c.userId) })\n .then(() => {\n setStartShiftIsOpen(false);\n toggleMultiMode();\n });\n }\n\n return (\n \n
\n
\n handleSearch(e.target.value)}\n />\n search\n
\n {enableMultiMode && (\n \n )}\n
\n {enableMultiMode && (
\n {multiSelectedCourier.map(c =>\n
onSelectMultiUser(c)}>\n {getFullName(c)}\n   \n \n
\n )}\n
)}\n
\n \n {({ height, width }) => {\n return (\n handleScroll(event)}\n width={width}\n height={height}\n rowHeight={itemHeight}\n rowRenderer={rowRenderer}\n rowCount={newUsers?.length}\n overscanRowCount={3}\n />\n );\n }}\n \n
\n
\n
\n {t('basic.CLOSE_BUTTON')}\n
\n {multiSelectMode && (\n
setStartShiftIsOpen(true)}>\n {t('basic.APPLY_BUTTON')}\n
\n )}\n
\n \n {invitationPopupIsOpen && (\n \n )}\n {isLoading && (\n
\n preloader\n
\n )}\n {startShiftIsOpen && (\n {}}\n popupOpen={startShiftIsOpen}\n controlCenterId={controlCenterId}\n availableControlCenters={getAvailableControlCenters()}\n onClose={() => setStartShiftIsOpen(false)}\n />\n )}\n
\n }\n />\n );\n};\n\nconst mdtp = dispatch => {\n return {\n startShifts: data => dispatch(createAction(START_SHIFTS, data)),\n }\n}\n\nexport default connect(null, mdtp)(CouriersShiftPopup);\n","import ControlModel from '../../models/controlModel';\nimport { MODEL_CONTROL_TYPE } from '../../utils/enums.js';\nimport { useDispatch } from 'react-redux';\nimport { createAction } from '../../utils/sagaHelper.js';\nimport React from 'react';\nimport classNames from 'classnames';\nimport IconButton from '../../app/components/IconButton/IconButton.jsx';\n\nexport function createImportFileControlModel({ ...args }) {\n return new ControlModel({\n action: args.action || '',\n tooltipText: args.tooltipText || '',\n text: args.text || '',\n icon: args.icon || '',\n isShow:\n args.isShow ||\n function() {\n return true;\n },\n type: MODEL_CONTROL_TYPE.importFile,\n callback: args.callback || null,\n });\n}\n\nexport const ImportFileControl = ({ control }) => {\n const dispatch = useDispatch();\n const { action, text, tooltipText, icon, callback } = control; // icon\n\n const handleImportFile = event => {\n const file = event.target.files[0];\n\n const formData = new FormData();\n formData.append('file', file, file?.name);\n dispatch(createAction(action, { file: formData })).then(response => {\n callback && callback(response);\n });\n };\n\n return (\n
\n \n handleImportFile(event)}\n />\n
\n );\n};\n","import React, {useState} from 'react';\nimport ControlModel from '../../../models/controlModel.js';\nimport {MODEL_CONTROL_TYPE} from '../../../utils/enums.js';\nimport IconButton from '../../../app/components/IconButton/index.js';\nimport classNames from 'classnames';\nimport './DropdownModel.scss';\nimport {isRTL} from \"../../userModel.js\";\nimport {ActionButtonControl} from \"../actionButton.js\";\n\nexport function createDropdownControlModel({ ...args }) {\n return new ControlModel({\n icon: args.icon || '',\n items: args.items,\n isShow:\n args.isShow ||\n function() {\n return true;\n },\n type: MODEL_CONTROL_TYPE.dropdown,\n });\n}\n/*\nconst DropdownControlItem = dropdownItem => {\n const { icon, text, action, isShow, handleOnClick, isActiveElement } = dropdownItem;\n const dispatch = useDispatch();\n // const [inProcess, setInProcess] = useState(false);\n\n\n const handleClick = () => {\n /!*if (inProcess) {\n return;\n }*!/\n // setInProcess(true);\n handleOnClick();\n new Promise((resolve, reject) => {\n return dispatch(createAction(action, isShow())).then(\n () => {\n resolve();\n // setInProcess(false);\n },\n error => {\n // setInProcess(false);\n }\n );\n });\n };\n\n\n if (!isShow() !== isActiveElement) return null;\n\n return (\n
handleClick()}>\n
\n \n \n \n
\n
{text}
\n
\n );\n};*/\n\nexport const DropdownControl = ({ control, model, models, itemAction }) => {\n const { text, tooltipText, icon, items } = control;\n const [isOpen, setIsOpen] = useState(false);\n // const [isActiveElement, setIsActiveElement] = useState(false);\n const isRtl = isRTL();\n\n /*const handleOnClick = (id) => {\n setIsActiveElement(!isActiveElement);\n };*/\n\n const getControlComponent = (item, indexItem) => {\n if(item.type === MODEL_CONTROL_TYPE.actionButton) {\n if(!item.isShow || (item.isShow && item.isShow())) {\n return
\n }\n return null;\n }\n // \n\n\n }\n\n\n\n return (\n
\n
setIsOpen(!isOpen)}>\n {text}\n \n
\n\n
\n {items.map((item, indexItem) => (\n getControlComponent(item, indexItem)\n ))}\n
\n
\n );\n};\n","import React, {useState} from 'react';\nimport classNames from 'classnames';\nimport {useDispatch} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper.js\";\nimport {MODEL_CONTROL_TYPE} from \"../../../utils/enums.js\";\nimport './listItemsModel.scss';\nimport ControlModel from \"../../../models/controlModel.js\";\n\nexport function createListItemsControlModel({ ...args }) {\n return new ControlModel({\n icon: args.icon || '',\n items: args.items,\n customStyles: args.customStyles ? args.customStyles() : {},\n customClassName: args.customClassName,\n isShow:\n args.isShow ||\n function() {\n return true;\n },\n type: MODEL_CONTROL_TYPE.listItems,\n });\n}\n\nconst ListItemsControlItem = dropdownItem => {\n const { icon, text, action, isShow, handleOnClick, isActiveElement } = dropdownItem;\n const dispatch = useDispatch();\n // const [inProcess, setInProcess] = useState(false);\n\n\n const handleClick = () => {\n /*if (inProcess) {\n return;\n }*/\n // setInProcess(true);\n handleOnClick();\n new Promise((resolve, reject) => {\n return dispatch(createAction(action, isShow())).then(\n () => {\n resolve();\n // setInProcess(false);\n },\n error => {\n // setInProcess(false);\n }\n );\n });\n };\n\n\n if (!isShow() !== isActiveElement) return null;\n\n return (\n
handleClick()}>\n
\n \n \n \n
\n
{text}
\n
\n );\n};\n\nexport const ListItemsControl = ({ control, model, models }) => {\n const { items } = control;\n const [isActiveElement, setIsActiveElement] = useState(false);\n\n const handleOnClick = (id) => {\n setIsActiveElement(!isActiveElement);\n };\n\n return (\n
\n {items.map((item) => (\n \n ))}\n
\n );\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport './index.scss';\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst FullScreenConfirmDialog = ({\n handleOnCancel,\n labelText,\n useWrapperClass,\n useBtnConfirmClass,\n showCloseButton,\n useBtnCancelClass,\n data,\n handleOnConfirm,\n minWidth,\n t,\n description,\n hideConfirm,\n }) => {\n const modalRoot = document.getElementById('modal-root-confirm');\n\n if (!modalRoot) return null;\n\n return ReactDOM.createPortal(\n
\n
\n\n {showCloseButton &&
{t('basic.CLOSE')}
}\n {labelText && {labelText}}\n {description && {description}}\n
\n {!hideConfirm && (\n \n )}\n \n
\n
\n
,\n modalRoot\n );\n};\n\nexport default FullScreenConfirmDialog;\n","import React, { useRef } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n actionResetTooltipData,\n actionUpdateTooltipData,\n} from '../../../store/reducers/tooltipPortal/tooltipPortal-actions';\nimport { columnIsRequired } from '../../../services/filter';\n\nimport NumberInput from '../NumberInput';\nimport ColumnTitleWithIcon from '../ColumnTitleWithIcon';\nimport { getTranslateTitle } from '../../../utils/objects-util.js';\nimport { getRestaurantConfigPropValue } from '../../../services/restaurant.js';\nimport i18n from 'i18next';\n\nconst getColumnTitle = (isUSMetric, column) => {\n const metric = isUSMetric ? '_US' : '';\n return i18n.exists(column.title + metric) ? column.title + metric : column.title\n}\n\nconst SectionItemNumber = ({ t, column, item, value, onPropChange, updateTooltipData, resetTooltipData }) => {\n const isUSMetric = getRestaurantConfigPropValue('uSBasedMetricSystem');\n const hoverRef = useRef();\n const measure = getTranslateTitle(column.measure)\n\n return (\n \n \n \n !!column.tooltipText &&\n updateTooltipData({ tooltipText: column.tooltipText, ref: hoverRef.current })\n }\n onMouseLeave={e => !!column.tooltipText && resetTooltipData({ event: e, context: this })}\n >\n onPropChange({ [column.accessor]: val })}\n />\n {measure &&
{measure}
}\n
\n
\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: data => dispatch(actionResetTooltipData(data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(SectionItemNumber));\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { getFullName } from '../../../services/userModel';\n\nimport FormInfoDataItem from '../FormInfoDataItem';\n\nconst CustomersListItem = ({ value, active, onSelect }) => {\n const { t } = useTranslation();\n\n const handleOnSelectCustomer = e => {\n if (e) e.stopPropagation();\n value && onSelect && onSelect(value.consumerId);\n };\n\n return (\n
\n
\n
{getFullName(value)}
\n
\n
\n \n \n
\n
\n );\n};\n\nexport default CustomersListItem;\n","import { connect } from 'react-redux';\nimport { withTranslation } from 'react-i18next';\n\nimport CouriersShiftPopup from '../../components/CouriersShiftPopup';\n\nconst mapStateToProps = state => {\n return {\n selectedControlCenter: state.restaurant?.data?.selectedControlCenter,\n orders: state.order.data.orders || [],\n pickUps: state.order.data.pickUps || [],\n activeControlCenter: state.restaurant?.data?.activeControlCenter?.controlCenterId\n };\n};\nexport default connect(mapStateToProps)(withTranslation()(CouriersShiftPopup));\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport CouriersShiftPopup from '../../containers/CouriersShiftPopupContainer/index.js';\nimport { getFullName } from '../../../services/userModel.js';\nimport ColumnTitleWithIcon from '../ColumnTitleWithIcon/index.js';\nimport { POPUP_ITEM_TYPE, USER_FILTER_ROLES } from '../../../utils/enums.js';\nimport { useLocation } from 'react-router';\nimport { getHistoryLocationParams } from '../../../utils/routesHelper.js';\n\nconst UsersPopup = ({\n column,\n item,\n error,\n onPropChange,\n itemType,\n roles,\n option,\n optionKey,\n onOptionChange,\n controlCenterOption,\n isClearUser = false,\n}) => {\n const location = useLocation();\n const { id: controlCenterId } = getHistoryLocationParams(location.search)\n\n const [isOpenPopup, setIsOpenPopup] = useState(false);\n const [userName, setUserName] = useState('');\n\n const handleUserClick = user => {\n setUserName(getFullName(user));\n setIsOpenPopup(false);\n\n if (optionKey) {\n onOptionChange(optionKey, 'selected', user.userId);\n } else {\n onPropChange({ userId: user.userId });\n }\n };\n\n const clearUser = () => {\n setUserName('');\n setIsOpenPopup(false);\n\n if (optionKey) {\n onOptionChange(optionKey, 'selected', null);\n } else {\n onPropChange({ userId: null });\n }\n };\n\n const getRoleByItemType = () => {\n //should always return array\n switch (itemType || column.popupItemType) {\n case POPUP_ITEM_TYPE.managerItem:\n return [USER_FILTER_ROLES.deliveryManager];\n default:\n return null;\n }\n };\n\n return (\n
\n
\n {item && }\n {option &&
{option?.label || ''}
}\n \n setIsOpenPopup(true)}\n type='text'\n className={classNames('overflowHiddenText', { hasError: column?.hasError && column?.hasError(error) })}\n placeholder={column?.placeholder || ''}\n value={userName || ''}\n readOnly={true}\n />\n
\n x\n
\n \n
\n {isOpenPopup && (\n setIsOpenPopup(false)}\n />\n )}\n
\n );\n};\nexport default UsersPopup;\n","import React from 'react';\nimport \"./index.scss\";\nimport i18n from 'i18next';\nimport { isRTL } from '../../../services/userModel.js';\n\nconst SectionInfoTitle = ({ sectionModel, styles, infoTitleRef }) => {\n if(!sectionModel?.label) return null\n\n const label = sectionModel.label\n const translateInfoTitle = i18n.exists(label + '_INFO_TITLE') ? i18n.t(label + '_INFO_TITLE') : ''\n\n if(!translateInfoTitle) return null\n\n return (\n
\n

{translateInfoTitle}

\n
\n );\n};\n\nexport default SectionInfoTitle;","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nconst AmountControl = ({ value }) => {\n return (
{value || 0}
);\n}\n\nexport default AmountControl;","import React from 'react';\nimport { connect } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { saveAs } from 'file-saver';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport { getCustomersReport } from '../../../api/customer-requests';\n\nimport { fileFromRequestResult } from '../../../utils/objects-util';\nimport { getErrorMessage, requestResultIsOk } from '../../../utils/request-util';\n\nimport SearchBox from '../SearchBox';\nimport IconButton from '../IconButton';\nimport AmountControl from '../AmountControl';\nimport Waiter from \"../Waiter/Waiter.jsx\";\nimport {WAITER_TYPES} from \"../../../utils/enums.js\";\n\nconst CustomersListHeader = ({ filter, onSetFilter, customers, withLabel = true, withExelIcon = true, addIcon = false, onClickAdd }) => {\n const { t } = useTranslation();\n\n const handleOnSearch = search => {\n onSetFilter({ ...filter, search });\n };\n\n const handleOnReportSave = () => {\n return new Promise((resolve, reject) => {\n getCustomersReport(filter).then(\n requestResult => {\n if (requestResultIsOk(requestResult)) {\n const dataBlob = fileFromRequestResult(requestResult);\n if (dataBlob && dataBlob.file && dataBlob.fileName) {\n saveAs(new Blob([dataBlob.file], { type: dataBlob.contentType }), dataBlob.fileName);\n resolve();\n } else {\n reject(\"Can't convert file\");\n }\n } else {\n reject(getErrorMessage(requestResult));\n }\n },\n err => reject(err)\n );\n });\n };\n\n return (\n
\n {withLabel && (\n
\n {addIcon ? (\n
\n \n
\n ):
}\n\n \n {t('customers.LABEL')}\n \n\n \n
\n )}\n
\n
\n \n
\n {withExelIcon && (\n
\n \n
\n )}\n
\n
\n );\n};\n\nconst mapStateToProps = state => ({\n customers: state.customer.customers || [],\n});\n\nexport default connect(mapStateToProps)(CustomersListHeader);\n","import React from 'react';\nimport DropdownMultiSelect from '../DropdownMultiSelect/index.js';\nimport './style.scss';\nimport { useSelector } from 'react-redux';\nimport classNames from 'classnames';\n\nconst SectionItemMultiselect = ({ optionKey, option, onOptionChange }) => {\n const rootState = useSelector(state => state);\n const items = (option.mappingLambda ? option.mappingLambda(rootState) : option.items) || [];\n\n return (\n
\n
{option.label || ''}
\n onOptionChange(optionKey, 'selected', item)}\n placeholderEmpty={option.label || ''}\n placeholderMulti={option.label || ''}\n />\n
\n );\n};\n\nexport default SectionItemMultiselect;\n","import React, { useState, useRef } from \"react\";\nimport Modal from \"react-modal\";\nimport { toast } from \"react-toastify\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { DEFAULT_ORDERS_GROUPS, CYCLE_STATE, ORDER_STATE, WAITER_TYPES } from \"../../../utils/enums\";\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\n\nimport { getUserByOrder } from \"../../../services/userModel\";\nimport { isAutoMode } from \"../../../services/restaurant\";\n\nimport { CHANGE_ORDER_STATE } from \"../../../store/reducers/order/order-actions\";\n\nimport Waiter from \"../Waiter/Waiter\";\nimport AssociatePopup from \"../../containers/AssociatePopupContainer\";\n\nconst OrderStateControl = ({\n t, \n order, courier, associateMode, hideAssociate, isHideDeliveryAction,\n restaurant, users,\n onConfirm,\n changeOrderState\n}) => {\n const targetRef = useRef();\n const [controlCenterId, setControlCenterId] = useState(null);\n const [isOpenAssociatePopup, setIsOpenAssociatePopup] = useState(false);\n\n const isShowOrderStateControl = () => {\n return (order && order.groupId !== DEFAULT_ORDERS_GROUPS.assistance);\n }\n\n const isShowAssociate = () => {\n return (order && !getAutoMode() && !order.type && isShowAssociateCourier() && !hideAssociate);\n }\n\n const getAutoMode = () => {\n return isAutoMode(restaurant);\n };\n\n const isCourierStarted = () => {\n const userModel = getUserByOrder(users, order);\n return userModel && (userModel.cycle && userModel.cycle.state > CYCLE_STATE.started && userModel.cycle.state < CYCLE_STATE.comingBack);\n }\n\n const isShowAssociateCourier = () => {\n if (!order) return false; \n const userModel = getUserByOrder(users, order);\n return !userModel || userModel.state === CYCLE_STATE.started || userModel.state === CYCLE_STATE.away;\n };\n\n const isShowKitchen = () => {\n return order && order.state === ORDER_STATE.new && (getAutoMode() || hideAssociate || order.type);\n }\n\n const isShowDelivery = () => {\n return order && order.state === ORDER_STATE.kitchen && (getAutoMode() || hideAssociate || order.type);\n }\n\n const isShowReady = () => {\n return (order &&\n ((order.state === ORDER_STATE.ready && !isCourierStarted()) || order.state === ORDER_STATE.delivered || order.state === ORDER_STATE.canceled) &&\n !order.type && (getAutoMode() || !isShowAssociateCourier() || hideAssociate)\n );\n }\n\n const isShowDelivered = () => {\n return !isHideDeliveryAction && (\n order && !order.type &&\n ((order.state === ORDER_STATE.onroute || order.state === ORDER_STATE.ready) && isCourierStarted())\n );\n }\n\n const isShowPickedUp = () => {\n return order && order.state === ORDER_STATE.ready && order.type;\n }\n\n const handleOnAssociateConfirm = (courierId, isExternalType, provider, isExternalAssignment) => {\n return new Promise((resolve, reject)=> {\n if(onConfirm) {\n onConfirm(courierId, isExternalType, provider, isExternalAssignment)\n .then(()=> {\n return handleOnClose();\n }, (err)=> {\n handleOnClose().then(()=> reject(err), ()=> reject(err));\n });\n } else {\n return handleOnClose();\n }\n });\n }\n\n const handleOnClose = () => {\n return new Promise((resolve, reject)=> {\n if(targetRef && targetRef.current) {\n setIsOpenAssociatePopup(false);\n }\n resolve();\n });\n }\n\n const handleAssociatePopupOpen = (e, controlCenterId) => {\n if(e) e.stopPropagation();\n\n return new Promise(resolve=> {\n resolve();\n setControlCenterId(controlCenterId);\n Modal.setAppElement(\"#modal-root\"); \n setIsOpenAssociatePopup(true);\n }); \n }\n\n const handleOnChangeOrderState = state => {\n return new Promise((resolve, reject)=> {\n changeOrderState({ order, state }).then(()=> {\n resolve();\n }, error=> {\n reject(error || \"Error\");\n toast.error(error || \"Error\");\n })\n });\n }\n\n const getButtonConfig = () => {\n let config = {};\n if(isShowAssociate() && (order || {}).state > 1) {\n config = {\n type: WAITER_TYPES.buttonDiv,\n useClass: classNames(\"associate\"),\n useIcon: classNames(\"associate-img\"),\n tooltipText: t(\"dashboard.orders.ASSOCIATE_BUTTON\"),\n handleOnClick: handleAssociatePopupOpen\n }\n }\n\n if(isShowAssociate() && order.state <= 1) {\n config = {\n type: WAITER_TYPES.buttonDiv,\n useClass: classNames(\"associate-grey\"),\n useIcon: classNames(\"associate-img\"),\n tooltipText: t(\"dashboard.orders.ASSOCIATE_BUTTON\"),\n handleOnClick: handleAssociatePopupOpen\n }\n }\n\n if(isShowKitchen()) {\n config = {\n type: WAITER_TYPES.buttonSvg,\n useClass: classNames(\"associate\"),\n useSvg: \"#icon-pan\",\n tooltipText: t(\"dashboard.orders.KITCHEN_BUTTON\"),\n stopPropagation: true,\n handleOnClick: () => handleOnChangeOrderState(ORDER_STATE.kitchen)\n }\n }\n\n if(isShowDelivery()) {\n config = {\n type: WAITER_TYPES.buttonSvg,\n useClass: classNames(\"associate\"),\n useSvg: \"#icon-bag\",\n tooltipText: t(\"dashboard.orders.DELIVERY_BUTTON\"),\n stopPropagation: true,\n handleOnClick: () => handleOnChangeOrderState(ORDER_STATE.ready)\n } \n }\n\n if(isShowReady()) {\n config = {\n type: WAITER_TYPES.buttonSvg,\n useClass: classNames(\"associate\", \"ready\"),\n useSvg: \"#icon-check\",\n tooltipText: t(\"dashboard.orders.READY_LABEL\"),\n stopPropagation: true,\n handleOnClick: defaultPromiseResolve\n } \n }\n\n if(isShowDelivered()) {\n config = {\n type: WAITER_TYPES.buttonDiv,\n useClass: classNames(\"delivered\"),\n useIcon: classNames(\"action-icon\", \"delivered-action-icon\"),\n tooltipText: t(\"dashboard.orders.DELIVERED_BUTTON\"),\n handleOnClick: () => handleOnChangeOrderState(ORDER_STATE.delivered)\n }\n }\n\n if(isShowPickedUp()) {\n config = {\n type: WAITER_TYPES.buttonSvg,\n useClass: classNames(\"pickedup\"),\n useSvg: \"#icon-arrow-top\",\n stopPropagation: true,\n handleOnClick: () => handleOnChangeOrderState(ORDER_STATE.delivered)\n } \n }\n\n return config;\n }\n\n const config = getButtonConfig();\n\n return (\n
e.stopPropagation()}\n >\n {!!order && ( config.handleOnClick(e, order.controlCenterId)}\n />)}\n {isOpenAssociatePopup && targetRef && targetRef.current && (\n \n )}\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n users: state.userModel.data || [],\n restaurant: state.restaurant.data\n };\n};\n\nconst mapDispatchToProps = dispatch => ({\n changeOrderState: data => dispatch(createAction(CHANGE_ORDER_STATE, data))\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(OrderStateControl));","import React, { useRef } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { useOnClickOutside } from \"../../../services/hooks\";\n\nconst CourierInfoControl = ({ \n t, \n value, \n component, \n isShowCancel = true,\n onClose, onCancel \n}) => {\n const targetRef = useRef();\n const { phone, ext } = value || {};\n\n const handleOnCancelClick = () => onCancel && onCancel();\n\n const handleOnClose = () => onClose && onClose();\n\n useOnClickOutside(targetRef, () => handleOnClose());\n\n return (\n
\n
\n {!!component && component}\n {phone && !component && (\n
\n
{t(\"externalCycles.DRIVER_INFO_PHONE_LABEL\")}:
\n
\n {phone}\n {ext && (\n
{t(\"externalCycles.DRIVER_INFO_EXT_LABEL\")}: {ext}
\n )}\n
\n
\n )}\n
\n
\n {!component && (\n \n {t(\"dialogs.couriers.CALL_COURIER_LABEL\")}\n \n )}\n {isShowCancel && (\n \n )}\n \n
\n
\n );\n}\n\nexport default withTranslation()(CourierInfoControl);","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport classnames from \"classnames\";\nimport \"./index.scss\";\n\nimport User from \"../../../services/user\";\nimport { getStaticTime } from \"../../../utils/convertTime\";\nimport { DELIVERY_STRATEGY } from \"../../../utils/enums\";\n\nimport IconButton from \"../IconButton\";\nimport TimeBox from \"../TimeBox/TimeBox\";\n\nconst TimeAsap = ({ value, isWithIcon = false }) => {\n const { t } = useTranslation();\n \n if(!value || value.deliveryStrategy !== DELIVERY_STRATEGY.asap) \n return (
);\n\n const alwaysShowOrderTargetTime = User.instance.getCurrentUserConfigurationProp(\"alwaysShowOrderTargetTime\");\n return (\n
\n {isWithIcon && (\n \n )}\n {alwaysShowOrderTargetTime && getStaticTime(value.targetTime, false, true)}\n {!alwaysShowOrderTargetTime && ()}\n
\n );\n}\n\nexport default TimeAsap;","import React, {useEffect, useState} from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getIsShowReadinessTime } from \"../../../services/order\";\nimport { ORDER_STATE } from \"../../../utils/enums\";\nimport { isAfterDateByCurrent, isSameDateByCurrent } from \"../../../utils/convertTime\";\n\nimport TimeBox from \"../TimeBox/TimeBox\";\nimport IconButton from \"../IconButton\";\n\nconst ReadinessTimeInfo = ({ t, value, isComa, withIcon, smallText }) => {\n const [iconName, setIconName] = useState('');\n const [title, setTitle] = useState('');\n useEffect(() => {\n setIconName(() => value.state === ORDER_STATE.ready || isAfterDateByCurrent(value.readinessTime) ? \"readinessTimeRed\" : \"readinessTime\");\n }, [value.readinessTime, value.state]);\n\n const getTitle = (relativeTime) => {\n let title = `${isComa ? \", \": \"\"}`;\n if(value.state === ORDER_STATE.ready) {\n if(isSameDateByCurrent(value && value.readinessTime)) { \n title += (relativeTime || \"\").toString().includes(t(\"covertTime.JUST_NOW_LABEL\"))\n ? `${t(\"orders.WAS_READY_LABEL\")} `\n : `${t(\"orders.READY_LABEL\")} `;\n } else if(isAfterDateByCurrent(value && value.readinessTime)) {\n title += `${t(\"orders.WAS_READY_LABEL\")} `;\n } else {\n title += t(\"orders.READY_IN\");\n } \n } else {\n title += t(\"orders.READY_IN\");\n }\n\n return title;\n }\n\n const onUpdate = () => {\n let icon = '';\n if(value.state === ORDER_STATE.ready || isAfterDateByCurrent(value.readinessTime) || isSameDateByCurrent(value.readinessTime)) {\n icon = \"readinessTimeRed\";\n } else {\n icon = \"readinessTime\";\n }\n\n if(icon !== iconName) {\n setIconName(icon);\n }\n\n const newTitle = getTitle();\n if(title !== newTitle) {\n setTitle(getTitle());\n }\n }\n\n const isShow = value && getIsShowReadinessTime(value);\n return (\n
\n {isShow && (\n <>\n {withIcon && (\n
\n \n\n \n
\n\n )}\n {!withIcon && (\n \n )}\n \n )}\n
\n );\n}\n\nexport default withTranslation()(ReadinessTimeInfo);\n","export const UPDATE_PORTAL_MAP_DATA = \"UPDATE_PORTAL_MAP_DATA\";\n\nexport function actionUpdatePortalMapData(data) {\n return { type: UPDATE_PORTAL_MAP_DATA, data };\n}\n","export { default } from \"./NumberInput\";","import React from \"react\";\nimport IconButton from \"../IconButton\";\nimport \"./style.scss\";\nimport TimeBox from \"../TimeBox/TimeBox\";\nimport {isAfterDateByCurrent} from \"../../../utils/convertTime\";\n\nconst TimeInfoETA = ({ date, abt, isComa, icon, tooltip, nonRelative, title, onClick }) => {\n const handleOnClick = () => {\n return new Promise(resolve=> {\n resolve();\n onClick && onClick();\n });\n }\n\n return nonRelative ? (\n
\n {icon && ()}\n {date && !isAfterDateByCurrent(date) && abt && (\"~\")}\n {!isAfterDateByCurrent(date) && (\n \n )}\n {isAfterDateByCurrent(date) && ({title})}\n {isComa && \",\"}\n
\n ) : !isAfterDateByCurrent(date) && (\n
\n {icon && ()}\n {date && abt && (\"~\")}\n \n {isComa && \",\"}\n
\n );\n}\n\nexport default TimeInfoETA;\n","export { default } from \"./ExternalCycleDriverInfo\";","import classNames from \"classnames\";\nimport {\n ACCOUNT_ORDER_STATUS,\n EXTERNAL_COURIER_PROVIDER,\n getCurrencyIcons,\n PAY_METHOD,\n SOURCE_TYPE\n} from \"../../../utils/enums\";\nimport React from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport IconButton from \"../IconButton/IconButton\";\nimport {defaultPromiseResolve} from \"../../../utils/objects-util\";\nimport './style.scss';\n\nexport default ({paymentBalance, payments, refunds, currency, openRefundsById, source, onRefund, hideRefunds, onCapture, status, hideCapture, disableCapture, showDiscardPayment, cancelPaymentIds, onDiscardPayment}) => {\n const {t} = useTranslation();\n const PaymentData = ({payment}) => {\n const { t } = useTranslation();\n const getSettings = () => {\n switch (payment.paymethod_id) {\n case PAY_METHOD.creditCard:\n if(payment.is_3ds) {\n return { icon: \"i3dsCard\", tooltip: \"assistance.3DS_CARD\" };\n }\n if(payment.is_apple_pay) {\n return { icon: \"applePayCard\", tooltip: \"assistance.APPLE_PAY_CARD\" };\n }\n if(payment.is_google_pay) {\n return { icon: \"googlePayCard\", tooltip: \"assistance.GOOGLE_PAY_CARD\" };\n }\n if(payment.provider === EXTERNAL_COURIER_PROVIDER.external) {\n return { icon: \"terminal\", tooltip: \"edit-customer-order.EXTERNAL_PROVIDER\" };\n }\n return { icon: \"creditCard\", tooltip: \"assistance.PAYMENT_CARD\" };\n case PAY_METHOD.cash:\n return { icon: \"cash\", tooltip: \"assistance.PAYMENT_CASH\" };\n case PAY_METHOD.bonus:\n if(payment.reference_Id) {\n return { icon: \"voucher\", tooltip: \"assistance.PAYMENT_VOUCHER\" };\n }\n return { icon: \"bonus\", tooltip: \"assistance.PAYMENT_BONUS\" };\n case PAY_METHOD.discount:\n return { icon: \"discount\", tooltip: \"assistance.PAYMENT_DISCOUNT\" };\n default:\n return {};\n }\n }\n\n const settings = getSettings();\n return \n }\n\n const isRefundActive = (payment) => {\n const isCard = payment.provider !== EXTERNAL_COURIER_PROVIDER.external && PAY_METHOD.creditCard === payment.paymethod_id && payment.refund_remainder > 0;\n const isExternal = payment.provider === EXTERNAL_COURIER_PROVIDER.external && PAY_METHOD.creditCard === payment.paymethod_id;\n const isBonus = payment.paymethod_id === PAY_METHOD.bonus && !payment.reference_Id;\n const isCash = PAY_METHOD.cash === payment.paymethod_id;\n return (isBonus || isCash || isCard || isExternal) && status >= ACCOUNT_ORDER_STATUS.accepted;\n };\n\n const isCaptureActive = (payment) => {\n return (\n payment.captured_price === 0\n && status !== ACCOUNT_ORDER_STATUS.pending\n && payment.paymethod_id === PAY_METHOD.creditCard\n && [SOURCE_TYPE.app, SOURCE_TYPE.admin].includes(source)\n );\n }\n\n const getRefundsQuantity = paymentId => {\n return (refunds || []).filter(r => r.payment_id === paymentId).length;\n }\n\n return (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS\")}
\n {!!paymentBalance && (\n
\n
{t(\"uilib.summary.PAYMENT_BALANCE\")}:
\n
\n {paymentBalance} {getCurrencyIcons(currency)}\n
\n
\n )}\n {(payments || []).map((payment, index) => (\n
\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_TYPE\")}
\n
\n \n
\n
\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_AMOUNT\")}
\n
{payment.price} {getCurrencyIcons(currency)}
\n
\n {payment.paymethod_id === PAY_METHOD.creditCard && payment.provider !== EXTERNAL_COURIER_PROVIDER.external && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS_CARD_MASK\")}
\n
{payment.card_mask}
\n
\n )}\n {payment.paymethod_id === PAY_METHOD.creditCard && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS_CARD_TYPE\")}
\n
{(payment.provider === EXTERNAL_COURIER_PROVIDER.external ? t(\"edit-customer-order.EXTERNAL_PROVIDER\") : payment.card_type) || \"-\"}
\n
\n )}\n {payment.paymethod_id === PAY_METHOD.creditCard && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS_CARD_CAPTURED_PRICE\")}
\n
{payment.captured_price}
\n
\n )}\n {payment.captured_bonus > 0 && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS_CARD_CAPTURED_BONUS\")}
\n
{payment.captured_bonus}
\n
\n )}\n {([PAY_METHOD.voucher].includes(payment.paymethod_id) || (payment.paymethod_id === PAY_METHOD.creditCard && payment.provider !== EXTERNAL_COURIER_PROVIDER.external)) && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_REFUND_REMAINDER\")}
\n
{payment.refund_remainder}
\n
\n )}\n {!hideRefunds && (\n
\n {!!getRefundsQuantity(payment.id) && (\n
openRefundsById(payment.id)}>\n {t(\"admin-orders.SEE_REFUNDS\")}\n {getRefundsQuantity(payment.id)}\n
\n )}\n\n \n
\n )}\n {!hideCapture && (\n
\n \n
\n )}\n {showDiscardPayment && payment.paymethod_id === PAY_METHOD.cash && (\n
\n \n
\n )}\n
\n ))}\n
\n )\n}\n","export { default } from \"./PendingOrdersInfoData\";","import React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { toast } from \"react-toastify\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ADMIN_ORDER_REFUND } from \"../../../store/reducers/order/order-actions\";\nimport { getInitModel } from \"../../../services/initModels\";\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport {\n getReshipmentTypes,\n MODEL_TYPE,\n getRefoundChannelType,\n REFOUND_CHANNEL_TYPE, getRefoundBonusChannelType,\n} from \"../../../utils/enums\";\n\nimport LayoutHeaderControls from \"../LayoutHeaderControls\";\nimport OnOffSwitch from \"../OnOffSwitch\";\nimport Dropdown from \"../Dropdown\";\nimport {currentUserIsDepotRole} from \"../../../services/userModel.js\";\n\nconst RefundOrder = ({ t, id, maxAmount, onClose, refundOrder, paymentId, bonusRefund }) => {\n const minAmount = 0.01;\n const [refundType, setRefundType] = useState(getReshipmentTypes(currentUserIsDepotRole())[0]);\n const [refundChannel, setRefundChannel] = useState(\n bonusRefund ? getRefoundBonusChannelType()[0]: getRefoundChannelType()[0]\n );\n const [data, setData] = useState(getInitModel(MODEL_TYPE.refundModel, { id, paymentId }));\n\n const handleOnSave = () => {\n return new Promise((resolve, reject)=> {\n const body = {...data, refund_channel: refundChannel.key, refund_type: refundType.key}\n refundOrder(body).then(()=> {\n resolve();\n onClose();\n }, error=> {\n reject(error);\n toast(error);\n });\n });\n }\n\n const handleOnChange = (prop, value) => {\n setData({ ...data, [prop]: value });\n }\n\n const handleOnAmountChange = e => {\n const num = e.target.value;\n handleOnChange(\"amount\", Number(parseFloat(num).toFixed(2)));\n }\n\n const isDisabled = () => {\n if(refundChannel.key === REFOUND_CHANNEL_TYPE.creditCard){\n return !(minAmount <= parseFloat(data.amount) && parseFloat(data.amount) <= parseFloat(maxAmount));\n } else {\n return false;\n }\n }\n\n const handleOnSelectRefundType = val => {\n setRefundType(val);\n setData({ ...data, refund_type: val.key });\n }\n\n const handleOnSelectRefundChannel = val => {\n setRefundChannel(val);\n setData({...data, refund_channel: val.key, partial: val === REFOUND_CHANNEL_TYPE.loyalty ? false : data.partial });\n }\n\n return (\n
\n
\n
\n
{t(\"admin-orders.REFUND_TYPE_REASON\")}
\n \n
\n
\n
{t(\"admin-orders.RESTAURANT_REFOUND_CHANNEL\")}
\n \n
\n {refundChannel && refundChannel.key === REFOUND_CHANNEL_TYPE.creditCard && (\n
\n
{t(\"admin-orders.REFUND_ORDER_PARTIAL_LABEL\")}
\n handleOnChange(\"partial\", !data.partial)}\n />\n
\n )}\n {refundChannel && refundChannel.key === REFOUND_CHANNEL_TYPE.creditCard && data.partial && (\n
\n
{t(\"admin-orders.REFUND_ORDER_MAX_AMOUNT_LABEL\")} {maxAmount}
\n {minAmount >= maxAmount && ({t(\"admin-orders.CANT_DO_REFUND\")})}\n = maxAmount})} type=\"number\"\n value={data.amount} step=\"0.1\" onChange={handleOnAmountChange} />\n
\n )}\n {refundChannel && refundChannel.key === REFOUND_CHANNEL_TYPE.loyalty && (\n
\n
{t(\"admin-orders.REFUND_ORDER_AMOUNT_LABEL\")}
\n \n
\n )}\n
\n
{t(\"admin-orders.REFUND_ORDER_NOTE_LABEL\")}
\n \n
\n
\n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n refundOrder: data=> dispatch(createAction(ADMIN_ORDER_REFUND, data)) \n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(RefundOrder));\n","import React, { useEffect, useState } from 'react';\nimport { createAction } from \"../../../utils/sagaHelper\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { toast } from \"react-toastify\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ADMIN_ORDER_CANCEL } from \"../../../store/reducers/order/order-actions\";\nimport { MODEL_TYPE } from \"../../../utils/enums\";\nimport { getInitModel } from \"../../../services/initModels\";\n\nimport LayoutHeaderControls from \"../LayoutHeaderControls\";\n\nconst CancelAdminOrder = ({ t, id, cancelOrder, onClose, onConfirm }) => {\n const [data, setData] = useState(getInitModel(MODEL_TYPE.cancelOrderModel, { id }));\n\n useEffect(() => {\n setData(getInitModel(MODEL_TYPE.cancelOrderModel, { id }))\n }, [id])\n\n const handleOnSave = () => {\n return new Promise((resolve, reject)=> {\n const action = onConfirm || cancelOrder;\n action(data).then(()=> {\n setData(getInitModel(MODEL_TYPE.cancelOrderModel, { id }));\n resolve();\n onClose();\n }, error=> {\n toast(error);\n reject(error); \n });\n });\n }\n\n return (\n
\n
\n
\n
{t(\"admin-orders.REFUND_ORDER_NOTE_LABEL\")}
\n \n
\n
\n\n \n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n cancelOrder: data=> dispatch(createAction(ADMIN_ORDER_CANCEL, data)) \n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(CancelAdminOrder));\n","import { createContext, createRef } from \"react\";\n\nexport const PortalMapContext = createContext({\n mapRef: createRef()\n});\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { createPortal } from \"react-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { actionGlobalPopupMessageInit } from \"../../../store/reducers/globalPopupMessage/globalPopupMessage-actions\";\n\nimport { ModalPopup } from \"../ModalPopup/ModalPopup\";\nimport classnames from \"classnames\";\nimport {isRTL} from \"../../../services/userModel.js\";\n\nconst GlobalPopupMessage = ({ t, isShow, isLink, title, message, onClose, onConfirm }) => (\n
\n {isShow && (\n \n
\n {!!title && (
{title}
)}\n
\n {isLink && ({message})}\n {!isLink && ({message})}\n
\n
\n
\n {onConfirm && (\n \n )}\n \n
\n
\n }\n onClose={onClose}\n />\n )}\n
\n);\n\nconst GlobalPopupMessagePortal = ({ t, isShow, isLink, title, message, onPopupMessageClose, globalPopupMessageInit, onPopupConfirm }) => {\n const handleOnClose = () => {\n if(onPopupMessageClose) {\n onPopupMessageClose();\n } else {\n globalPopupMessageInit();\n }\n }\n return createPortal(\n ,\n document.getElementById(\"globalMessage-container\")\n );\n}\n\nconst mapStateToProps = state => ({\n isShow: state.globalPopupMessage.isShow,\n isLink: state.globalPopupMessage.isLink,\n message: state.globalPopupMessage.message,\n title: state.globalPopupMessage.title,\n onPopupMessageClose: state.globalPopupMessage.onClose,\n onPopupConfirm: state.globalPopupMessage.onConfirm,\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n globalPopupMessageInit: () => dispatch(actionGlobalPopupMessageInit())\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(GlobalPopupMessagePortal));","export const nullOrEmpty = (value) => {\n return value === null || value === \"\";\n}\n\nexport const getCountOfErrorInBulkCustomers = (table) => {\n return table.reduce((acc, cv) => {\n if (!cv.phone_valid.is_valid) {\n acc++;\n }\n if(!cv.datetime.is_valid) {\n acc++;\n }\n if(!cv.address_valid.is_valid) {\n acc++;\n }\n return acc;\n }, 0);\n}","import React, {useState} from \"react\";\nimport {connect} from \"react-redux\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {ADMIN_ORDER_DELIVERED} from \"../../../store/reducers/order/order-actions\";\nimport {\n ACCOUNT_ORDER_STATUS,\n DELIVERY_TYPE,\n isMarketplaceOrder,\n isValidForRepeat,\n USER_FILTER_ROLES\n} from \"../../../utils/enums\";\nimport {createAction} from \"../../../utils/sagaHelper\";\n\nimport PaginationControl from \"../PaginationControl\";\nimport ConfirmDialog from \"../ConfirmDialog\";\nimport FullScreenConfirmDialog from \"../FullScreenConfirmDialog/index.js\";\n\nconst AdminOrderInfoFooter = ({\n t,\n order, isHidePagination,\n onClickPrevious, onClickNext, onReshipment, onRefund, onCancelOrder,\n setOrderDelivered, setEditOrder, onRepeatOrder\n}) => {\n const [confirmOpen, setConfirmOpen] = useState(false);\n const [isOpenDeliveryConfirm, setIsOpenDeliveryConfirm] = useState(false);\n\n const isReshipmentActive = () => {\n if(order && order?.status_history[0] && order?.status_history[0]?.role === USER_FILTER_ROLES.depot && order.status === ACCOUNT_ORDER_STATUS.canceled) {\n return false;\n }\n return [\n ACCOUNT_ORDER_STATUS.finished,\n ACCOUNT_ORDER_STATUS.canceled\n ].includes(order.status) && order.delivery_type === DELIVERY_TYPE.delivery;\n };\n\n const handleOnConfirmDialog = () => {\n setConfirmOpen(false);\n setOrderDelivered({ id: order.id });\n }\n\n const handleOnCancel = () => {\n setConfirmOpen(false);\n }\n\n const handleOnDelivered = () => {\n if(order.payment_balance !== 0) {\n setIsOpenDeliveryConfirm(true);\n return;\n }\n if(!confirmOpen) {\n setConfirmOpen(true);\n }\n }\n\n return (\n
\n
\n \n \n \n \n \n
\n
\n {!isHidePagination && ()}\n
\n\n {isOpenDeliveryConfirm && (\n setEditOrder(order.id)}\n handleOnCancel={() => setIsOpenDeliveryConfirm(false)}\n />\n )}\n
\n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n setOrderDelivered: data=> dispatch(createAction(ADMIN_ORDER_DELIVERED, data))\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(AdminOrderInfoFooter));\n","import React from \"react\";\nimport {useTranslation, withTranslation} from \"react-i18next\";\nimport { withRouter } from \"react-router\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getDepotByBusinessId, getOrderMenuProductItems } from '../../../services/restaurant';\nimport {\n ORDERING_MENU_TYPE_SECTION_MODEL,\n RESHIPMENT_TYPE_VALUE,\n getCurrencyIcons,\n OFFER_DISCOUNT_TARGET,\n ORDER_DISCOUNT_TYPE,\n BASIC_PATH, SOURCE_TYPE,\n} from \"../../../utils/enums\";\nimport { DATE_TIME_FORMAT_DAYTIME, getFormattedDate } from \"../../../utils/convertTime\";\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\n\nimport IconButton from '../IconButton';\nimport AdminOrderInfoFooter from '../AdminOrderInfoFooter';\nimport { getConvertedCloudUrl } from '../../../utils/image-util';\nimport OrderMenuOption from '../OrderMenuOption';\nimport AdminOrderInfoPayments from \"../AdminOrderInfoPayments\";\nimport AdminOrderInfoStatus from \"../AdminOrderInfoStatus\";\nimport AdminOrderInfoRestaurant from \"../AdminOrderInfoRestaurant/index.js\";\nimport AdminOrderInfoClientAndDelivery from \"../AdminOrderInfoClientAndDelivery/index.js\";\nimport PendingOrdersInfoData from \"../PendingOrdersInfoData/index.js\";\nimport AdminOrderInfoGift from \"../AdminOrderInfoGift/index.js\";\n\nconst Product = ({t, product, order, currency}) => {\n return (\n
\n {product.image && (\n
\n \"img\"\n
\n )}\n
\n {product?.name} ({product?.price} {getCurrencyIcons(currency)})\n
\n
\n x{product.quantity}\n
\n
\n
\n {product.options.map((option, optionIndex)=> (\n \n ))} \n
\n
\n {product.ingredientsNames?.length > 0 && (
\n
\n {product.ingredientsNames.map((ingredient, ingredientIndex)=> (\n
\n \n {ingredient || t(\"pending-orders.PENDING_ORDER_EMPTY_INGREDIENT_LABEL\")} \n
\n ))}\n
\n
)}\n
\n {`${product.total} ${getCurrencyIcons(currency)}`}\n
\n
\n )\n}\n\nconst DiscountItem = ({discount, currency}) => {\n const {t} = useTranslation();\n const getName = () => {\n if(discount.discount_type === ORDER_DISCOUNT_TYPE.bonus) {\n return t(\"pending-orders.PENDING_ORDER_INFO_SUMMARY_BONUS\");\n }\n if(discount.offer_type === 2) {\n return t(\"pending-orders.PENDING_ORDER_INFO_SUMMARY_COUPON\");\n }\n return t(\"pending-orders.PENDING_ORDER_INFO_SUMMARY_DISCOUNT\");\n }\n return (\n \n \n {getName()}\n \n \n
\n {`${(discount.discount && `-`) || \"\"}${discount.discount} ${getCurrencyIcons(currency)}`}\n
\n
{discount.offer_name}
\n \n \n )\n}\n\nconst AdminOrderInfo = ({\n t, history,\n order, isHidePagination, territories,\n onClickPrevious, onClickNext, setEditOrder, onRepeatOrder, onReshipment, onRefund, openRefundsById, onCancelOrder, onSearchId, onCapture\n}) => {\n const handleOnDepotClick = () => {\n return new Promise(resolve=> {\n resolve();\n const depot = getDepotByBusinessId(order.business_id);\n history.push({\n pathname: ORDERING_MENU_TYPE_SECTION_MODEL.orderingBusinessMenu,\n search: `?id=${depot.id}&businessId=${(depot.business_id || depot.businessId)}`,\n state: { \n pathFrom: BASIC_PATH.adminOrders\n }\n });\n });\n }\n\n const handleOnSearchId = () => {\n return new Promise(resolve => {\n onSearchId();\n resolve();\n })\n }\n\n return (\n
\n
\n\n \n\n {order.gift_option && (\n \n )}\n\n \n\n \n\n \n\n {order.reshipments && order.reshipments.length > 0 && (\n
\n
{t(\"admin-orders.RESHIPMENT_INFO_LABEL\")}
\n
\n {(order.reshipments || []).map((reshipment, reshipmentIndex)=> {\n const reshipmentProducts = getOrderMenuProductItems(reshipment.products, order.businessInfo);\n return (\n <>\n
\n
\n
\n
{t(\"admin-orders.RESHIPMENT_INFO_DATE_LABEL\")}
\n
{getFormattedDate(reshipment.date, DATE_TIME_FORMAT_DAYTIME)}
\n
\n
\n
{t(\"admin-orders.RESHIPMENT_INFO_NOTES_LABEL\")}
\n
{reshipment.notes || \"-\"}
\n
\n
\n
{t(\"admin-orders.RESHIPMENT_TYPE_REASON\")}
\n
{t(RESHIPMENT_TYPE_VALUE[reshipment.reshipment_type])}
\n
\n
\n
\n
{t(\"admin-orders.RESHIPMENT_INFO_PRODUCTS_LABEL\")}
\n {reshipmentProducts.map((product, productIndex)=> (\n \n ))}\n
\n
\n
\n
{t(\"admin-orders.ORDER_SUMMARY_TOTAL_LABEL\")}
\n
{`${reshipment.full_price} ${getCurrencyIcons(order.currency)}`}
\n
\n \n );\n })}\n\n
\n
\n )}\n\n
\n
{t(\"admin-orders.ORDER_DETAILS_INFO_LABEL\")}
\n
\n \n
\n
\n\n
\n {!!order.cutlery && (\n
\n
\n {t(\"pending-orders.PENDING_ORDER_INFO_CUTLERY\")}\n
\n
\n {order.cutlery}\n
\n
\n )}\n
{t(\"admin-orders.ORDER_SUMMARY_LABEL\")}
\n
\n \n \n \n \n \n \n \n {!!order.discounts && order.discounts\n .filter(d => d.discount_target === OFFER_DISCOUNT_TARGET.products && d.discount_type === ORDER_DISCOUNT_TYPE.common)\n .map((discount) => )\n }\n {!!order.topup_to_minimum && (\n \n \n \n \n )}\n\t\t\t\t\t\t\t\t {!!order.deliveryPrice && (\n \n \n \n \n )}\n {!!order.service_fee && (\n \n \n \n \n )}\n {!!order.driver_tip && (\n \n \n \n \n )}\n {!!order.discounts && order.discounts\n .filter(d => d.discount_target === OFFER_DISCOUNT_TARGET.delivery)\n .map((discount) => )\n }\n {!!order.discounts && order.discounts\n .filter(d => d.discount_target === OFFER_DISCOUNT_TARGET.products && d.discount_type === ORDER_DISCOUNT_TYPE.bonus)\n .map((discount) => )\n }\n\t\t\t\t\t\t\t\t{!!order.captured_bonus && (\n \n \n \n \n )}\n {!!order.weight_adjustment_price_buffer && (\n \n \n \n \n )}\n \n
{t(\"admin-orders.ORDER_SUMMARY_AMOUNT_LABEL\")}\n {order.full_price} {getCurrencyIcons(order.currency)}\n
{t(\"admin-orders.ORDER_SUMMARY_TOPUP_TO_MINIMUM\")}{`${order.topup_to_minimum} ${getCurrencyIcons(order.currency)}`}
{t(\"admin-orders.ORDER_SUMMARY_DELIVERY_FEE_LABEL\")}{`\n ${order.deliveryPrice && Number(order.deliveryPrice.toFixed(2))} \n ${getCurrencyIcons(order.currency)}\n `}
{t(\"admin-orders.ORDER_SUMMARY_SERVICE_FEE_LABEL\")}{`${order.service_fee} ${getCurrencyIcons(order.currency)}`}
{t(\"admin-orders.ORDER_SUMMARY_DRIVER_TIP_LABEL\")}{`${order.driver_tip} ${getCurrencyIcons(order.currency)}`}
{t(\"admin-orders.ADMIN_ORDER_INFO_PAYMENTS_CARD_CAPTURED_BONUS\")}{`${order.captured_bonus} ${getCurrencyIcons(order.currency)}`}
\n {t(\"uilib.summary.WEIGHT_ADJUSTMENT\")}\n \n {`${order.weight_adjustment_price_buffer} ${getCurrencyIcons(order.currency)}`}
\n
\n
\n
{t(\"admin-orders.ORDER_SUMMARY_TOTAL_LABEL\")}
\n
{`${order.price} ${getCurrencyIcons(order.currency)}`}
\n
\n
\n
\n
\n
\n \n
\n );\n}\n\nexport default withRouter(withTranslation()(AdminOrderInfo));\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\nimport { getFormatRelativeTime } from \"../../../utils/convertTime\";\n\nconst TimeValidControl = ({ t, value /*sec*/, onFinish }) => { \n const [currentValue, setCurrentValue] = useState(0);\n const [baseValue, setBaseValue] = useState(0);\n const fullWidth = 140;\n\n const updateCurrentValue = useCallback(() => {\n if(currentValue) {\n setCurrentValue(currentValue - 1);\n } else {\n onFinish && onFinish();\n } \n }, [currentValue, onFinish]);\n\n useEffect(()=> {\n if(value !== baseValue) {\n setCurrentValue(value);\n setBaseValue(value);\n }\n\n const currentValueInterval = setInterval(updateCurrentValue, 1000);\n return () => {\n clearInterval(currentValueInterval);\n };\n }, [value, baseValue, updateCurrentValue]);\n\n return (\n
\n
\n {t(\"basic.VALID_FOR_LABEL\")}: {getFormatRelativeTime(currentValue * 1000, null, true)}\n
\n
\n {!!currentValue && (\n
\n )}\n
\n
\n );\n}\n\nexport default withTranslation()(TimeValidControl);","import React, { useEffect, useState, useRef } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getExternalCycleDriverPhone } from \"../../../api/user-requests\";\nimport { getExternalCycleDriverInfo } from \"../../../services/restaurant\";\nimport { useOnClickOutside } from \"../../../services/hooks\";\nimport { requestResultIsOk } from \"../../../utils/request-util\";\nimport { objectKeysToUpperLowerCase } from \"../../../utils/objects-util\";\n\nimport TimeValidControl from \"../TimeValidControl\";\n\nconst ExternalCycleDriverInfo = ({ t, id, externalCycles, isHideTimeValidCheck = false, onClose }) => {\n const targetRef = useRef();\n const [info, setInfo] = useState(null);\n const group = id && externalCycles.find(externalCycle=> externalCycle.id === id);\n\n useOnClickOutside(targetRef, () => {\n onClose && onClose();\n });\n\n useEffect(()=> {\n if(id) {\n getExternalCycleDriverPhone(id).then(requestResult=> {\n if(requestResultIsOk(requestResult, true)) {\n setInfo(objectKeysToUpperLowerCase(requestResult.data));\n }\n });\n } \n }, [id]);\n \n return (\n
\n
{getExternalCycleDriverInfo(group)}
\n {info && (\n
\n {info.phone}\n
{t(\"externalCycles.DRIVER_INFO_EXT_LABEL\")}: {info.ext}
\n
\n )}\n {info && !isHideTimeValidCheck && ()}\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n externalCycles: state.externalCycles.data || []\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(ExternalCycleDriverInfo));","import React from \"react\";\nimport './index.scss';\n\nexport const OrderOptionMenuComments = ({title, comment}) => {\n return (\n
\n
{title}
\n
\n
\n  {comment}\n
\n
\n
\n )\n}","import React from \"react\";\nimport {withTranslation} from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {getConvertedCloudUrl} from \"../../../utils/image-util\";\nimport {defaultPromiseResolve, formatNumber} from \"../../../utils/objects-util\";\nimport {getCurrencyIcons} from \"../../../utils/enums\";\n\nimport OrderMenuOption from \"../OrderMenuOption\";\nimport IconButton from \"../IconButton\";\nimport {OrderOptionMenuComments} from \"../OrderMenuOption/OrderOptionMenuComments\";\nimport {CounterButton} from \"delivapp-ordering\";\nimport {fixedNumber} from \"../../../utils/math-util.js\";\nimport { DebounceInput } from \"react-debounce-input\";\n\nconst PendingOrdersInfoData = ({\n t,\n item,\n order,\n isMobile,\n isEditable,\n handleOnQuantity,\n onDelete,\n onClickProduct,\n onChangeWeight,\n editableWeight,\n }) => {\n\n const getOrderWeight = product => {\n const { weight, buffer } = getWeightAnfBuffer(product);\n if(product.weighed) {\n return `${parseInt(weight - buffer)}-${parseInt(weight + buffer)} ${t('uilib.productConstructor.GR')}`;\n }\n return '';\n }\n\n const getWeightAnfBuffer = product => {\n const weight = fixedNumber(product.quantity * product.unit_weight, 2);\n const buffer = fixedNumber(weight * product.weight_range, 2);\n return { weight, buffer };\n }\n\n const checkValidWeight = product => {\n const { weight, buffer } = getWeightAnfBuffer(product);\n const [min, max] = [weight - buffer, weight + buffer];\n if(product.actual_weight === 0) {\n return true;\n }\n return product.actual_weight >= min && product.actual_weight <= max;\n }\n\n const isEditWeight = isEditable || editableWeight;\n\n return (\n \n \n \n \n \n \n \n \n {!isMobile && order && (\n \n )}\n \n {isEditable && (\n \n )}\n \n \n \n {item && item.items.map((orderItem, orderItemIndex)=> (\n \n \n \n \n \n \n {!isMobile && order && (\n \n )}\n \n {isEditable && (\n \n )}\n \n ))}\n \n
{t(\"pending-orders.PENDING_ORDERS_PICTURE\")}{t(\"pending-orders.PENDING_ORDERS_ITEM\")}{t(\"pending-orders.PENDING_ORDERS_QUANTITY\")}{t(\"pending-orders.PENDING_ORDERS_ORDERED_WEIGHT\")}{t(\"pending-orders.PENDING_ORDERS_ACTUAL_WEIGHT\")}{t(\"pending-orders.PENDING_ORDERS_ADD_ONS\")}{t(\"pending-orders.PENDING_ORDERS_PRICE\")}{t(\"pending-orders.PENDING_ORDERS_ACTIONS\")}
\n {orderItem.image && ({orderItem.name})}\n \n
\n {orderItem.name || t(\"pending-orders.PENDING_ORDER_EMPTY_NAME_LABEL\")}\n {` (${formatNumber(orderItem.price)} ${getCurrencyIcons(item.currency)})`}\n {orderItem.description && (\n \n )}\n\n {orderItem.ingredientsNames?.map((ingredient, ingredientIndex)=> (\n
\n new Promise(resolve=> resolve())}\n />\n {ingredient || t(\"pending-orders.PENDING_ORDER_EMPTY_INGREDIENT_LABEL\")} \n
\n ))}\n
\n {isMobile && (\n
\n {orderItem.ingredientsNames?.map((ingredient, ingredientIndex)=> (\n
\n \n {ingredient || t(\"pending-orders.PENDING_ORDER_EMPTY_INGREDIENT_LABEL\")} \n
\n ))}\n
\n )}\n
e.stopPropagation()}>\n {!isEditWeight && (<>x{orderItem.quantity})}\n {isEditWeight && (\n handleOnQuantity(orderItemIndex, {...orderItem, quantity: value <= 0 ? 0 : value})}\n onAdd={() => handleOnQuantity(orderItemIndex, {...orderItem, quantity: orderItem.quantity +1})}\n onRemove={() => handleOnQuantity(orderItemIndex, {...orderItem, quantity: orderItem.quantity -1})}\n />\n )}\n \n {getOrderWeight(orderItem)}\n \n {!!orderItem.weighed && isEditWeight && (\n <>\n onChangeWeight(orderItemIndex, {...orderItem, actual_weight: fixedNumber(target.value, 2)})}\n />\n  {t(\"uilib.productConstructor.GR\")}\n \n )}\n {!isEditWeight && !!orderItem.weighed && (<>\n {orderItem.actual_weight} {t(\"uilib.productConstructor.GR\")}\n )}\n \n
\n {orderItem.options.map((option, optionIndex)=> (\n \n ))}\n {orderItem.comment && ()}\n {orderItem.name_on_box && ()}\n
\n
\n
e.stopPropagation()}>\n {orderItem.comment3} \n {`${formatNumber(orderItem.total)} ${getCurrencyIcons(item.currency)}`}\n
\n
\n
\n onClickProduct({product: orderItem, index: orderItemIndex})}/>\n onDelete(orderItemIndex)}/>\n
\n
\n )\n}\n\nexport default withTranslation()(PendingOrdersInfoData);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ACCOUNT_ORDER_STATUS, getAccountOrderStatusTitle } from \"../../../utils/enums\";\n\nconst OrderInfoStatus = ({ value }) => {\n return (\n
\n
{getAccountOrderStatusTitle(value)}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n\nexport default OrderInfoStatus;","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { PENDING_ORDER_TYPE } from \"../../../utils/enums\";\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\n\nimport IconButton from \"../IconButton\";\n\nconst OrderTypeInfo = ({ t, type }) => {\n return (\n
\n {type === PENDING_ORDER_TYPE.delivery && (\n \n )}\n {type === PENDING_ORDER_TYPE.takeAway && (\n \n )}\n {type === PENDING_ORDER_TYPE.dinein && (\n \n )}\n {type === PENDING_ORDER_TYPE.delivery && (\n
  {t(\"create-order.DELIVERY\")}
\n )}\n {type === PENDING_ORDER_TYPE.takeAway && (\n
  {t(\"create-order.TAKEAWAY\")}
\n )}\n {type === PENDING_ORDER_TYPE.dinein && (\n
  {t(\"create-order.DINEIN\")}
\n )}\n
\n );\n}\n\nexport default withTranslation()(OrderTypeInfo);","import environment from 'environment';\nimport moment from 'moment';\nimport i18n from '../../i18n';\n\nimport SectionModel from '../../models/sectionModel';\nimport FilterOptionsModel from '../../models/filterOptionsModel';\nimport {\n CONTROL_TYPE,\n FILTER_TYPE,\n getOrderIntegrationTypeFilterItems,\n INTEGRATION_TYPE,\n MODEL_CONTROL_TYPE,\n ORDER_INTEGRATION_TYPE_FILTER,\n ORDER_STATE,\n ORDER_TYPE,\n} from '../../utils/enums';\nimport {DATE_FORMAT, setStartTime} from '../../utils/convertTime';\nimport { getDeliveryDuration } from '../order';\nimport { getControlCenterFilter, groupBarOrderFilter, sortItemsDate } from '../filter';\nimport { createControlModel } from '../controlModelFactory';\nimport {getTerritoriesEntity} from \"../restaurant.js\";\n\nexport function createOrdersSection() {\n return new SectionModel({\n filterOptions: createOrdersSectionFilter(),\n tag: \"activeOrder\",\n sortByFunc: function(orders) {\n return sortItemsDate(getControlCenterFilter(orders, \"controlCenterId\"), \"date\", true);\n },\n controls: [\n createControlModel({ type: MODEL_CONTROL_TYPE.filter }),\n ],\n typeModel: \"/orders\",\n isForceUpdate: true,\n });\n}\n\nfunction createOrdersSectionFilter() {\n let filterOptionsModel = new FilterOptionsModel();\n const orderIntegrationTypeFilterItems = getOrderIntegrationTypeFilterItems();\n const territoriesItems = getTerritoriesEntity();\n\n //search\n filterOptionsModel.addOptions(\"search\", CONTROL_TYPE.text, null, function(order) {\n return groupBarOrderFilter(this.selected, order);\n });\n\n //date\n let filterDate = filterOptionsModel.addOptions(\n \"date\",\n CONTROL_TYPE.date,\n i18n.t(\"dashboard.orders.ORDER_DATE_FILTER_LABEL\"),\n function(order) {\n const orderDate = moment.utc(order.date);\n const selectedDate = moment.utc(setStartTime(this.selected));\n\t const selectedDateEnd = moment.utc(setStartTime(this.selected)).add(1, 'days');\n return orderDate >= selectedDate && orderDate <= selectedDateEnd;\n },\n null,\n null,\n true,\n false,\n false,\n false,\n {\n format: DATE_FORMAT,\n }\n );\n filterDate.filterType = FILTER_TYPE.and;\n\n //integrationTypes\n let integrationTypes = filterOptionsModel.addOptions(\"integrationTypes\", \n CONTROL_TYPE.select, \n i18n.t(\"dashboard.orders.ORDER_INTEGRATION_TYPE_FILTER_LABEL\"), \n function(order) {\n const type = orderIntegrationTypeFilterItems.find(f=> f.key === this.selected);\n if(!type) return true;\n switch (type.key) {\n case ORDER_INTEGRATION_TYPE_FILTER.application:\n return order.integrationType === INTEGRATION_TYPE.ordering;\n case ORDER_INTEGRATION_TYPE_FILTER.external:\n return order.integrationType !== INTEGRATION_TYPE.ordering;\n default:\n return true;\n }\n }\n );\n integrationTypes.filterType = FILTER_TYPE.and;\n orderIntegrationTypeFilterItems.forEach(item=> {\n integrationTypes.addItem(item.value, item.key);\n });\n integrationTypes.selected = orderIntegrationTypeFilterItems[2].key;\n\n\n //territories\n if(territoriesItems && territoriesItems.length) {\n const territoriesFilter = filterOptionsModel.addOptions(\n \"territories\",\n CONTROL_TYPE.select,\n i18n.t(\"dashboard.orders.ORDER_DELIVERY_TERRITORY_LABEL\"),\n null,\n null,\n null,\n false,\n null,\n null,\n false\n );\n territoriesFilter.addItem(\"-\", null);\n territoriesItems.forEach(t => {\n territoriesFilter.addItem(t.name, t.id);\n })\n }\n\n //deliveryGroup\n filterOptionsModel.addOptions(\n \"deliveryGroup\",\n CONTROL_TYPE.groupCheckbox,\n \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n null,\n null,\n [\n {\n title: \"dashboard.orders.ORDER_DELIVERY_TYPE_GROUP_LABEL\",\n isCheckAllGroup: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"takeaway\",\n label: \"orders.TAKEAWAY_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.type === ORDER_TYPE.takeAway\n },\n {\n name: \"delivery\",\n label: \"orders.DELIVERY_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.type === ORDER_TYPE.delivery\n }\n ]\n },\n {\n title: \"dashboard.orders.ORDER_ORDER_STATE_GROUP_LABEL\",\n isCheckAllGroup: true,\n filterType: FILTER_TYPE.and,\n items: [\n {\n name: \"pending\",\n label: \"orders.PENDING_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.new\n },\n {\n name: \"inkitchen\",\n label: \"orders.INKITCHEN_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.kitchen\n },\n {\n name: \"ready\",\n label: \"orders.READY_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.ready\n },\n {\n name: \"onroute\",\n label: \"orders.ONROUTE_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.onroute\n },\n {\n name: \"delivered\",\n label: \"orders.DELIVERED_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.delivered\n },\n {\n name: \"deleted\",\n label: \"orders.DELETED_FILTER_LABEL\",\n selected: true,\n filterType: FILTER_TYPE.or,\n filterFunction: order=> order.state === ORDER_STATE.canceled\n }\n ]\n }\n ],\n false,\n null,\n null,\n true\n );\n\n //lateorders\n let selectOption = filterOptionsModel.addOptions(\n \"lateorders\",\n CONTROL_TYPE.select,\n i18n.t(\"dashboard.orders.ORDER_LATE_FOR_LABEL\"),\n function(order) {\n if(!this.selected) return true;\n if (order.state !== ORDER_STATE.delivered)\n return false;\n let late = getDeliveryDuration(order);\n if (!late)\n return false;\n late = late / (1000 * 60);\n return late > this.selected;\n }\n );\n selectOption.filterType = FILTER_TYPE.and;\n selectOption.addItem(\"-\", 0);\n selectOption.addItem(i18n.t(\"orders.LATE_FOR_HALF_LABEL\"), 30);\n selectOption.addItem(i18n.t(\"orders.LATE_FOR_HOUR_LABEL\"), 60);\n selectOption.addItem(i18n.t(\"orders.LATE_FOR_HOUR_AND_HALF_LABEL\"), 90);\n selectOption.selected = 0;\n\n //historyTime\n let slider = filterOptionsModel.addOptions(\n \"historyTime\",\n CONTROL_TYPE.slider,\n i18n.t(\"dashboard.orders.ORDER_HISTORY_TIME_LABEL\"), \n null,\n false,\n environment.orders.defaultHistoryTime,\n true\n );\n slider.filterType = FILTER_TYPE.and;\n slider.setMinMax(\n environment.orders.minHistoryTime,\n environment.orders.maxHistoryTime\n );\n\n return filterOptionsModel;\n}\n","import { removeStoredData } from \"./dataStorage\";\n\nimport BaseNotification from \"./baseNotification\";\nimport Interval from \"./interval\";\nimport Pusher from \"./pusher\";\nimport SentryService from \"./sentryService\";\nimport User from \"./user\";\nimport UserPilotService from \"./userPilotService\";\n\nlet singleton = Symbol();\nlet singletonEnforcer = Symbol();\n\nexport default class InitService {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer)\n throw new Error(\n \"Instantiation failed: use InitService.getInstance() instead of new.\"\n );\n }\n\n static get instance() {\n if (!this[singleton]) {\n this[singleton] = new InitService(singletonEnforcer);\n return this[singleton];\n }\n return this[singleton];\n }\n\n static set instance(v) {\n throw new Error(\"Can't change constant property!\");\n }\n\n init() {\n SentryService.instance.init();\n }\n\n logout() {\n try {\n SentryService.instance.stop();\n User.instance.setCurrentUserInfo(null); \n Interval.instance.stop(); \n Pusher.instance.destroyPusher();\n removeStoredData(); \n BaseNotification.instance.clearInterval();\n UserPilotService.instance.stop();\n } catch (error) {\n console.log(error);\n } \n }\n}","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ACCOUNT_ORDER_STATUS, getAccountOrderStatusTitle } from \"../../../utils/enums\";\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\n\nimport IconButton from \"../IconButton\";\n\nconst CustomerOrderStatus = ({ t, value }) => {\n const title = getAccountOrderStatusTitle(value);\n return (\n
\n
{title}
\n {value === ACCOUNT_ORDER_STATUS.finished && (\n \n )}\n {value === ACCOUNT_ORDER_STATUS.canceled && (\n \n )}\n
\n );\n}\n\nexport default withTranslation()(CustomerOrderStatus);","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getDepotName } from \"../../../services/restaurant\";\nimport { DATE_TIME_FORMAT_DAYTIME, getFormattedDate } from \"../../../utils/convertTime\";\nimport {CUSTOMER_SERVICE_MODEL, getCurrencyIcons, PAY_METHOD} from \"../../../utils/enums\";\n\nimport FormInfoDataItem from \"../FormInfoDataItem\";\nimport OrderTypeInfo from \"../OrderTypeInfo\";\nimport CustomerOrderStatus from \"../CustomerOrderStatus\";\nimport RateItem from \"../RateItem\";\n\nconst CustomerDataItem = ({ value, hideRestaurantName }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const depotName = getDepotName(value);\n const paymentCard = (value.payments || []).find(f=> f.paymethod_id === PAY_METHOD.creditCard) || {};\n const paymentCash = (value.payments || []).find(f=> f.paymethod_id === PAY_METHOD.cash) || {};\n const currency = getCurrencyIcons(value.currency);\n\n const handleOnOrderClick = () => {\n if(value.id) history.push(`${CUSTOMER_SERVICE_MODEL.order}?searchStr=${value.id}`);\n }\n\n return (\n
\n
\n
#{value.sequence_id}
\n
\n \n \n
\n
\n
\n \n {!hideRestaurantName && (\n \n )}\n \n \n \n
\n
\n {!!value.rating && (\n
\n {t(\"reviews.REVIEW_FILTER_RATE_PRODUCT\")}\n \n
\n )}\n {!!value.delivery_rating && (\n
\n {t(\"reviews.REVIEW_FILTER_RATE_DELIVERY\")}\n \n
\n )}\n
\n {value.review && (
{value.review}
)}\n
\n );\n}\n\nexport default CustomerDataItem;","import React, {useState} from 'react';\nimport classNames from \"classnames\";\nimport \"./style.scss\";\n\nimport LayoutHeaderControls from \"../LayoutHeaderControls\";\nimport {toast} from \"react-toastify\";\nimport SwitchControl from \"../SwitchControl\";\nimport {useTranslation} from \"react-i18next\";\nimport {connect} from \"react-redux\";\nimport {createAction} from \"../../../utils/sagaHelper\";\nimport {ADMIN_ORDER_CAPTURE} from \"../../../store/reducers/order/order-actions\";\n\nconst CapturePaymentOrder = ({ payment, onClose, orderId, onSave }) => {\n const {t} = useTranslation();\n const [capture, setCapture] = useState(\"\");\n const [isPartial, setIsPartial] = useState(false);\n const max = payment.price;\n\n const handleOnCaptureSave = () => {\n return new Promise((resolve, reject) => {\n if(parseFloat(capture) > max) {\n return;\n }\n onSave({\n id: orderId,\n body: {\n payment_id: payment.id,\n partial: isPartial,\n amount: isPartial ? parseFloat(capture) : undefined\n }\n }).then(()=> {\n resolve();\n onClose();\n }, error=> {\n reject(error);\n toast(error);\n })\n })\n }\n\n return (\n
\n
\n
\n
Partial
\n \n
\n {isPartial && (\n
\n
Capture{capture > max && (, max: {max})}
\n max})} type=\"number\" value={capture} onChange={({target}) => setCapture(target.value)}/>\n
\n )}\n
\n\n max} onSave={handleOnCaptureSave} onClose={onClose} />\n
\n );\n}\n\nconst mdtp = dispatch => {\n return {\n onSave: (data) => dispatch(createAction(ADMIN_ORDER_CAPTURE, data))\n }\n}\n\nexport default connect(null, mdtp)(CapturePaymentOrder);","import React from 'react';\nimport classNames from \"classnames\";\nimport {DATE_TIME_FORMAT_DAYTIME, getFormattedDate} from \"../../../utils/convertTime\";\nimport TimeBox from \"../TimeBox/TimeBox\";\nimport {getFullName} from \"../../../services/userModel\";\nimport OrderInfoStatus from \"../OrderInfoStatus\";\nimport {ACCOUNT_ORDER_STATUS, orderChannelNames} from \"../../../utils/enums\";\nimport {useTranslation} from \"react-i18next\";\nimport './style.scss';\n\nconst AdminOrderInfoStatus = ({order, territories}) => {\n const {t} = useTranslation();\n const getTerritoryName = () => {\n return ((territories || []).find((t) => t.entityId === order.entity_id) || {}).name || \"\";\n }\n return (\n
\n
{t(\"admin-orders.ORDER_INFO_LABEL\")}
\n
\n {territories && territories.length > 0 && (\n
\n
{t(\"admin-orders.ORDER_INFO_ENTITY_LABEL\")}
\n
{getTerritoryName()}
\n
\n )}\n
\n
{t(\"admin-orders.ORDER_INFO_NUMBER_LABEL\")}
\n
#{order.sequenceId || order.sequence_id}
\n
\n {!!order.order_channel && (\n
\n
{t(\"admin-orders.ORDER_CHANNEL\")}
\n
{orderChannelNames()[order.order_channel]}
\n
\n )}\n
\n
{t(\"admin-orders.DELIVERY_INFO_CREATION_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.creation_datetime, DATE_TIME_FORMAT_DAYTIME)}
\n
\n
\n
{t(\"admin-orders.DELIVERY_INFO_CREATION_DATE_TIME_TILL_LABEL\")}
\n \n
\n {order.readiness_time && (\n
\n
{t(\"admin-orders.DELIVERY_INFO_READINESS_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.readiness_time, DATE_TIME_FORMAT_DAYTIME)}
\n
\n )}\n {order.cancellation_datetime && (\n
\n
{t(\"admin-orders.ORDER_CANCELLATION_DATE\")}
\n
{getFormattedDate(order.cancellation_datetime, DATE_TIME_FORMAT_DAYTIME)}
\n
\n\n )}\n {order.cancellation_datetime && (\n
\n
{t(\"admin-orders.ORDER_CANCELER_INFO\")}
\n
{getFullName(order.cancelerInfo) || \"-\"}
\n
\n\n )}\n {order.canc && (\n
\n
{t(\"admin-orders.DELIVERY_INFO_READINESS_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.readiness_time, DATE_TIME_FORMAT_DAYTIME)}
\n
\n )}\n
\n
{t(\"admin-orders.ORDER_INFO_STATUS\")}
\n
\n
\n
\n
\n {!!order?.consumerInfo?.serviceNotes && (\n
\n
{t(\"admin-orders.PENDING_ORDER_INFO_STAFFONLY_NOTES\")}
\n
{order.consumerInfo.serviceNotes || \"-\"}
\n
\n )}\n
\n
{t(\"admin-orders.PENDING_ORDER_INFO_NOTES\")}
\n
{order.comment || \"-\"}
\n
\n {!!order.discount && (\n
\n
{t(\"admin-orders.ORDER_SUMMARY_DISCOUNT_LABEL\")}
\n
{order.discount}
\n
\n )}\n {!!order.invoice_url && (\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_INVOICE_LABEL\")}
\n \n
\n )}\n
\n
\n )\n}\n\nexport default AdminOrderInfoStatus;","import React from 'react';\nimport './style.scss';\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\nimport {useTranslation} from \"react-i18next\";\n\nconst PhoneIcon = () => (\n
\n
\n
\n);\n\nconst AdminOrderInfoRestaurant = ({businessInfo, handleOnDepotClick}) => {\n const {t} = useTranslation();\n return (\n
\n
{t(\"admin-orders.RESTAURANT_INFO_LABEL\")}
\n
\n
\n
{t(\"admin-orders.RESTAURANT_NAME_LABEL\")}
\n
{businessInfo.name || \"-\"}
\n
\n
\n
 
\n
\n \n
\n
\n
\n
{t(\"admin-orders.ORDER_INFO_ADDRESS_LABEL\")}
\n
{businessInfo.address || \"-\"}
\n
\n
\n
{t(\"admin-orders.ORDER_INFO_PHONE_LABEL\")}
\n
\n {businessInfo.phone || \"-\"}\n
\n
\n
\n
\n )\n}\n\nexport default AdminOrderInfoRestaurant;\n","import React from 'react';\nimport './style.scss';\nimport classNames from \"classnames\";\nimport IconButton from \"../IconButton/IconButton.jsx\";\nimport {currentUserIsDepotRole, getFullName} from \"../../../services/userModel.js\";\nimport {getOrderInfoAddress} from \"../../../services/order.js\";\nimport {\n DELIVERY_STRATEGY,\n getExternalCourierProviderNameByProvider,\n getLoyaltyLevel,\n PENDING_ORDER_TYPE\n} from \"../../../utils/enums.js\";\nimport {DATE_TIME_FORMAT_DAYTIME, getFormattedDate} from \"../../../utils/convertTime.js\";\nimport {useTranslation} from \"react-i18next\";\nimport {getExternalCycleLogoByProvider} from \"../../../services/restaurant.js\";\nimport {Avatar} from \"../Avatar/Avatar.jsx\";\nimport {deliveryIconNames} from \"../../../utils/constants.js\";\n\nconst PhoneIcon = () => (\n
\n
\n
\n);\n\n\nconst AdminOrderInfoClientAndDelivery = ({order, handleOnSearchId}) => {\n const {t} = useTranslation();\n const deliveryLabels = {\n [PENDING_ORDER_TYPE.delivery]: t(\"dashboard.orders.DELIVERY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.takeAway]: t(\"dashboard.orders.TAKEAWAY_ORDERS_MODE_LABEL\"),\n [PENDING_ORDER_TYPE.dinein]: t(\"dashboard.orders.DINEIN_ORDERS_MODE_LABEL\"),\n }\n return (\n
\n
\n
\n
\n {t(\"admin-orders.CLIENT_INFO_LABEL\")}\n {!currentUserIsDepotRole() && (\n \n )}\n
\n
\n
\n
{t(\"admin-orders.CLIENT_INFO_NAME_LABEL\")}
\n
\n {order.customer_name || getFullName(order.consumerInfo) || order.customerName || \"-\"}\n {order.new_customer && (
{t(\"pending-orders.PENDING_ORDER_INFO_NEW_CUSTOMER\")}
)}\n {!!order.loyalty_level && (
{getLoyaltyLevel(order.loyalty_level) || \"-\"}
)}\n
\n
\n
\n
{t(\"admin-orders.CLIENT_INFO_EMAIL_LABEL\")}
\n
\n {order.email || (order.consumerInfo && order.consumerInfo.email) || \"-\"}\n
\n
\n
\n
{t(\"admin-orders.CLIENT_INFO_PHONE_LABEL\")}
\n
\n { order.phone || (order.consumerInfo && order.consumerInfo.phone) || \"-\"}\n \n
\n
\n
\n
{t(\"admin-orders.CLIENT_INFO_ADDRESS_LABEL\")}
\n
\n {getOrderInfoAddress(order)}\n
\n
\n
\n
\n
\n
{t(\"admin-orders.DELIVERY_INFO_LABEL\")}
\n
\n
\n
 
\n
\n new Promise(resolve=> resolve())}\n />\n \n {deliveryLabels[order.delivery_type]}\n \n
\n
\n
\n
{t(\"admin-orders.DELIVERY_INFO_COURIER_LABEL\")}
\n
{[PENDING_ORDER_TYPE.takeAway, PENDING_ORDER_TYPE.dinein].includes(order.delivery_type) ? \"-\" : (order.courierInfo && order.courierInfo.courierName) || \"-\"}
\n
\n
\n
{t(\"admin-orders.ADMIN_ORDER_INFO_PROVIDER\")}
\n
\n {order.courierInfo && order.courierInfo.provider ? : '-'}\n
\n
\n
\n
{t(\"admin-orders.DELIVERY_INFO_COURIER_PHONE_LABEL\")}
\n
\n {(order.courierInfo && order.courierInfo.phone) || \"-\"}\n \n
\n
\n
\n
{t(\"admin-orders.DELIVERY_INFO_CREATION_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.creation_datetime, DATE_TIME_FORMAT_DAYTIME)}
\n
\n {order.delivery_strategy === DELIVERY_STRATEGY.concreteTime && (\n
\n
{t(\"admin-orders.DELIVERY_INFO_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.delivery_datetime, DATE_TIME_FORMAT_DAYTIME)}
\n
\n )}\n
\n
{t(\"admin-orders.DELIVERY_INFO_ACTUAL_DATE_TIME_LABEL\")}
\n
{getFormattedDate(order.actual_delivery_datetime, DATE_TIME_FORMAT_DAYTIME) || \"-\"}
\n
\n
\n
\n
\n
\n )\n}\n\nexport default AdminOrderInfoClientAndDelivery;\n","import React from 'react';\nimport './index.scss';\nimport classNames from \"classnames\";\nimport {useTranslation} from \"react-i18next\";\n\nconst AdminOrderInfoGift = ({giftOption}) => {\n const {t} = useTranslation();\n return (\n
\n
{t(\"uilib.gift.GIFT\")}
\n
\n
\n
{t(\"uilib.gift.NAME\")}
\n
{giftOption.full_name || \"-\"}
\n
\n
\n
{t(\"uilib.gift.PHONE\")}
\n
{giftOption.phone || \"-\"}
\n
\n
\n
{t(\"uilib.gift.GREETING\")}
\n
{giftOption.greeting || \"-\"}
\n
\n
\n
\n )\n}\n\nexport default AdminOrderInfoGift;","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\nimport { getTranslateTitle } from '../../../utils/objects-util.js';\n\nexport default ({ value, handleOnClick, id, isBlueColor, isRedActiveColor, title, isReadonly }) => {\n\n const titleOff = getTranslateTitle(title.off)\n const titleOn = getTranslateTitle(title.on)\n\n const getLabel = () => {\n return !value ? (title ? titleOff : \"OFF\") : title ? titleOn : \"ON\";\n };\n\n const lableText = getLabel();\n\n return (\n
4 })}>\n
\n
\n \n \n
\n
\n
\n );\n};\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport IconButton from \"../IconButton\";\n\nconst PaginationControl = ({\n t,\n onClickPrevious,\n onClickNext\n}) => (\n
\n
\n new Promise(resolve=> resolve())}\n />\n {t(\"basic.PAGINATION_PREVIOUS\")} \n
\n
\n {t(\"basic.PAGINATION_NEXT\")}\n new Promise(resolve=> resolve())}\n />\n
\n
\n);\n\nexport default withTranslation()(PaginationControl);","import React, {useRef} from 'react';\nimport {connect} from 'react-redux';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport {\n actionResetTooltipData,\n actionUpdateTooltipData,\n} from '../../../store/reducers/tooltipPortal/tooltipPortal-actions';\n\nimport {isContainsHeb} from '../../../utils/objects-util';\n\nconst InlineTooltipText = ({ value, onClick, updateTooltipData, resetTooltipData, isNeverRtl = false }) => {\n const hoverRef = useRef();\n\n const handleOnClick = e => {\n onClick && onClick(e);\n };\n\n const handleOnMouseEnter = e => {\n value && updateTooltipData({ tooltipText: value, ref: hoverRef.current , isNeverRtl: isNeverRtl});\n };\n\n const handleOnMouseLeave = e => {\n value && resetTooltipData({ event: e, context: this });\n };\n\n return (\n \n {value}\n

\n );\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateTooltipData: data => dispatch(actionUpdateTooltipData(data)),\n resetTooltipData: data => dispatch(actionResetTooltipData(data)),\n };\n};\n\nexport default connect(null, mapDispatchToProps)(InlineTooltipText);\n","module.exports = __webpack_public_path__ + \"static/media/place_marker.b7e3884a.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGQUIzRjdBM0E1MDNFNTExODdFRkQ0MkQ3QjI4QzI4MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0QzM5OEFDMDYzNzAxMUU1OURGNDk0Qjk1ODI4QTNFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0QzM5OEFCRjYzNzAxMUU1OURGNDk0Qjk1ODI4QTNFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMEJGQjRCMEZCNTVFNTExOEY1ODgxNzUzN0NGNzI2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGQUIzRjdBM0E1MDNFNTExODdFRkQ0MkQ3QjI4QzI4MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PueZWKIAAAEDSURBVHjaYvz//z8DCNy+fZsdSKkD8TVVVdU/DAQAE1STF5B6BMQXgbiJgQjAeOvWLTkgfQuI2aFiH4FYAWjrB0I2aiNpAgF+IE4mxqk3sIhLEdQIdNJ9IH0cSWwXEFcRFThA0IYkxgXExIUq0NYtUJtAwAaIW4m1EQRygPgrlF0GjKJgojQCbb0NpIpg0QTEi4CaTXHGIyzlQBMCSMMaIA6CCj0B4gwgTgNiNSAuAVqwFUMjVDM3kDoExEY4LJsHxAUYGqGaRYHUNiA2waE5lwmbKNA5r4GUIxCvwCL9DWQoVhvRbA+EJnwdIH4DxFFAg3cT1IhkACgzvABq+gXiAwQYAMxcU4jT10wpAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMyQzY4REZGODJGNDExRTU4MjExQUVGQzVCMUE4RUVEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMyQzY4RTAwODJGNDExRTU4MjExQUVGQzVCMUE4RUVEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzJDNjhERkQ4MkY0MTFFNTgyMTFBRUZDNUIxQThFRUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzJDNjhERkU4MkY0MTFFNTgyMTFBRUZDNUIxQThFRUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5wtaJWAAABbUlEQVR42nyTvy9EQRDH710uQSQuaEjOhWILCYVwlYifjUSiuOi0QuQaUQgKlX/BFUJBe50ehUIULkgU7zUcGvEjInENns/IvMtmvdjkk9mdme/s7Nt9XhiGCXcEQZDD5KEZyrBnjPmwczxXiGgZI7Sr6wuOYRGxHytEtIApWnU+IaXzKxhF/CyLpCVqwazo8gFmYAh21NcLs1F+0qpuoFPnG1QuwSlz6eJa/RNxwjprflerZoy0+6bLhsifspIrmpCWlmn9AvuqLfdpTvnPjlS+wZR0OQZncCJXAfVQhf24VmWs6aeXkYWc5oioQPHLWCGBR8yk3uO7uo9gnNjuvw/Aup4DzBT0Izp34zUhiR2YRvW/wDSsQw9k4Fs7vKVQ9VeIKKtna7VeyRIMwBNsRxvBFsLV6Ixz0AVNyqBYEooaSysSm2ejjOf7fjeLQ2hzjuHrzvmYT7ApD6Cgf0DFCcoOI3Cv50tY7Q7/CDAAcfZwZqjbyRoAAAAASUVORK5CYII=\"","function firstLower() {\n Object.assign(String.prototype, {\n toFirstCharLowerCase() {\n return `${(this.charAt(0) || \"\").toLowerCase()}${this.slice(1)}`;\n }\n });\n}\n\nfunction firstUpper() {\n Object.assign(String.prototype, {\n toFirstCharUpperCase() {\n return `${(this.charAt(0) || \"\").toUpperCase()}${this.slice(1)}`;\n }\n });\n}\n\nexport default function mainFunction() {\n firstLower();\n firstUpper();\n}\n","import React, {useEffect, useRef, useState} from \"react\";\nimport {connect} from \"react-redux\";\nimport {withTranslation} from \"react-i18next\";\nimport {withRouter} from \"react-router\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {currentUserIsDepotRole, currentUserIsSupervisorRole, getFullName} from \"../../../services/userModel\";\nimport {getUserConnectionData} from \"../../../utils/auth-util\";\nimport {getConvertedCloudUrl} from \"../../../utils/image-util\";\nimport {createAction} from \"../../../utils/sagaHelper\";\n\nimport {LOGOUT} from \"../../../store/reducers/authentication/authentication-actions\";\nimport {DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK} from \"../../../store/reducers/userModel/userModel-actions\";\nimport {RECONCILIATIONS_MODEL} from \"../../../utils/enums.js\";\nimport {getRestaurantPaymentEnabled} from \"../../../services/restaurant.js\";\n\nconst UserControlsMenu = ({\n t,\n users,\n restaurant,\n history,\n logout,\n getDepotSquareAssociatedLocation,\n showItemsInPlace,\n}) => {\n const [isMenuOpen, setMenuOpen] = useState(false);\n const ref = useRef();\n const userConnectionData = getUserConnectionData();\n const userId = userConnectionData.unique_name;\n const user = users && users.find(user => user.userId === userId);\n const userName =\n (user && user.userName) || getFullName(user) || userConnectionData.sub;\n const avatar = getConvertedCloudUrl(user && user.avatarUrl);\n\n const getAccountName = () => {\n let name = (restaurant && restaurant.friendlyName) || \"\";\n const activeCenter =\n restaurant &&\n restaurant.activeControlCenter &&\n restaurant.controlCenters &&\n restaurant.controlCenters.find(\n controlCenter =>\n controlCenter.controlCenterId ===\n restaurant.activeControlCenter.controlCenterId\n );\n if (activeCenter) name += \" \" + (activeCenter.name || \"\");\n return name;\n };\n\n const isShowBillingItem = () => {\n return restaurant && restaurant.recurlyConfiguration && restaurant.recurlyConfiguration.accountId;\n };\n\n const handleOnLogout = () => {\n logout();\n history.push(\"/login\");\n };\n\n const handleOnBilling = () => {\n history.push(\"/billing\");\n };\n const handleOnReconciliations = () => {\n history.push(RECONCILIATIONS_MODEL.configuration);\n };\n\n const handleOnDepotSquareIntegration = () => {\n getDepotSquareAssociatedLocation();\n };\n\n useEffect(() => {\n function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target))\n setMenuOpen(false);\n }\n\n document.addEventListener(\"click\", handleClickOutside, false);\n return () => {\n document.removeEventListener(\"click\", handleClickOutside, false);\n };\n });\n\n const Items = () => {\n return
    \n {currentUserIsDepotRole() && (\n
  • \n
    \n
    {t(\"settings.square.ICON_TOOLTIP\")}
    \n
  • \n )}\n {isShowBillingItem() && (\n
  • \n
    \n
    {t(\"header.menu.BILLING_LABEL\")}
    \n
  • \n )}\n {(currentUserIsSupervisorRole() && getRestaurantPaymentEnabled()) && (\n
  • \n
    \n
    {t(\"header.menu.RECONCILIATIONS_LABEL\")}
    \n
  • \n )}\n
  • \n
    \n
    {t(\"header.user.LOG_OUT_LABEL\")}
    \n
  • \n
\n }\n\n return (\n
setMenuOpen(!isMenuOpen)}\n >\n
\n
\n {avatar && (\n \"avatar\"\n )}\n
\n
\n \n {getAccountName()}\n
\n
\n
{userName}
\n
\n
\n
\n
\n {/*showItemsInPlace*/}\n {isMenuOpen && !showItemsInPlace && }\n {showItemsInPlace && }\n
\n );\n};\n\nconst mapStateToProps = state => ({\n users: state.userModel.data || [],\n restaurant: state.restaurant.data,\n menuHeaderPriority: state.menu.menuHeaderPriority\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n logout: () => dispatch({ type: LOGOUT }),\n getDepotSquareAssociatedLocation: data =>\n dispatch(createAction(DEPOT_SQUARE_ASSOCIATED_LOCATION_CHECK, data))\n };\n};\n\nexport default withRouter(\n connect(\n mapStateToProps,\n mapDispatchToProps\n )(withTranslation()(UserControlsMenu))\n);\n","import React, { Component } from 'react';\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport FreshChat from 'react-freshchat';\nimport environment from \"environment\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport InfoMessageService from '../../../services/infoMessage';\nimport User from '../../../services/user';\nimport ChatService from '../../../services/chatService';\n\nimport IconButton from '../IconButton';\n\nclass FreshChatControl extends Component {\n componentWillUnmount() {\n ChatService.instance.destroyChatWidget();\n }\n\n handleOnInit = widget => {\n if(widget) {\n ChatService.instance.setChatWidget(widget);\n }\n }\n\n handleOnClick = () => {\n return ChatService.instance.openChatWidget(); \n }\n\n getInitConfig = () => {\n return {\n token: environment.freshChatToken,\n config: { headerProperty: { hideChatButton: true }},\n ...ChatService.instance.getInitConfiguration(),\n onInit: this.handleOnInit\n };\n }\n \n render() {\n const { t, showSupportChat, currentUser, notification } = this.props;\n const isShow = InfoMessageService.instance.checkAction();\n\n return ((showSupportChat || isShow)\n ?
\n \n {currentUser && ()}\n
\n : \n )\n }\n}\n\nconst mapStateToProps = state => {\n const currentUser = User.instance.getCurrentUserInfo();\n return {\n currentUser,\n showSupportChat: (state.restaurant.data.configuration || {}).showSupportChat, \n notification: !!state.notifications.data.accountTopNotification\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(FreshChatControl));\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { actionAlarmsBarSetShow } from \"../../../store/reducers/notification/notification-actions\";\nimport { getAlarms } from \"../../../services/notification\";\n\nimport IconButton from \"../IconButton\";\nimport FreshChatControl from \"../FreshChatControl\";\n\nconst HeaderUserControls = ({\n t,\n alarms,\n alarmsBarSetShow,\n isOpenAlarmsBar,\n showSupportChat,\n}) => {\n const handleOnShowAlarms = () => {\n return new Promise((resolve) => {\n resolve();\n alarmsBarSetShow(!isOpenAlarmsBar);\n });\n };\n\n return (\n <>\n
\n
\n \n {alarms.length > 0 && (\n
{alarms.length}
\n )}\n
\n {showSupportChat && (\n
\n \n
\n )}\n
\n \n );\n};\n\nconst mapStateToProps = state => ({\n isOpenAlarmsBar: state.notifications.data.isOpenAlarmsBar,\n alarms: getAlarms(state.notifications.data.alarms),\n showSupportChat:\n state.restaurant.data.configuration &&\n state.restaurant.data.configuration.showSupportChat,\n showBillingItem: !!((state.restaurant.data || {}).recurlyConfiguration || {}).accountId\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n alarmsBarSetShow: data => dispatch(actionAlarmsBarSetShow(data))\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withTranslation()(HeaderUserControls));\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router';\nimport { withTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nimport './index.scss';\n\nimport MenuService from '../../../services/menu';\nimport User from '../../../services/user';\nimport { ROLES_MANAGER_TYPE, TYPE_MENU } from '../../../utils/enums';\nimport { isSameObjects } from '../../../utils/objects-util';\nimport { actionMenuPriorityUpdate } from '../../../store/reducers/menu/menu-actions';\nimport RoleManager from '../../../services/roleManage';\nimport { toggleNestedMenu } from '../../../store/reducers/menu/menu-actions';\n\nclass Menu extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n menuItems: []\n };\n\n this.headerMenuRefs = [];\n this.menuParentRef = React.createRef();\n this.handleOnResize = this.handleOnResize.bind(this);\n }\n\n componentDidMount() {\n this.updateMenuItems();\n window.addEventListener(\"resize\", this.handleOnResize);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.handleOnResize);\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { language } = this.props;\n\n if (language !== prevProps.language) {\n this.updateMenuItems(false, true);\n }\n }\n\n handleOnResize = () => {\n const { clientWidth } =\n (this.menuParentRef && this.menuParentRef.current) || {};\n const refsWidth = (this.headerMenuRefs || [])\n .filter(f => f && f.ref)\n .reduce((a, b) => a + b.ref.clientWidth, 0);\n this.updateMenuItems(clientWidth < refsWidth);\n };\n\n handleOnClick = path => {\n const { history, toggleNestedMenu } = this.props;\n if(this.props.toggleMobileMenu) {\n this.props.toggleMobileMenu(false);\n }\n toggleNestedMenu(false)\n history.push(path);\n };\n\n updateMenuItems = (isSort, isRecreate) => {\n const { menuItemState, rootState } = this.props;\n const { menuItems } = this.state;\n const newMenuItems = MenuService.instance.getMenu(\n TYPE_MENU.header,\n isSort,\n isRecreate\n );\n const filteredMenuItems = newMenuItems\n .filter(menu=> !menu.isShow || menu.isShow({ ...rootState, ...menuItemState }));\n\n if (isSameObjects(menuItems, filteredMenuItems)) return\n this.setState({ menuItems: filteredMenuItems });\n };\n\n\n render() {\n const { menuItems } = this.state;\n const { t, rootState, location, hideMenu, menuItemState } = this.props;\n this.headerMenuRefs = [];\n return (\n <>\n \n {!hideMenu &&\n menuItems\n .filter(\n menu =>\n RoleManager.instance.isAuthorized(\n ROLES_MANAGER_TYPE.menu,\n menu.pathname\n ) &&\n (!menu.isShow || menu.isShow({ ...rootState, ...menuItemState }))\n )\n .map(headerMenu => (\n this.handleOnClick(headerMenu.pathname)}\n >\n
\n {t(headerMenu.title)}\n {headerMenu.badgeCount && headerMenu.badgeCount() && (\n
\n {headerMenu.badgeCount()}\n
\n )}\n
\n {!!headerMenu.isWithIcon &&\n !!headerMenu.isWithIcon(rootState) && (\n
\n {headerMenu.isWithIcon(rootState)}\n
\n )}\n \n ))}\n
\n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n menuItemState: {\n businessMenu: state.restaurant.data.businessMenu,\n consumerOrderMenu: state.restaurant.data.consumerOrderMenu,\n paymentsConfiguration: state.restaurant.data.paymentsConfiguration\n },\n rootState: state,\n language:\n User.instance.getCurrentUserInfo() &&\n User.instance.getCurrentUserInfo().configuration.language\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n menuPriorityUpdate: data => dispatch(actionMenuPriorityUpdate(data)),\n toggleNestedMenu: data => dispatch(toggleNestedMenu(data)),\n };\n};\n\nexport default withRouter(\n connect(\n mapStateToProps,\n mapDispatchToProps\n )(withTranslation()(Menu))\n);\n","import React, {useState} from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { actionAccountTopNotification } from \"../../../store/reducers/notification/notification-actions\";\nimport { accountTopNotificationColor } from \"../../../utils/constants\";\n\nimport IconButton from \"../IconButton\";\nimport {ModalPopup} from \"../ModalPopup/ModalPopup\";\n\nconst NotificationMessage = ({notification, colorTitle, useSpaces, linkBg}) => {\n return (\n
\n {notification.mainMessage && (\n
{notification.mainMessage}
\n )}\n {useSpaces && (\n \n    \n \n )}\n {notification.secondaryMessage && (\n \n {notification.secondaryMessage}\n \n )}\n
\n )\n}\n\nconst AccountTopNotification = ({\n notification,\n updateAccountTopNotification\n}) => {\n const [isOpenModal, setIsOpenModal] = useState(notification && notification.isShowModalDialog);\n\n const handleOnCloseModal = () => {\n setIsOpenModal(false);\n }\n\n const handleOnClose = () => {\n updateAccountTopNotification(null);\n }\n\n const accountTopColor = (notification && notification.color) || accountTopNotificationColor.color;\n\n return (\n
\n {notification && (\n \n )}\n\n {notification && notification.isClosable && (\n
\n \n
\n )}\n\n \n \n\n {notification.isClosable && (\n Close\n )}\n
\n )\n }/>\n
\n );\n}\n\nconst mapStateToProps = state => {\n return {\n notification: state.notifications.data.accountTopNotification\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateAccountTopNotification: data => dispatch(actionAccountTopNotification(data))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountTopNotification);\n","import React, { useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getFormattedDate, TIME_FORMAT_USER } from \"../../../utils/convertTime\";\n\nconst CurrentTime = () => {\n const [time, setTime] = useState(new Date());\n useEffect(\n () => {\n const id = setInterval(() => {\n setTime(new Date());\n }, 60000);\n return () => {\n clearInterval(id);\n };\n },\n [time]\n );\n return (\n \n {getFormattedDate(time, TIME_FORMAT_USER)}\n \n );\n};\n\nexport default CurrentTime;\n","import React, { useEffect, useState } from \"react\";\nimport {useLocation, withRouter} from \"react-router\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport InfoMessageService from \"../../../services/infoMessage\";\nimport { isRTL } from \"../../../services/userModel\";\nimport { getCurrentUserName } from \"../../../utils/auth-util\";\nimport {defaultIcons, excludedUrls} from \"../../../utils/constants\";\n\nimport UserControlsMenu from \"../UserControlsMenu\";\nimport HeaderUserControls from \"../HeaderUserControls\";\nimport Menu from \"../Menu\";\nimport AccountTopNotification from \"../AccountTopNotification\";\nimport IconButton from \"../IconButton/IconButton\";\nimport CurrentTime from '../CurrentTime';\n\nconst Header = ({t, showMenu, history }) => {\n const currentUserName = (getCurrentUserName() || \"\").split(\"@\")[1] || \"\";\n const logo = defaultIcons[currentUserName] || defaultIcons.default;\n const isCheck = InfoMessageService.instance.checkAction();\n const isShowMenu = showMenu && !isCheck;\n const [isMobileMenuOpened, toggleMobileMenu] = useState(false);\n const isMobile = window.innerWidth < 768\n const isLoginPage = useLocation().pathname.includes('/login')\n\n useEffect(\n () => {\n // prevent background scroll on mobile devices when menu is opened\n const elem = document.getElementById(\"mainApp\");\n if (elem) {\n if (isMobileMenuOpened) {\n elem.style.overflow = \"hidden\";\n } else {\n elem.style.overflow = \"auto\";\n }\n }\n },\n [isMobileMenuOpened]\n );\n\n const getShowNotification = () =>\n history &&\n history.location &&\n !excludedUrls.includes(history.location.pathname);\n\n const renderMobileMenu = () => {\n return (\n
\n {isShowMenu && }\n toggleMobileMenu(!isMobileMenuOpened)}\n />\n \n
\n {showMenu && }\n {showMenu && (\n \n )}\n
\n
\n \n );\n };\n\n return (\n
\n {getShowNotification() && }\n
\n
\n {logo && (\n \n \"Delivr+\"\n \n )}\n {!logo &&
}\n
\n
\n {showMenu && }\n {showMenu && renderMobileMenu()}\n
\n
\n {showMenu && }\n {isShowMenu && }\n {!isMobile && !isLoginPage && }\n
\n
\n
\n );\n};\n\nexport default withRouter(Header);\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport {\n getMessageForSeverity,\n getAlarms,\n getMessageForSeverityTypeNotification,\n getTypeSeverityNotification\n} from \"../../../services/notification\";\nimport { actionAlarmsBarSetShow } from \"../../../store/reducers/notification/notification-actions\";\n\nconst AlarmsBar = ({ t, isOpenAlarmsBar, alarms, alarmsBarSetShow }) => {\n const listAlarms = getAlarms(alarms);\n const getIconName = alarm =>\n getMessageForSeverityTypeNotification(\n getTypeSeverityNotification(alarm.type)\n )[\"imgError\"];\n const getBackgroundColor = alarm =>\n getMessageForSeverityTypeNotification(\n getTypeSeverityNotification(alarm.type)\n )[\"colorBackground\"];\n\n return (\n
\n
\n
\n {t(\"notification.HEADER_LABEL\")}\n
\n
alarmsBarSetShow(false)}>\n X\n
\n
\n
\n {listAlarms.map(alarm => (\n
\n
\n
\n
\n
\n {getMessageForSeverity(alarm)}\n
\n
\n ))}\n
\n
\n );\n};\n\nconst mapStateToProps = state => ({\n isOpenAlarmsBar: state.notifications.data.isOpenAlarmsBar,\n alarms: state.notifications.data.alarms || []\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n alarmsBarSetShow: data => dispatch(actionAlarmsBarSetShow(data))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(AlarmsBar));\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport User from \"../../../services/user\";\nimport { isRTL } from \"../../../services/userModel\";\n\nimport { getPages } from \"../../../utils/routesHelper\";\n\nimport AlarmsBar from \"../AlarmsBar\";\n\nconst AppContent = ({ matches, notification }) => {\n const Pages = getPages();\n return (\n
\n \n \n
\n );\n}\n\nconst mapStateToProps = state => ({\n language: User.instance.getCurrentUserConfigurationProp(\"language\", true),\n notification: state.notifications.data.accountTopNotification\n});\n\nexport default connect(mapStateToProps)(AppContent);","import React, { PureComponent } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { actionDndClearData } from \"../../../store/reducers/orderEdit/orderEdit-actions\";\n\nclass DraggableWrapper extends PureComponent {\n constructor(props) {\n super(props);\n this.draggableWrapper = React.createRef();\n }\n\n componentDidUpdate(prevProps) {\n const { dnd } = this.props;\n if (prevProps.dnd !== dnd) {\n if (dnd && dnd.item) {\n this.handleOnDragStart();\n } else {\n this.handleOnDragEnd();\n }\n }\n }\n\n handleOnDragStart = () => {\n window.addEventListener(\"dragover\", this.handleOnDragOver);\n };\n\n handleOnDragEnd = () => {\n const { dndClearData } = this.props;\n window.removeEventListener(\"dragover\", this.handleOnDragOver);\n dndClearData();\n this.initDraggableWrapperStyle();\n };\n\n handleOnDragOver = e => {\n const { dnd } = this.props;\n const { item, height, width, diffX, diffY } = dnd || {};\n e.preventDefault();\n\n if (item) {\n this.draggableWrapper.current.style.height = `${height}px`;\n this.draggableWrapper.current.style.width = `${width}px`;\n this.draggableWrapper.current.style.left = `${e.pageX - diffX}px`;\n this.draggableWrapper.current.style.top = `${e.pageY - diffY}px`;\n }\n };\n\n initDraggableWrapperStyle = () => {\n this.draggableWrapper.current.style.height = `${0}px`;\n this.draggableWrapper.current.style.width = `${0}px`;\n this.draggableWrapper.current.style.left = `${0}px`;\n this.draggableWrapper.current.style.top = `${0}px`;\n };\n\n render() {\n const { dnd } = this.props;\n const { item, id } = dnd || {};\n\n return (\n \n {item}\n
\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n dnd: state.orderEdit.data.dnd\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n dndClearData: () => dispatch(actionDndClearData())\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(DraggableWrapper);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { getConvertedCloudUrl } from \"../../../utils/image-util\";\n\nconst MapMarkerDepotIcon = ({ id, avatar, value }) => {\n if(!value) return ({id});\n return (\n
\n {!!value && ({id})}\n
\n );\n}\n\nexport default MapMarkerDepotIcon;","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport Color from \"../../../services/color\";\nimport { getLastCharacters } from \"../../../utils/objects-util\";\n\nconst MapMarkerOrderNumberIcon = ({ value }) => {\n const { orderId, icon } = value || {};\n const color = (icon || {}).color\n ? Color.instance.getCodeByColorKey((icon || {}).color)\n : \"#D9D9D9\";\n const fontColor = Color.instance.getFontColorByBackground(color);\n return (\n
\n \n {getLastCharacters(orderId, 5)}\n \n \n
\n );\n}\n\nexport default MapMarkerOrderNumberIcon;","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport User from \"../../../services/user\";\n\nimport MapMarkerOrderNumberIcon from \"../MapMarkerOrderNumberIcon\";\n\nconst MapMarkerOrderIcon = ({ id, marker, avatar, showOrderIdOnMap }) => {\n return (\n
\n {(!showOrderIdOnMap || !(marker || {}).orderId) && ({id})}\n {showOrderIdOnMap && (marker || {}).orderId && ()}\n
\n );\n}\n\nconst mapStateToProps = state => ({\n showOrderIdOnMap: User.instance.getCurrentUserConfigurationProp(\"showOrderIdOnMap\")\n});\n\nexport default connect(mapStateToProps)(MapMarkerOrderIcon);","import React, { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport User from \"../../../services/user\";\n\nimport { TYPE_MARKER } from \"../../../utils/enums\";\nimport { includedMarkerTypesToCheck } from \"../../../utils/constants\";\n\nimport MapMarkerDepotIcon from \"../MapMarkerDepotIcon\";\nimport MapMarkerOrderIcon from \"../MapMarkerOrderIcon\";\n\nconst MapMarker = ({\n id,\n key,\n avatar,\n zIndex,\n orderShakeId,\n marker,\n users,\n orders,\n showOrderIdOnMap,\n onMouseOver,\n onMouseOut,\n onClick \n}) => {\n const isLarge = marker.isLarge && marker.isLarge(users, orders); \n \n const handleOnMouseOver = () => {\n onMouseOver && onMouseOver(marker);\n }\n\n const handleOnMouseOut = () => {\n onMouseOut && onMouseOut(null);\n }\n\n const handleOnClick = e => {\n onClick && onClick(e, marker);\n }\n\n useEffect(()=> {\n \n }, [id, orderShakeId, marker, avatar, showOrderIdOnMap]); \n\n return (\n
\n {avatar && includedMarkerTypesToCheck.includes(marker.markerType) && ({id})}\n {marker.markerType === TYPE_MARKER.depot && (\n \n )}\n {marker.markerType === TYPE_MARKER.order && ()}\n
\n );\n}\n\nconst mapStateToProps = state => ({\n orderShakeId: state.marker.orderShakeId,\n showOrderIdOnMap: User.instance.getCurrentUserConfigurationProp(\"showOrderIdOnMap\")\n});\n\nexport default connect(mapStateToProps)(MapMarker);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport imgPhone from \"../../../assets/images/images/Phone.png\";\nimport imgAddress from \"../../../assets/images/images/Address-grey.png\";\nimport { TYPE_MARKER } from \"../../../utils/enums\";\n\nconst MapInfoBox = ({ content, markerType }) => {\n const items = content && Object.keys(content);\n const imageItems = { phone: imgPhone, address: imgAddress };\n const markersMargin = [TYPE_MARKER.order];\n const marginBottom = markersMargin.includes(markerType) ? \"40px\" : \"25px\";\n\n return (\n
\n {(items || []).map(key => key && (\n
\n {key === \"title\" && (
{content[key]}
)}\n {imageItems[key] && content[key] && (\n
{key} {content[key]}
\n )}\n {!imageItems[key] && key !== \"title\" &&
{content[key] || \"\"}
}\n
\n ))}\n
\n );\n}\n\nexport default MapInfoBox;\n","import React from \"react\";\nimport GoogleMapReact from \"google-map-react\";\nimport * as Sentry from \"@sentry/react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport Marker from \"../MapMarker\";\nimport MarkerInfoBox from \"../MapInfoBox\";\nimport Waiter from \"../Waiter/Waiter\";\n\nimport {\n mapPolygonFill,\n mapPolygonStroke,\n ZOOM_MAX\n} from \"../../../utils/constants\";\nimport {\n isSameObjects,\n getRegionFromGoogle\n} from \"../../../utils/objects-util\";\nimport { DELIVERY_ZONE_TYPE, TYPE_MARKER, WAITER_TYPES } from \"../../../utils/enums\";\nimport { latRad, zoom } from \"../../../utils/math-util\";\n\nimport User from \"../../../services/user\";\nimport {\n getRestaurantBounds,\n getDepotsBounds,\n getGoogleLatLngRegion,\n getOrdersBounds, getDefaultRegion, getDefaultGoogleLatLngBounds\n} from \"../../../services/restaurant\";\nimport { getLatLngFromLocation, locationIsEmpty } from \"../../../services/order\";\nimport Markers from \"../../../services/markers\";\nimport GoogleMapsService from \"../../../services/googleMapsService\";\n\nconst WORLD_DIM = { height: 256, width: 256 };\nconst defaultZoom = 12;\n\nclass Map extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showInfo: false,\n showPolygon:\n !props.isHidePolygon &&\n !User.instance.getCurrentUserConfigurationProp(\"isHideDeliveryRegions\"),\n markerInfo: {},\n location: { latitude: 0, longitude: 0 },\n polygones: [],\n map: undefined,\n isRegistered: this.isGoogleMapRefExist(),\n propsCenter: null,\n center: this.getMapCenter(),\n bounds: null,\n zoom: defaultZoom,\n size: null,\n };\n\n this.onPolygonEdited = this.onPolygonEdited.bind(this);\n }\n\n componentDidMount() {\n const { childRef } = this.props;\n\n if (childRef) {\n childRef(this);\n }\n\n this.updateBounds();\n document.addEventListener(\"dblclick\", this.handleOnDblClick);\n }\n\n componentWillUnmount() {\n const { childRef } = this.props;\n this.unsetMapPolygones();\n if (childRef) {\n childRef(undefined);\n }\n \n document.removeEventListener(\"dblclick\", this.handleOnDblClick); \n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const {\n showInfo,\n markerInfo,\n polygones,\n showPolygon,\n map,\n isRegistered,\n propsCenter,\n bounds,\n zoom,\n size\n } = this.state;\n const {\n markers,\n cursor,\n restaurant,\n location,\n regions,\n region,\n circle,\n isHideDeliveryRegions,\n isReadonly,\n language,\n orderShakeId,\n alwaysShowPolygons,\n } = this.props;\n return isHideDeliveryRegions !== nextProps.isHideDeliveryRegions ||\n isReadonly !== nextProps.isReadonly ||\n markers !== nextProps.markers ||\n showPolygon !== nextState.showPolygon ||\n alwaysShowPolygons !== nextProps.alwaysShowPolygons ||\n cursor !== nextProps.cursor ||\n restaurant !== nextProps.restaurant ||\n location !== nextProps.location ||\n regions !== nextProps.regions ||\n region !== nextProps.region || \n circle !== nextProps.circle ||\n language !== nextProps.language ||\n orderShakeId !== nextProps.orderShakeId ||\n showInfo !== nextState.showInfo ||\n markerInfo !== nextState.markerInfo ||\n polygones !== nextState.polygones ||\n map !== nextState.map ||\n isRegistered !== nextState.isRegistered ||\n propsCenter !== nextState.propsCenter ||\n bounds !== nextState.bounds ||\n zoom !== nextState.zoom ||\n size !== nextState.size;\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { map, size, polygones, showPolygon } = this.state;\n const {\n center,\n region,\n circle,\n regions,\n isHidePolygon,\n isHideDeliveryRegions,\n boundsByRegion,\n boundsByCircle,\n isShowTraffic,\n language, \n depots,\n orderShakeId,\n restaurant,\n alwaysShowPolygons\n } = this.props;\n\n if(language && language !== prevProps.language) {\n GoogleMapsService.instance.registerMap().then(() => {\n this.setState({ isRegistered: true });\n this.forceUpdate();\n });\n }\n\n if(circle !== prevProps.circle && boundsByCircle) {\n this.updateBounds(null, false, false);\n }\n\n if(region !== prevProps.region && boundsByRegion) {\n this.updateBounds(null, false, false);\n }\n\n if (\n map !== prevState.map ||\n region !== prevProps.region ||\n regions !== prevProps.regions ||\n circle !== prevProps.circle\n ) {\n if (map) {\n this.fillMapPolygones();\n }\n } else if (map && (polygones !== prevState.polygones || !isSameObjects(prevState.showPolygon, showPolygon))) {\n this.setMapPolygones();\n }\n\n if (isHideDeliveryRegions !== prevProps.isHideDeliveryRegions || alwaysShowPolygons !== prevProps.alwaysShowPolygons) {\n const isShowPolygone = alwaysShowPolygons || (!isHidePolygon && !isHideDeliveryRegions);\n this.setState({ showPolygon: isShowPolygone });\n\n if (isShowPolygone) {\n // this.setMapPolygones();\n } else {\n this.unsetMapPolygones();\n }\n }\n\n if(center !== prevProps.center && !orderShakeId && !this.isOnMapClick) {\n this.updateBounds(null, false);\n } else {\n this.isOnMapClick = false;\n }\n\n if(this.isSizeChanged(prevState.size, size) && !this.isOnMapClick) {\n this.updateBounds();\n } else {\n this.isOnMapClick = false;\n }\n\n if(orderShakeId !== prevProps.orderShakeId) {\n const map = document.getElementById(\"map-container-service\");\n const el = document.getElementById(orderShakeId);\n const rect = el && el.getBoundingClientRect();\n const mapRect = map && map.getBoundingClientRect();\n\n if(rect && mapRect &&\n !(rect.top >= mapRect.top &&\n rect.left >= mapRect.left &&\n rect.bottom <= mapRect.bottom &&\n rect.right <= mapRect.right\n )\n ) {\n this.updateBounds(orderShakeId, false);\n } \n }\n\n if (isShowTraffic !== prevProps.isShowTraffic) {\n this.setTrafficLayer();\n }\n\n if(depots && depots.length && depots !== prevProps.depots && locationIsEmpty(this.state.center)) {\n this.setState({ center: this.getMapCenter() });\n }\n\n if(restaurant !== prevProps.restaurant && (!restaurant || !restaurant.depots)) {\n this.unsetMapPolygones();\n }\n }\n\n updateBounds = (orderShakeId, isChangeZoom = true, isChangeCenter = true) => {\n const { center, markers } = this.props; \n try {\n const orderBounds = getOrdersBounds((markers || [])\n .filter(marker => marker.markerType === TYPE_MARKER.order)\n .map(marker => marker.location)\n );\n\n let marker = orderShakeId && markers && markers.find(f=> f.id === orderShakeId);\n let bounds = this.getBounds(marker, orderBounds);\n\n if (bounds) {\n const newBounds = this.getGoogleMapReactBounds(bounds);\n const boundsCenter = bounds.getCenter();\n const newCenter = boundsCenter\n ? { lat: boundsCenter.lat() || 0, lng: boundsCenter.lng() || 0 }\n : { lat: 0, lng: 0 }\n\n const newState = {\n zoom: isChangeZoom ? this.getZoom(marker, bounds, orderBounds) : (this.props.zoom || this.state.zoom),\n bounds: newBounds,\n }\n if(isChangeCenter) {\n newState.propsCenter = center;\n newState.center = center ? this.getMapCenter(marker) : newCenter;\n }\n\n this.setState(newState, ()=> {\n this.isOnMapClick = false;\n });\n } else {\n this.isOnMapClick = false\n }\n } catch(e) {\n \n }\n };\n\n getBounds = (marker, orderBounds) => {\n const { center, region, boundsByRegion, boundsByCircle, circle} = this.props;\n if(!window.google) return null;\n const bounds = new window.google.maps.LatLngBounds();\n\n try {\n\n if(boundsByRegion && region && region.locations) {\n region.locations.forEach(r => {\n bounds.extend(getGoogleLatLngRegion(r));\n });\n return bounds;\n }\n\n if(boundsByCircle && circle) {\n const circlePolygon = this.getCirclePolygon(circle);\n const circleBounds = circlePolygon.getBounds();\n const circleNorthEast = circleBounds.getNorthEast();\n const circleGetSouthWest = circleBounds.getSouthWest();\n bounds.extend(getGoogleLatLngRegion({lat: circleNorthEast.lat(), lng: circleNorthEast.lng()}));\n bounds.extend(getGoogleLatLngRegion({lat: circleGetSouthWest.lat(), lng: circleGetSouthWest.lng()}));\n return bounds;\n }\n\n if(marker && !locationIsEmpty(marker.location, true)) {\n bounds.extend(getGoogleLatLngRegion(marker.location));\n return bounds;\n }\n\n const restBounds = getRestaurantBounds(false);\n if(restBounds) {\n bounds.union(restBounds);\n }\n\n if(orderBounds) {\n bounds.union(orderBounds);\n }\n\n if (!locationIsEmpty(center, true)) {\n bounds.extend(getGoogleLatLngRegion(center));\n }\n\n return bounds;\n }\n catch(e) {\n return null;\n }\n }\n\n getZoom = (marker, bounds, orderBounds) => {\n const { size, zoom } = this.state; \n\n if(!window.google) return ZOOM_MAX;\n\n const newZoom = this.getBoundsZoomLevel(bounds, size, true);\n const restBounds = getRestaurantBounds();\n const regionsZoom = (restBounds && orderBounds)\n ? this.getBoundsZoomLevel(getRestaurantBounds().union(orderBounds), size)\n : 0; \n\n return marker \n ? zoom\n : Math.max(newZoom, Number.isInteger(regionsZoom) ? regionsZoom : 0)\n }\n\n setTrafficLayer = () => {\n const { map } = this.state;\n const { isShowTraffic } = this.props;\n if (isShowTraffic) {\n if(!window.google || !window.google.maps) {\n GoogleMapsService.instance.getAutocompleteService().then(() => {\n this.trafficLayer = new window.google.maps.TrafficLayer();\n this.trafficLayer.setMap(map);\n });\n } else {\n this.trafficLayer = new window.google.maps.TrafficLayer();\n this.trafficLayer.setMap(map);\n } \n } else {\n this.trafficLayer = null;\n }\n };\n\n getMapCenter = marker => {\n const { restaurant, center, location } = this.props;\n try {\n const bounds = getDefaultGoogleLatLngBounds();\n\n if (!locationIsEmpty(center, true)) {\n bounds.extend(getGoogleLatLngRegion(center));\n\n const newCenter = bounds.getCenter();\n if(newCenter) {\n return { lat: newCenter.lat() || 0, lng: newCenter.lng() || 0 };\n }\n }\n\n\n if(!locationIsEmpty((marker || {}).location, true)) {\n const markerLtLn = getGoogleLatLngRegion(marker.location);\n\n if(markerLtLn)\n bounds.extend(markerLtLn);\n\n const markerCenter = bounds.getCenter();\n return {\n lat: markerCenter.lat() || 0,\n lng: markerCenter.lng() || 0\n };\n }\n\n const depotBounds = getDepotsBounds(restaurant); \n if (!depotBounds || !bounds) {\n return location\n ? {\n lat: location.latitude || (location.center && location.center.lat) || 0,\n lng: location.longitude || (location.center && location.center.lng) || 0\n }\n : { lat: 0, lng: 0 };\n } else {\n bounds.extend(depotBounds);\n }\n\n const newCenter = bounds.getCenter();\n return { lat: newCenter.lat() || 0, lng: newCenter.lng() || 0 };\n } catch(e) {} \n };\n\n getBoundsZoomLevel = (latLngBounds, mapDim, isDefaultZoom) => {\n const ne = latLngBounds.getNorthEast();\n const sw = latLngBounds.getSouthWest();\n const latFraction = (latRad(ne.lat() || 0) - latRad(sw.lat() || 0)) / Math.PI;\n const lngDiff = ne.lng() - sw.lng();\n const lngFraction = (lngDiff < 0 ? lngDiff + 360 : lngDiff) / 360;\n const latZoom = zoom((mapDim || {}).height || 0, WORLD_DIM.height, latFraction);\n const lngZoom = zoom((mapDim || {}).width || 0, WORLD_DIM.width, lngFraction);\n\n return isDefaultZoom\n ? Math.min(latZoom, lngZoom, defaultZoom, ZOOM_MAX)\n : Math.min(latZoom, lngZoom, ZOOM_MAX);\n };\n\n handleGoogleApiLoaded(map) {\n this.setState({ map });\n }\n\n getGoogleMapReactBounds = latLngBounds => {\n if (!latLngBounds) return null;\n const NECorner = latLngBounds.getNorthEast();\n const SWCorner = latLngBounds.getSouthWest();\n\n return {\n ne: { lat: NECorner.lat() || 0, lng: NECorner.lng() || 0 },\n nw: { lat: NECorner.lat() || 0, lng: SWCorner.lng() || 0 },\n se: { lat: SWCorner.lat() || 0, lng: NECorner.lng() || 0 },\n sw: { lat: SWCorner.lat() || 0, lng: SWCorner.lng() || 0 }\n };\n };\n\n isGoogleMapRefExist = () => !!window.google && !!window.google.maps;\n\n isSizeChanged = (prevSize, size) => {\n const { height, width } = size || {};\n return (!prevSize || !prevSize.height || !prevSize.width) && height && width;\n }\n\n fillMapPolygones = () => {\n const { regions, region, circle, isReadonly, renderPolygonsFromBusiness, businessPolygones } = this.props;\n\n if(this.isGoogleMapRefExist()) {\n let polygones = [];\n\n if(renderPolygonsFromBusiness){\n polygones = businessPolygones\n .reduce((accumulator, businessPolygon) => {\n let polygon = null;\n switch (businessPolygon.type) {\n case DELIVERY_ZONE_TYPE.circle:\n const data = (businessPolygon.data || {}).circle;\n if(data)\n polygon = this.getCirclePolygon({ ...data, radius: (data.radio || 0) * 1000, id: businessPolygon.id });\n break;\n case DELIVERY_ZONE_TYPE.polygon:\n polygon = this.getPolygon(businessPolygon.id, (businessPolygon.data || {}).region, false);\n break;\n default:\n break;\n }\n\n if(polygon)\n accumulator.push(polygon);\n return accumulator;\n }, [])\n } else {\n if(circle) {\n polygones.push(this.getCirclePolygon(circle, true))\n } else {\n polygones = (region ? (regions || []).filter(f => f.id !== region.id) : (regions || [])).reduce((acc, regionPolygon)=> {\n const item = this.getPolygon(regionPolygon.id, regionPolygon.region, false);\n if(item)\n acc.push(item);\n return acc;\n }, []);\n\n if(((region || {}).locations || []).length) {\n polygones.push(this.getPolygon(region.id, region.locations, !isReadonly));\n } else {\n if(region) this.getPolygon(region.id, getDefaultRegion(this.state.center), true);\n }\n }\n }\n\n this.unsetMapPolygones();\n this.setState({ polygones });\n }\n };\n\n getPolygon = (id, locations, isEditable) => {\n if (!locations) return\n return new window.google.maps.Polygon({\n id: id,\n editable: isEditable,\n paths: locations.filter(location=> !locationIsEmpty(location)).map(location => {\n return {\n lat: location.lat || location.latitude,\n lng: location.lng || location.longitude\n };\n }),\n strokeColor: mapPolygonFill.color,\n strokeOpacity: mapPolygonFill.opacity,\n strokeWeight: mapPolygonFill.weight,\n fillColor: mapPolygonStroke.color,\n fillOpacity: mapPolygonStroke.opacity\n });\n };\n\n getCirclePolygon = (circle, isEditable = false) => {\n const { lat, latitude, lng, longitude } = (circle || {}).center || {};\n\n return new window.google.maps.Circle({\n id: (circle || {}).id || \"CirclePolygon\",\n editable: isEditable,\n strokeColor: mapPolygonFill.color,\n strokeOpacity: mapPolygonFill.opacity,\n strokeWeight: 2,\n fillColor: mapPolygonStroke.color,\n fillOpacity: 0.3,\n center: { lat: lat || latitude || 0, lng: lng || longitude || 0 },\n radius: (circle || {}).radius || (circle || {}).radio\n });\n };\n\n setMapPolygones = () => {\n const { map, showPolygon, polygones } = this.state;\n const { isHidePolygon, region, circle, isReadonly } = this.props;\n\n if (map) {\n polygones.forEach(polygon => {\n if (circle || (region && region.id === polygon.id)) {\n polygon.setMap(map);\n\n if(!isReadonly) { \n this.polygon = polygon; \n if(circle) {\n if(!this.infoWindowForCircleRadius) {\n this.infoWindowForCircleRadius = new window.google.maps.InfoWindow({\n content: \"\",\n });\n }\n\n if(this.infoWindowForCircleRadius){\n polygon.addListener(\"mouseover\", () => this.onShowRadius(circle))\n polygon.addListener(\"mouseout\", this.onHideRadius)\n }\n\n\n polygon.center_changed = this.onCircleEdited;\n polygon.radius_changed = this.onCircleEdited;\n } else {\n this.path = polygon.getPath();\n if (this.path) {\n window.google.maps.event.addListener(this.path, \"insert_at\", this.onPolygonEdited);\n window.google.maps.event.addListener(this.path, \"remove_at\", this.onPolygonEdited);\n window.google.maps.event.addListener(this.path, \"set_at\", this.onPolygonEdited);\n }\n \n window.google.maps.event.addListener(this.polygon, \"rightclick\", this.onPolygonDelete);\n }\n } \n } else {\n if(map) {\n polygon.setMap(!isHidePolygon && showPolygon ? map : null);\n } \n } \n }); \n }\n };\n\n unsetMapPolygones = () => {\n const { polygones } = this.state;\n if (polygones) {\n polygones.forEach(polygon => {\n polygon.setMap(null);\n });\n }\n\n if (this.polygon) {\n let oldPath = null;\n if (this.polygon.getPath) oldPath = this.polygon.getPath();\n if (window.google && window.google.maps && oldPath) {\n window.google.maps.event.clearListeners(oldPath, \"insert_at\");\n window.google.maps.event.clearListeners(oldPath, \"remove_at\");\n window.google.maps.event.clearListeners(oldPath, \"set_at\");\n window.google.maps.event.clearListeners(this.polygon, \"rightclick\");\n }\n if (this.polygon.setMap) this.polygon.setMap(null);\n }\n\n this.polygon = null;\n this.path = null;\n };\n\n onCircleEdited = () => {\n const center = this.polygon.getCenter();\n const radius = this.polygon.getRadius();\n this.onHideRadius();\n\n this.onRegionChange({\n center: center\n ? { lat: center.lat(), lng: center.lng() }\n : this.state.center,\n radius\n });\n }\n\n onShowRadius = (circle) => {\n const {map} = this.state;\n if(map && this.infoWindowForCircleRadius) {\n this.infoWindowForCircleRadius.open(map);\n const convertedRadius = (Math.round(circle.radius || 0) / 1000).toFixed(1);\n this.infoWindowForCircleRadius.setContent(convertedRadius + \" km\");\n this.infoWindowForCircleRadius.setPosition(circle.center);\n }\n }\n\n onHideRadius = () => {\n this.infoWindowForCircleRadius && this.infoWindowForCircleRadius.close()\n }\n\n onPolygonEdited = () => {\n if (this.onRegionChange) {\n const path = this.polygon.getPath();\n this.onRegionChange(getRegionFromGoogle(path));\n }\n };\n\n onPolygonDelete = event => {\n if (event.path != null && event.vertex != null) {\n const path = this.polygon.getPaths().getAt(event.path);\n if (path.getLength() > 3) {\n path.removeAt(event.vertex);\n }\n }\n };\n\n setMapBounds = mapBounds => {\n const { onChangeMapCenter } = this.props;\n const { center, bounds, zoom, size } = mapBounds;\n if (onChangeMapCenter) onChangeMapCenter(mapBounds);\n this.setState({ center, bounds, zoom, size });\n };\n\n getMarkerContentInfo = (type, id) => {\n const { t, orders, depots, users } = this.props;\n let content = {};\n\n switch (type) {\n case TYPE_MARKER.order:\n content = Markers.instance.getOrderContent(orders.find(f => f.id === id));\n break;\n case TYPE_MARKER.depot:\n const depot = depots.find(f => f.id === id);\n const depotOrders = orders.filter(order => order.depotId === id) || [];\n content = Markers.instance.getDepotContent(depot);\n content.title = depot\n ? depot?.name + \" - \" + depotOrders.length + \" \" + t(\"map.TITLE_ORDERS\")\n : t(\"map.TITLE_ORDERS\");\n break;\n case TYPE_MARKER.courier:\n content = Markers.instance.getCourierContent(users.find(f => f.userId === id));\n break;\n default:\n break;\n }\n\n return content;\n };\n\n handleOnMarkerClick = (e, marker) => {\n e.stopPropagation();\n\n if (marker) {\n this.clickLocation = {\n lat: marker.location.latitude,\n lng: marker.location.longitude\n };\n if (this.onMarkerClick) this.onMarkerClick(marker);\n }\n };\n\n registerHandlers = ({ onMarkerClick, onMapClick, onRegionChange }) => {\n this.onMarkerClick = onMarkerClick;\n this.onMapClick = onMapClick;\n this.onRegionChange = onRegionChange;\n };\n\n unregisterHandlers = () => {\n this.onMarkerClick = null;\n this.onMapClick = null;\n this.onRegionChange = null;\n };\n\n handlerOnShowMarkerInfo = marker => {\n const { markers } = this.props;\n const existMarker = marker ? markers.find(f => f.id === marker.id) : null;\n const existMarkerContent = (existMarker && existMarker.content);\n const isShowMarker = !!marker;\n\n this.setState({\n showInfo: isShowMarker,\n markerInfo: isShowMarker\n ? {\n content: existMarkerContent || this.getMarkerContentInfo(marker.markerType, marker.id),\n location: marker.location,\n markerType: marker.markerType\n }\n : null\n });\n };\n\n handleOnSetCenter = e => {\n if (e) e.stopPropagation();\n return new Promise(resolve => {\n resolve();\n this.setState({ center: this.getMapCenter() }, () => this.updateBounds());\n });\n };\n\n handleOnMapClick = clickLocation => {\n this.clickLocation = clickLocation;\n if (this.onMapClick) {\n this.isOnMapClick = true;\n this.onMapClick(clickLocation);\n }\n };\n\n handleOnDblClick = e => {\n const { zoom, center } = this.state || {};\n if(e.ctrlKey) {\n this.setState({ \n zoom: (zoom || 0) + 3, \n center: this.clickLocation\n ? { lng: this.clickLocation.lng, lat: this.clickLocation.lat }\n : center\n });\n }\n }\n\n render() {\n const { t, restaurant, markers, users, orders, isHidePolygon, cursor, isHideDeliveryRegions } = this.props;\n const { markerInfo, showInfo, showPolygon, center, zoom, bounds, isRegistered } = this.state;\n return (\n
\n {isRegistered && (\n this.handleGoogleApiLoaded(map)}\n onClick={this.handleOnMapClick.bind(this)}\n onChange={this.setMapBounds}\n shouldUnregisterMapOnUnmount={false}\n style={{ height: \"100%\", width: \"100%\" }}\n >\n {(markers || []).map((marker, index) => {\n if(locationIsEmpty(marker.location)) {\n Sentry.captureException(`Error marker location. Marker id: ${marker.id}, type: ${marker.markerType}. Location: ${marker.location}`);\n }\n return (\n \n )\n })}\n\n {showInfo && markerInfo && (\n \n )}\n \n )}\n {!isHidePolygon && this.state.isRegistered && !isHideDeliveryRegions && (\n \n )}\n
this.handleOnSetCenter(e)}>\n \n
\n
\n );\n }\n}\n\nexport default Map;\n\n","import { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport User from \"../../../services/user\";\nimport { getActiveUsers, getMapRegionsFiltered } from \"../../../services/filter\";\n\nimport Map from \"../../components/Map\";\n\nconst mapStateToProps = state => {\n return {\n restaurant: state.restaurant.data,\n location: state.restaurant.data.location,\n regions: getMapRegionsFiltered((state.restaurant.data.configuration || {}).regions, state.restaurant.data.selectedControlCenter),\n groups: state.order.data.groups || [],\n users: getActiveUsers(state.userModel.data, state.order.data.orders, state.restaurant.data.selectedControlCenter),\n orders: state.order.data.orders || [],\n depots: state.restaurant.data.depots || [],\n isHideDeliveryRegions: User.instance.getCurrentUserConfigurationProp(\"isHideDeliveryRegions\"),\n isShowTraffic: User.instance.getCurrentUserConfigurationProp(\"isShowTraffic\"),\n orderShakeId: state.marker.orderShakeId,\n language: User.instance.getCurrentUserInfo() && User.instance.getCurrentUserInfo().configuration.language,\n businessPolygones: ((state.restaurant.data.businessMenu || {}).delivery_zones) || [],\n alwaysShowPolygons: state.portalMap.alwaysShowPolygons,\n };\n};\n\nexport default connect(mapStateToProps)(withTranslation()(Map));\n","import React, { useContext } from \"react\";\nimport { connect } from \"react-redux\";\nimport { createPortal } from \"react-dom\";\n\nimport { PortalMapContext } from \"../../../context/portalMap-context\";\n\nimport Map from \"../../containers/MapContainer\";\n\nconst PortalMap = props => {\n const { zoom, markers, center, region, circle, isHidePolygon, isReadonly, renderPolygonsFromBusiness, businessPolygones, boundsByRegion, boundsByCircle, alwaysShowPolygons } = props;\n const portalMapContext = useContext(PortalMapContext);\n return createPortal(\n (portalMapContext.mapRef = ref)}\n markers={markers}\n center={center}\n region={region}\n circle={circle}\n isHidePolygon={isHidePolygon}\n isReadonly={isReadonly}\n renderPolygonsFromBusiness={renderPolygonsFromBusiness}\n alwaysShowPolygons={alwaysShowPolygons}\n businessPolygones={businessPolygones}\n zoom={zoom}\n boundsByRegion={boundsByRegion}\n boundsByCircle={boundsByCircle}\n />,\n document.getElementById(\"map-container\")\n );\n};\n\nconst mapStateToProps = state => ({\n markers: state.portalMap.markers || [],\n center: state.portalMap.center,\n region: state.portalMap.region,\n circle: state.portalMap.circle,\n isHidePolygon: state.portalMap.isHidePolygon,\n isReadonly: state.portalMap.isReadonly,\n renderPolygonsFromBusiness: state.portalMap.renderPolygonsFromBusiness,\n alwaysShowPolygons: state.portalMap.alwaysShowPolygons,\n zoom: state.portalMap.zoom,\n boundsByRegion: state.portalMap.boundsByRegion,\n boundsByCircle: state.portalMap.boundsByCircle,\n});\n\nexport default connect(mapStateToProps)(PortalMap);\n","import React, {useEffect, useRef, useState} from 'react';\nimport {connect} from 'react-redux';\nimport {createPortal} from 'react-dom';\nimport classNames from 'classnames';\nimport './index.scss';\nimport {isRTL} from '../../../services/userModel.js';\n\nconst TooltipControl = ({ tooltipText, position, isNeverRtl, tooltipIsHTML }) => {\n const ref = useRef();\n const [currentPos, setCurrentPos] = useState(position);\n const tooltipPosition = (ref && ref.current && ref.current.getBoundingClientRect()) || {};\n const { innerWidth } = window;\n const newPositionTop = (currentPos && currentPos.top - tooltipPosition.height - 8) || 0;\n const isTopOverflow = newPositionTop < 0;\n const newPositionLeft = isTopOverflow\n ? (currentPos && currentPos.left + currentPos.width / 2 - (tooltipPosition.width || 0)) || 0\n : (currentPos && currentPos.left + currentPos.width / 2 - (tooltipPosition.width || 0) / 2) || 0;\n const isLeftOverflow = newPositionLeft < 0;\n const isRightOverflow = isTopOverflow\n ? newPositionLeft + tooltipPosition.width + 250 > innerWidth\n : newPositionLeft + tooltipPosition.width > innerWidth;\n const marginCorrection = 7; //Fix for top/left/right side tooltip cordon overflow\n\n useEffect(() => {\n setCurrentPos(position);\n }, [position]);\n\n return (\n \n {tooltipIsHTML && (\n
\n )}\n {!tooltipIsHTML && (\n
{tooltipText}
\n )}\n \n
\n );\n};\n\nconst TooltipPortal = props => {\n const { tooltipText, position, isNeverRtl, tooltipIsHTML } = props;\n\n return createPortal(\n ,\n document.getElementById('tooltipPortal-container')\n );\n};\n\nconst mapStateToProps = state => ({\n tooltipText: state.tooltipPortal.tooltipText,\n position: state.tooltipPortal.position,\n isNeverRtl: state.tooltipPortal.isNeverRtl,\n tooltipIsHTML: state.tooltipPortal.tooltipIsHTML,\n});\n\nexport default connect(mapStateToProps)(TooltipPortal);\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport { connect } from \"react-redux\";\nimport { createPortal } from \"react-dom\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { actionGlobalPortalDataUpdate } from \"../../../store/reducers/globalPortalData/globalPortalData-actions\";\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nconst IFrameControlPortal = ({ globalIFrameUrl, globalPortalDataUpdate, action }) => {\n const [popupWindow, setPopupWindow] = useState(null);\n const height = 500;\n const width = 500;\n const left = (window.screen.width / 2) - (width / 2);\n const top = (window.screen.height / 2) - (height / 2);\n\n const handleOnClose = useCallback(urlData => {\n globalPortalDataUpdate({ globalIFrameUrl: null });\n setPopupWindow(null);\n\n if(urlData && urlData.action) {\n action(urlData.action, { ...urlData.actionData, isSecondTime: true });\n }\n }, [action, globalPortalDataUpdate]);\n\n useEffect(()=> {\n if(globalIFrameUrl && !popupWindow) {\n setPopupWindow(\n window.open(globalIFrameUrl.url, globalIFrameUrl.title, \n `resizable=no,location=no,toolbar=no,menubar=no,debug=true,width=${width},height=${height},left=${left},top=${top}`\n )\n );\n }\n\n const timer = setInterval(function() { \n if(popupWindow && popupWindow.closed) {\n clearInterval(timer);\n handleOnClose(globalIFrameUrl);\n }\n }, 1000);\n }, [globalIFrameUrl, popupWindow, left, top, handleOnClose]);\n\n return createPortal(\n
,\n document.getElementById(\"iFrameControlPortal-container\")\n );\n}\n\nconst mapStateToProps = state => {\n return {\n globalIFrameUrl: state.globalPortalData.globalIFrameUrl\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n globalPortalDataUpdate: data=> dispatch(actionGlobalPortalDataUpdate(data)),\n action: (action, data)=> dispatch(createAction(action, data))\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(IFrameControlPortal);","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { toast } from \"react-toastify\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { ORDER_TYPE, DELIVERY_STRATEGY, INTEGRATION_TYPE } from \"../../../utils/enums\";\nimport { defaultPromiseResolve } from \"../../../utils/objects-util\";\nimport {\n getPlaceOrAddress,\n getPickupPlaceOrAddress,\n getOrderTime,\n getConvertedTargetTime,\n getIsShowReadinessTime\n} from \"../../../services/order\";\nimport { getAppartmentNumber } from './../../../services/order';\nimport { getDepotName, getDepotPhone, getDepotAvatar } from \"../../../services/restaurant\";\n\nimport TimeAsap from \"../TimeAsap\";\nimport OrderStateControl from \"../OrderStateControl\";\nimport IconButton from \"../IconButton\";\nimport ReadinessTimeInfo from \"../ReadinessTimeInfo\";\n\nconst GroupbarOrderItemPreview = ({\n t,\n order,\n selected,\n changeOrderIndex,\n onOrderTitleClick,\n onSetBaseWaiter\n}) => {\n const handleOnChangeOrderIndex = newIndex => {\n onSetBaseWaiter(true).then(()=> {\n changeOrderIndex({ order, newIndex }).then(()=> {\n onSetBaseWaiter(false);\n }, error=> {\n toast.error(error);\n onSetBaseWaiter(false);\n });\n }); \n }\n\n const depotAvatar = order.type === ORDER_TYPE.pickUp ? getDepotAvatar(order) : null;\n\n return (\n
\n
\n
\n
\n
handleOnChangeOrderIndex(order.index - 1) } />\n
handleOnChangeOrderIndex(order.index + 1) } />\n
\n
\n
onOrderTitleClick(order)}>\n {order.isHighPriority && ()}\n {getDepotName(order)}\n {order.type !== ORDER_TYPE.pickUp && (\n  / \n )}\n {order.type !== ORDER_TYPE.pickUp && (\n {order.orderId}\n )}\n
\n
\n
\n \n \n {order.type !== ORDER_TYPE.pickUp ? getPlaceOrAddress(order) : getPickupPlaceOrAddress(order)}\n {getAppartmentNumber(order) && (\n  {t(\"dashboard.orders.APPARTMENT\")}: {getAppartmentNumber(order)}\n )}\n \n
\n
\n \n \n {order.type !== ORDER_TYPE.pickUp && (order.notes)}\n \n
\n
\n \n {order.type !== ORDER_TYPE.pickUp ? order.consumerPhone || \"--\" : getDepotPhone(order) || \"--\"}\n
\n
\n
\n {order.type === ORDER_TYPE.pickUp && (\n
\n {depotAvatar && (\"depot-avatar\")}\n
\n )}\n {order.type !== ORDER_TYPE.pickUp && (\n
\n
\n \n {order.deliveryStrategy === DELIVERY_STRATEGY.concreteTime && (\n
\n \n {getConvertedTargetTime(order, true)}\n
\n )}\n \n
\n
\n \n
\n
\n
\n
\n
\n {order.integrationType === INTEGRATION_TYPE.ordering && (\n \n )}\n {order.integrationType === INTEGRATION_TYPE.kiosk && (\n \n )} \n
\n
{getOrderTime(order)}
\n
\n
\n )}\n
\n
\n );\n};\n\nexport default withTranslation()(GroupbarOrderItemPreview);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { usePreview } from \"react-dnd-preview\"\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { DND_TYPES } from \"../../../utils/constants\";\n\nimport GroupbarOrderItemPreview from \"../GroupbarOrderItem/GroupbarOrderItemPreview\";\n\nconst DndPreviewControl = () => {\n const {display, itemType, item, style} = usePreview();\n return (\n
\n {itemType === DND_TYPES.group_bar_order && display && item && (\n \n )}\n
\n );\n}\n\nconst mapStateToProps = state => ({\n orders: state.order.data.orders || []\n});\n\nexport default connect(mapStateToProps)(DndPreviewControl);","// The basics\nimport React, { useEffect, useState } from \"react\";\nimport * as Sentry from \"@sentry/react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router\";\nimport { ToastContainer } from \"react-toastify\";\nimport MediaQuery from \"react-responsive\";\nimport { HTML5Backend } from 'react-dnd-html5-backend'\nimport { TouchBackend } from 'react-dnd-touch-backend'\n\nimport { DndProvider, TouchTransition, MouseTransition } from 'react-dnd-multi-backend';\nimport \"./app.scss\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nimport InitService from \"../services/initService\";\nimport mainFunction from \"../utils/extend\";\nimport { createAction } from \"../utils/sagaHelper\";\nimport { IsInitAllowed } from \"../utils/routesHelper\";\nimport { excludedUrls } from \"../utils/constants\";\nimport { INIT_START } from \"../store/reducers/init/init-actions\";\nimport { CHECK_USER_AUTHENTICATION } from \"../store/reducers/authentication/authentication-actions\";\nimport { GET_INITIAL_DATA } from \"../store/reducers/common-actions\";\n\nimport Header from \"./components/Header\";\nimport AppContent from \"./components/AppContent\";\nimport DraggableWrapper from \"./components/DraggableWrapper\";\nimport PortalMap from \"./components/PortalMap/PortalMap\";\nimport TooltipPortal from \"./components/TooltipPortal\";\nimport GlobalPopupMessagePortal from \"./components/GlobalPopupMessagePortal\";\nimport IFrameControlPortal from \"./components/IFrameControlPortal\";\nimport DndPreviewControl from \"./components/DndPreviewControl\";\nimport { getAccessToken } from '../utils/auth-util';\nimport { GET_DIALOGS_SUPPORT } from '../store/reducers/supportChat/supprtChat-actions.js';\nimport {TranslationUIProvider} from \"delivapp-ordering\";\nimport translationLib from \"../utils/translationLib.js\";\nimport i18n from \"../i18n.js\";\nimport moment from \"moment/moment.js\";\n\nconst App = ({ history, checkUserAuthentication, initStart, getInitialData, getDialogs }) => {\n const [isChecked, setIsChecked] = useState(false);\n const [isAccessTokenExist, setIsAccessTokenExist] = useState(false)\n const [intervalState, setIntervalState] = useState(0)\n \n const getShowMenu = () => !excludedUrls.includes(history.location.pathname);\n\n const HTML5toTouch = {\n backends: [\n {\n id: 'html5',\n backend: HTML5Backend,\n transition: MouseTransition,\n },\n {\n id: 'touch',\n backend: TouchBackend,\n options: {\n enableMouseEvents: true,\n ignoreContextMenu: true,\n delayTouchStart: 300\n },\n preview: true,\n transition: TouchTransition,\n skipDispatchOnTransition: true\n },\n ],\n }\n\n useEffect(() => {\n let interval = 0\n if(!getAccessToken() && history.location.pathname !== \"/login\") {\n interval = setInterval(() => {\n setIsAccessTokenExist(!!getAccessToken())\n }, 1000)\n setIntervalState(interval)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n moment.locale(i18n.language, {\n relativeTime : {\n future : i18n.t('time.future'),\n past : i18n.t('time.past'),\n s : i18n.t('time.s'),\n m : i18n.t('time.m'),\n mm : i18n.t('time.mm'),\n h : i18n.t('time.h'),\n hh : i18n.t('time.hh'),\n d : i18n.t('time.d'),\n dd : i18n.t('time.dd'),\n M : i18n.t('time.M'),\n MM : i18n.t('time.MM'),\n y : i18n.t('time.y'),\n yy : i18n.t('time.yy')\n },\n })\n // eslint-disable-next-line\n }, [i18n.language]);\n\n useEffect(()=> {\n mainFunction();\n checkUserAuthentication()\n .then(() => {\n InitService.instance.init();\n if (IsInitAllowed(history.location.pathname)) {\n initStart().then(() => {\n clearInterval(intervalState)\n setIsChecked(true);\n getInitialData();\n\n if(history.location.pathname === \"/login\") {\n history.push(\"/\");\n }\n }).then(() => {\n getDialogs()\n });\n } else {\n setIsChecked(true);\n }\n })\n .catch(() => {\n setIsChecked(true);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [history, checkUserAuthentication, initStart, getInitialData, isAccessTokenExist]);\n\n return (\n (\n \n
{error.toString()}
\n
{componentStack}
\n \n
\n )}\n >\n \n \n {matches => (\n \n
\n \n \n {isChecked &&
}\n {isChecked && }\n \n
\n \n \n \n \n
\n
\n
\n )}\n
\n
\n \n );\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n initStart: data => dispatch(createAction(INIT_START, data)),\n checkUserAuthentication: data => dispatch(createAction(CHECK_USER_AUTHENTICATION, data)),\n getInitialData: ()=> dispatch(createAction(GET_INITIAL_DATA, {})),\n getDialogs: () => dispatch(createAction(GET_DIALOGS_SUPPORT, {}))\n };\n};\n\nexport default Sentry.withProfiler(withRouter(connect(null, mapDispatchToProps)(App)));\n","import i18n from \"../i18n.js\";\n\nexport default () => {\n return {\n cutlery: {\n addCutlery: i18n.t('uilib.cutlery.ADD_CUTLERY'),\n cutlery: i18n.t('uilib.cutlery.ADD_CUTLERY'),\n },\n checkoutFormItem: {\n change: i18n.t('uilib.checkoutFormItem.CHANGE'),\n },\n gift: {\n itsGift: i18n.t('uilib.gift.ITS_GIFT'),\n name: i18n.t('uilib.gift.NAME'),\n namePlaceholder: i18n.t('uilib.gift.NAME_PLACEHOLDER'),\n greeting: i18n.t('uilib.gift.GREETING'),\n greetingPlaceholder: i18n.t('uilib.gift.GREETING_PLACEHOLDER'),\n phone: i18n.t('uilib.gift.PHONE'),\n phonePlaceholder: i18n.t('uilib.gift.PHONE_PLACEHOLDER'),\n },\n bagesPaymentsOrderSummary: {\n discount: i18n.t('uilib.bagesPaymentsOrderSummary.DISCOUNT'),\n freeDelivery: i18n.t('uilib.bagesPaymentsOrderSummary.FREE_DELIVERY'),\n bonuses: i18n.t('uilib.bagesPaymentsOrderSummary.BONUSES'),\n },\n tag: {\n vegan: i18n.t('uilib.tag.VEGAN'),\n vegetarian: i18n.t('uilib.tag.VEGETARIAN'),\n spicy: i18n.t('uilib.tag.SPICY'),\n freeGluten: i18n.t('uilib.tag.FREE_GLUTEN'),\n },\n errorConstructor: {\n selectOneOf: i18n.t('uilib.errorConstructor.SELECT_ONE_OF'),\n selectAtLeast: i18n.t('uilib.errorConstructor.SELECT_AT_LEAST'),\n for: i18n.t('uilib.errorConstructor.FOR'),\n maximumAvailable: i18n.t('uilib.errorConstructor.MAXIMUM_AVAILABLE'),\n },\n productConstructor: {\n ingredients: i18n.t('uilib.productConstructor.INGREDIENTS'),\n comments: i18n.t('uilib.productConstructor.COMMENTS'),\n addName: i18n.t('uilib.productConstructor.ADD_NAME'),\n addComment: i18n.t('uilib.productConstructor.ADD_COMMENTS'),\n addCommentPlaceholder: i18n.t('uilib.productConstructor.ADD_COMMENT_PLACEHOLDER'),\n addNamePlaceholder: i18n.t('uilib.productConstructor.ADD_NAME_PLACEHOLDER'),\n summary: i18n.t('uilib.productConstructor.SUMMARY'),\n toppings: i18n.t('uilib.productConstructor.TOPPINGS'),\n half: i18n.t('uilib.productConstructor.HALF'),\n full: i18n.t('uilib.productConstructor.FULL'),\n addToCart: i18n.t('uilib.productConstructor.ADD_TO_CART'),\n back: i18n.t('uilib.productConstructor.BACK'),\n next: i18n.t('uilib.productConstructor.NEXT'),\n left: i18n.t('uilib.productConstructor.LEFT'),\n right: i18n.t('uilib.productConstructor.RIGHT'),\n change: i18n.t('uilib.productConstructor.CHANGE'),\n free: i18n.t('uilib.productConstructor.FREE'),\n gr: i18n.t('uilib.productConstructor.GR'),\n weightAdditionalPayment: i18n.t('uilib.productConstructor.ADDITIONAL_PAYMENT'),\n portionSizeLabel: i18n.t('uilib.productConstructor.PORTION_SIZE'),\n portionSizeLabelWeighed: i18n.t('uilib.productConstructor.PORTION_SIZE_WEIGHED'),\n weightProductAcceptable: i18n.t('uilib.productConstructor.WEIGHT_PRODUCT_ACCEPTABLE'),\n },\n summary: {\n weightAdjustment: i18n.t('uilib.summary.WEIGHT_ADJUSTMENT'),\n weightAdjustmentTooltip: i18n.t('uilib.summary.WEIGHT_ADJUSTMENT_TOOLTIP'),\n recalculateDiscounts: i18n.t('uilib.summary.RECALCULATE_DISCOUNTS'),\n addRemovedOffer: i18n.t('uilib.summary.ADD_REMOVED_OFFER'),\n removedOffer: i18n.t('uilib.summary.REMOVE_OFFER'),\n bonus: i18n.t('uilib.summary.BONUS'),\n discount: i18n.t('uilib.summary.DISCOUNT'),\n coupon: i18n.t('uilib.summary.COUPON'),\n summary: i18n.t('uilib.summary.SUMMARY'),\n subtotal: i18n.t('uilib.summary.SUBTOTAL'),\n deliveryCost: i18n.t('uilib.summary.DELIVERY_COST'),\n deliveryCostBase: i18n.t('uilib.summary.DELIVERY_COST_BASE'),\n deliveryCostFinal: i18n.t('uilib.summary.DELIVERY_COST_FINAL'),\n serviceFee: i18n.t('uilib.summary.SERVICE_FEE'),\n minimumOrderCharge: i18n.t('uilib.summary.MINIMUM_ORDER_CHANGE'),\n driverTip: i18n.t('uilib.summary.DRIVER_TIP'),\n invalidPromocode: i18n.t('uilib.summary.INVALID_PROMOCODE'),\n placeholderPromocode: i18n.t('uilib.summary.PLACEHOLDER_PROMOCODE'),\n paymentBalance: i18n.t('uilib.summary.PAYMENT_BALANCE'),\n total: i18n.t('uilib.summary.TOTAL'),\n confirm: i18n.t('uilib.summary.CONFIRM'),\n driverTooltip: i18n.t('uilib.summary.DRIVER_TOOLTIP'),\n minimumOrderChargeTooltip: i18n.t('uilib.summary.MINIMUM_ORDER_CHARGE_TOOLTIP'),\n serviceFeeTooltip: i18n.t('uilib.summary.SERVICE_FEE_TOOLTIP'),\n },\n deliveryControl: {\n pickUp: i18n.t('uilib.deliveryControl.PICKUP'),\n delivery: i18n.t('uilib.deliveryControl.DELIVERY'),\n dinein: i18n.t('uilib.deliveryControl.DINEIN'),\n }\n }\n}","import React from \"react\";\nimport { render, hydrate } from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport Loadable from \"react-loadable\";\nimport { Frontload } from \"react-frontload\";\nimport { ConnectedRouter } from \"connected-react-router\";\n\nimport Store from \"./store/store\";\nimport App from \"./app/app\";\nimport \"./i18n\";\nimport \"./index.scss\";\n\nimport Interval from \"../src/services/interval\";\n\n// Create a store and get back itself and its history object\nInterval.instance.init(Store.store);\n\n// Running locally, we should run on a rather than on a like on the server\n// Let's also let React Frontload explicitly know we're not rendering on the server here\nconst Application = (\n \n \n \n \n \n \n \n);\n\nconst root = document.querySelector(\"#root\");\n\nif (root.hasChildNodes() === true) {\n // If it's an SSR, we use hydrate to get fast Page loads by just\n // attaching event listeners after the initial render\n Loadable.preloadReady().then(() => {\n hydrate(Application, root);\n });\n} else {\n // If we're not running on the server, just render like normal\n render(Application, root);\n}"],"sourceRoot":""}