{"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","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/advancedCashbackModel.js","models/cashOutModel.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","utils/convertTime.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","utils/math-util.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","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","services/settingsSectionModels/loyaltySettings.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/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","advancedCashBack","cashOut","advancedCashBackEditModel","cashOutEditModel","advancedCashBackModel","cashOutModel","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","loyaltySettingsAdvancedCashback","loyaltySettingsAdvancedCashbackNew","loyaltySettingsAdvancedCashbackEdit","loyaltySettingsCashOut","loyaltySettingsCashOutNew","loyaltySettingsCashOutEdit","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","tenbis","forgastro","merkus","portel","restimo","cibeez","appyRo","kiosk","deeper","wellB","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_ADVANCED_CASHBACK","LOYALTY_SETTINGS_ADVANCED_CASHBACK_EDIT","LOYALTY_SETTINGS_ADVANCED_CASHBACK_DELETE","LOYALTY_SETTINGS_ADVANCED_CASHBACK_ADD","LOYALTY_SETTINGS_CASH_OUT","LOYALTY_SETTINGS_CASH_OUT_EDIT","LOYALTY_SETTINGS_CASH_OUT_DELETE","LOYALTY_SETTINGS_CASH_OUT_ADD","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","_state$restaurant3","_state$restaurant3$da","_state$restaurant3$da2","depotFromMap","depotsMap","get","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$restaurant4","_state$restaurant4$da","_depot$depotUsers","depotUser","depotUsers","getFullName","getUserNameById","_state$userModel","userModel","getShiftNameById","shiftId","_state$restaurant5","_state$restaurant5$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$restaurant6","_state$restaurant6$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","updateLoyaltySettingsAdvancedCashback","updateCashoutSettings","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","routeEstimationModel","contentModel","addonModel","accuracy","background","bearing","lowPowerMode","speed","allow_comments","spicy","vegetarian","gluten_free","vegan","upselling","price_before_discount","tag","fixedNumber","min","free_budget","with_half_option","allow_suboption_quantity","limit_suboptions_by_max","pizza_option","merge_price_for_half_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","spendBonusPercent","deliveryType","advancedCashback","accumulatedBonusTarget","LoyaltyLevel","SpendBonusPercent","DeliveryType","advancedCashbackModel","AccumulatedBonusTarget","advancedCashbackEdit","cashOytEdit","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","end","rate","rate_type","start","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","getISOTime","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","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","timeToMinutesRelative","relativeDeltaTimeNoJust","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","prepareToday","prepareYesterday","_getWeekPeriod","prepareMonth","preparePreviousMonth","prepareFullDay","getConvertedAmPmWithCheck","getMonth","isToday","prepareYear","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","canCopyItem","resetAccessorsValueInCopy","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","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","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","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","editLoyaltySettingsAdvancedCashbackSaga","_marked215","editLoyaltySettingsCashOutSaga","_marked216","addLoyaltySettingsAdvancedCashbackSaga","_marked217","addLoyaltySettingsCashOutSaga","_marked218","deleteLoyaltySettingsAdvancedCashbackSaga","_marked219","deleteLoyaltySettingsCashOutSaga","_marked220","updateReferralSettingsSaga","_marked221","getDriverTipSaga","_marked222","updateDriverTipSaga","_marked223","depotPriceSettingApplyToSaga","_marked224","getCourierShipmentSaga","_marked225","getCourierShipmentTemplateSaga","_marked226","deleteCourierShipmentTemplateSaga","_marked227","getListPromotionSettingsSaga","_marked228","courierShipmentEditSaga","_marked229","courierShipmentTemplateEditSaga","_marked230","courierShipmentTemplateAddSaga","_marked231","deliveryZonesGetSaga","_marked232","addListPromotionSettingsSaga","_marked233","deliveryZonesAddSaga","_marked234","editListPromotionSettingsSaga","_marked235","deliveryZonesEditSaga","_marked236","deliveryZonesGlobalEditResetSaga","_marked237","deliveryZonesGlobalEditSaga","_marked238","deleteListPromotionSettingsSaga","_marked239","deliveryZoneDeleteSaga","_marked240","dragListPromotionSettingsSaga","_marked241","serviceLoyaltyCampaignsGetSaga","_marked242","serviceLoyaltyCampaignsAudienceFilterCountGetSaga","_marked243","serviceLoyaltyCampaignsToggleEnabledSaga","_marked244","executeCompaingSaga","_marked245","serviceLoyaltyCampaignsAddSaga","_marked246","serviceLoyaltyCampaignsDeleteSaga","_marked247","serviceLoyaltyCampaignsEditSaga","_marked248","serviceLoyaltyCampaignsExecutionsGetSaga","_marked249","serviceLoyaltyCampaignsExecutionsUpdateByIdSaga","_marked250","serviceLoyaltyCampaignsExecutionsCreateSaga","_marked251","serviceFeeGetSaga","_marked252","serviceFeeEditSaga","_marked253","deliveryZonesUpdateSaga","_marked254","deliveryZonesUpdateEnableSaga","_marked255","marketDeliveryZonesUpdateSaga","_marked256","depotIntegrationsGetSaga","_marked257","depotIntegrationUpdateSaga","_marked258","depotIntegrationsAddSaga","_marked259","depotIntegrationsEditSaga","_marked260","depotIntegrationsDeleteSaga","_marked261","getMenuTemplateSaga","_marked262","deleteMenuTemplateSaga","_marked263","addMenuTemplateSaga","_marked264","updateMenuTemplateSaga","_marked265","getBusinessParentMenuSaga","_marked266","overrideMenuSaga","_marked267","getOrderingMenuExtraSaga","_marked268","depotSquareAssociatedLocationCheckSaga","_marked269","orderingMenuExtraEditSaga","_marked270","orderingMenuExtraDeleteSaga","_marked271","orderingMenuExtraUpdateSaga","_marked272","orderingMenuExtrasOptionEditSaga","_marked273","orderingMenuExtrasOptionUpdateSaga","_marked274","orderingMenuExtrasOptionDeleteSaga","_marked275","orderingMenuExtrasSubOptionEditSaga","_marked276","orderingMenuExtrasSubOptionDeleteSaga","_marked277","orderingMenuExtrasSubOptionUpdateSaga","_marked278","orderingMenuExtrasOptionReorderSaga","_marked279","orderingMenuExtrasSubOptionReorderSaga","_marked280","setMenuCreateOrder","_marked281","getMergegMenuByBusinessId","_marked282","operationTimingGetSaga","_marked283","operationTimingGetForDepotSaga","_marked284","depotSquareAssociatedLocationEditSaga","_marked285","getDepotProvidersSaga","_marked286","editDepotProvidersSaga","_marked287","addDepotProviderSaga","_marked288","deleteDepotProviderSaga","_marked289","depotSquareAssociatedRevokeSaga","_marked290","reorderDepotProvidersSaga","_marked291","depotSquareAssociatedAuthorizationSaga","_marked292","depotSquareAssociatedAuthorizationShortSaga","_marked293","resetDepotProvidersSaga","_marked294","checkSquareUpAuthorizedRequiredSaga","_marked295","getBusinessByQuerySaga","_marked296","parentMenuOverrideOptionSaga","_marked297","parentMenuOverrideExtraSaga","_marked298","parentMenuOverrideProductSaga","_marked299","parentMenuOverrideCategorySaga","_marked300","parentMenuOverrideSuboptionSaga","_marked301","addMarketplaceMessageGallerySaga","_marked302","editMarketplaceMessageGallerySaga","_marked303","reorderMarketplaceMessageGallerySaga","_marked304","deleteMarketplaceMessageGallerySaga","_marked305","marketplaceMenuClearOverrideSaga","_marked306","getSalesStatisticsDataSaga","_marked307","_callee304","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","acceptExternalPayment","walletData","OverrideDepotSettings","AcceptExternalPayment","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","shouldUpdate","_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","advancedCashbackSettings","cashback","cashoutSettings","_context421","_callee209","_loyaltySettings","_context420","bonus_info","_context423","_callee210","_context422","_context425","_callee211","_restaurant$loyaltySe","newCashback","_restaurant4","_context424","_context427","_callee212","_restaurant$loyaltySe2","_restaurant5","_context426","_context429","_callee213","_restaurant$loyaltySe3","_restaurant6","_context428","_context431","_callee214","_restaurant$loyaltySe4","_restaurant7","_context430","_context433","_callee215","_restaurant$loyaltySe5","_restaurant8","_context432","_context435","_callee216","_restaurant$loyaltySe6","_restaurant9","_context434","_context437","_callee217","_context436","_context439","_callee218","_context438","_context441","_callee219","_context440","_context443","_callee220","currentDepot","depotsToApplyConfiguration","_context442","_context445","_callee221","shipmentPriceSettings","_context444","_context447","_callee222","templateSettings","_context446","shipmentTemplateSettings","_context449","_callee223","_context448","_context451","_callee224","_context450","_context453","_callee225","_requestResult3","_context452","_context455","_callee226","_context454","_context457","_callee227","_context456","_template$name","_action$data45","_action$data45$name","_context459","_callee228","_context458","_context461","_callee229","_data3","_context460","_context463","_callee230","_data4","_context462","deliveryZone","_context465","_callee231","_data5","_context464","_context467","_callee232","_data6","_context466","_context469","_callee233","_action$data46","_restaurant10","_context468","override_delivery_zone_reference_price","_context471","_callee234","_getHistoryLocationPa40","_restaurant11","_context470","_context473","_callee235","_context472","_context475","_callee236","_context474","_context477","_callee237","_context476","_context479","_callee238","newCampaigns","_context478","marketplaceCampaignClientModel","_context481","_callee239","_context480","_context483","_callee240","_action$data47","_context482","_action$data48","_context485","_callee241","_action$data49","_context484","_context487","_callee242","_newCampaign","_context486","marketplaceCampaignServerModel","_context489","_callee243","_context488","_context491","_callee244","_context490","_context493","_callee245","_getHistoryLocationPa41","_mergeArrays","_requestResult4","_context492","executions","_context495","_callee246","_action$data50","_getHistoryLocationPa42","_restaurant$campaigns","_newCampaign2","_newCampaign2$executi","_context494","execution","_context497","_callee247","_getHistoryLocationPa43","selectedItems","executionsModel","_restaurant$campaigns2","_newCampaign3","_context496","marketplaceCampaignExecutionsModel","audience","_context499","_callee248","_context498","_context501","_callee249","_context500","_context503","_callee250","_action$data51","isMarkerplace","isGlobalZone","_context502","zoneIdReference","enabledZone","_context505","_callee251","_action$data52","_context504","_context507","_callee252","_action$data53","_context506","_context509","_callee253","_getHistoryLocationPa44","_context508","_context511","_callee254","_getHistoryLocationPa45","_context510","inegr","_context513","_callee255","_context512","_context515","_callee256","_getHistoryLocationPa46","_context514","integration","_context517","_callee257","_getHistoryLocationPa47","integrationLocation","_context516","_context519","_callee258","_context518","_context521","_callee259","_context520","_context523","_callee260","_context522","_context525","_callee261","_context524","_context527","_callee262","requestBusinessMenu","_getHistoryLocationPa48","businessTemplateId","_context526","_context529","_callee263","hasOverride","_context528","_context531","_callee264","_context530","_context533","_callee265","isSecondTime","_context532","actionGlobalPortalDataUpdate","Url","actionData","_context535","_callee266","businessIdText","_context534","_context537","_callee267","_context536","_context539","_callee268","_context538","_context541","_callee269","_context540","_context543","_callee270","_action$data54","_context542","_context545","_callee271","_context544","_context547","_callee272","_context546","_businessMenu$extras","_businessMenu$extras$","_businessMenu$extras$2","_businessMenu$extras$3","_context549","_callee273","_context548","_context551","_callee274","_context550","_context553","_callee275","_action$data55","_action$data55$item","_action$data56","isNewItems","_context552","_context555","_callee276","_context554","_context557","_callee277","_context556","_context559","_callee278","_context558","_context561","_callee279","_context560","_context563","_callee280","_context562","_context565","_callee281","_action$data57","selectedLocation","_context564","_context567","_callee282","_getHistoryLocationPa49","_context566","fetchDeliveryProviders","providersApiMap","_context569","_callee283","serverData","selectedRegionsIds","newServerData","_regions","_context568","AutoAssignmentRegionIds","IsDirty","RefreshedValue","_excluded3","AutoAssignmentSchedule","updateVirtualDeliveryProvider","editDeliveryProvider","_context571","_callee284","_getHistoryLocationPa50","_context570","transformProvidersToApi","_excluded4","createVirtualDeliveryProvider","_context573","_callee285","_getHistoryLocationPa51","_context572","deleteVirtualDeliveryProvider","_context575","_callee286","checkRequiredAuth","_context574","squareUpAuthorizationRequired","AuthorizationRequired","_context577","_callee287","_context576","Priority","Provider","reorderDeliveryProviders","_context579","_callee288","_context578","_context581","_callee289","_context580","_context583","_callee290","_context582","_context585","_callee291","_context584","_context587","_callee292","_context586","minimal_data","minimalData","search_type","searchType","depotsByQuery","_context589","_callee293","oldOption","updatedData","_context588","_context591","_callee294","oldExtra","_context590","_context593","_callee295","oldProduct","_context592","_context595","_callee296","oldCategory","_context594","_context597","_callee297","oldSuboption","_context596","_context599","_callee298","_getHistoryLocationPa52","_context598","_context601","_callee299","_getHistoryLocationPa53","_context600","_context603","_callee300","_getHistoryLocationPa54","_context602","_context605","_callee301","_getHistoryLocationPa55","_context604","_context607","_callee302","_context606","href","actionGlobalPopupMessage","onConfirm","actionGlobalPopupMessageInit","_context609","_callee303","_action$data58","_request","statisticsRequest","statisticsDailyRequest","_context608","SALES_TYPE","fn","statisticsDaily","_context610","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","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","skuFilter","sKU","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","getDeliveryTypeName","_getDeliveryTypes$fin","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","reasonId","Reason","ReasonId","fetchConsumerOrderReadinessTimes","fetchConsumerOrderReadinessTimesAccept","fetchConsumerOrderCancelReason","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","latRad","sin","PI","radX2","mapPx","worldPx","fraction","LN2","digit","beautifyPrice","stringPrice","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","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","createLoyaltySettingsAdvancedCashbackEditSectionModel","createLoyaltySettingsCashOutEditSectionModel","_state$restaurant4$da2","createLoyaltySettingsAdvancedCashbackFilter","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","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","_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","createLoyaltySettingsAdvancedCashbackSectionModel","createLoyaltySettingsCashOutSectionModel","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","secondName","_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","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","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","DropdownMultiSelect","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","cancelNotes","createOrdersSectionFilter","orderIntegrationTypeFilterItems","territoriesItems","orderDate","utc","selectedDate","integrationTypes","territoriesFilter","late","InitService","hideRestaurantName","paymentCard","paymentCash","OrderTypeInfo","CustomerOrderStatus","capture","setCapture","isPartial","setIsPartial","_order$consumerInfo","cancellation_datetime","canc","cancel_notes","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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","file":"static/js/main.17e3d108.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 advancedCashBack: 'advancedCashBack',\n cashOut: 'cashOut',\n advancedCashBackEditModel: 'advancedCashBackEditModel',\n cashOutEditModel: 'cashOutEditModel',\n advancedCashBackModel: 'advancedCashBackModel',\n cashOutModel: 'cashOutModel',\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 loyaltySettingsAdvancedCashback: '/marketplace-settings/loyalty/advancedCashback',\n loyaltySettingsAdvancedCashbackNew: '/marketplace-settings/loyalty/advancedCashback/new',\n loyaltySettingsAdvancedCashbackEdit: '/marketplace-settings/loyalty/advancedCashback/edit',\n loyaltySettingsCashOut: '/marketplace-settings/loyalty/cashOut',\n loyaltySettingsCashOutNew: '/marketplace-settings/loyalty/cashOut/new',\n loyaltySettingsCashOutEdit: '/marketplace-settings/loyalty/cashOut/edit',\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 tenbis: 35,\n forgastro: 40,\n merkus: 42,\n portel: 43,\n restimo: 44,\n cibeez: 47,\n appyRo: 48,\n kiosk: 50,\n deeper: 58,\n wellB: 57,\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 { key: INTEGRATION_TYPE.deeper, value: i18n.t('enums.integrationTypes.DEEPER') },\n { key: INTEGRATION_TYPE.wellB, value: i18n.t('enums.integrationTypes.WELL_B') },\n { key: INTEGRATION_TYPE.tenbis, value: i18n.t('enums.integrationTypes.TENBIS') },\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 { key: INTEGRATION_TYPE.deeper, value: i18n.t('enums.integrationTypes.DEEPER') },\n { key: INTEGRATION_TYPE.wellB, value: i18n.t('enums.integrationTypes.WELL_B') },\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 mishloha: 9,\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_ADVANCED_CASHBACK = \"LOYALTY_SETTINGS_ADVANCED_CASHBACK\";\nexport const LOYALTY_SETTINGS_ADVANCED_CASHBACK_EDIT = LOYALTY_SETTINGS_ADVANCED_CASHBACK + EDIT;\nexport const LOYALTY_SETTINGS_ADVANCED_CASHBACK_DELETE = LOYALTY_SETTINGS_ADVANCED_CASHBACK + DELETE;\nexport const LOYALTY_SETTINGS_ADVANCED_CASHBACK_ADD = LOYALTY_SETTINGS_ADVANCED_CASHBACK + ADD;\nexport const LOYALTY_SETTINGS_CASH_OUT = \"LOYALTY_SETTINGS_CASH_OUT\";\nexport const LOYALTY_SETTINGS_CASH_OUT_EDIT = LOYALTY_SETTINGS_CASH_OUT + EDIT;\nexport const LOYALTY_SETTINGS_CASH_OUT_DELETE = LOYALTY_SETTINGS_CASH_OUT + DELETE;\nexport const LOYALTY_SETTINGS_CASH_OUT_ADD = LOYALTY_SETTINGS_CASH_OUT + ADD;\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 depotFromMap = state?.restaurant?.data?.depotsMap?.get(depotId) || null;\n if(depotFromMap) {\n return depotFromMap ? depotFromMap.name : '';\n }\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.mishloha:\n return defaultIcons.mishloha;\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 updateLoyaltySettingsAdvancedCashback(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/loyaltySettings/advancedCashbackSettings\",\n method: \"POST\",\n data\n }).then(response => resolve(response), error => reject(error.response));\n });\n}\n\nexport function updateCashoutSettings(data){\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"restaurant/loyaltySettings/cashOutSettings\",\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 { 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 merge_price_for_half_option: model.merge_price_for_half_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 merge_price_for_half_option: convertToBoolean(model.merge_price_for_half_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\";\nimport {advancedCashback, advancedCashbackEdit, advancedCashbackModel} from \"../models/advancedCashbackModel.js\";\nimport {cashOut, cashOutModel, cashOytEdit} from \"../models/cashOutModel.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.advancedCashBack:\n isLoadFromData = true;\n model = advancedCashback(data);\n break;\n case MODEL_TYPE.cashOut:\n isLoadFromData = true;\n model = cashOut(data);\n break;\n case MODEL_TYPE.advancedCashBackModel:\n isLoadFromData = true;\n model = advancedCashbackModel(data);\n break;\n case MODEL_TYPE.cashOutModel:\n isLoadFromData = true;\n model = cashOutModel(data);\n break;\n case MODEL_TYPE.advancedCashBackEditModel:\n isLoadFromData = true;\n model = advancedCashbackEdit(data);\n break;\n case MODEL_TYPE.cashOutEditModel:\n isLoadFromData = true;\n model = cashOytEdit(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}","import {fixedNumber} from \"../utils/math-util.js\";\n\nexport const advancedCashbackModel = (data = {}) => {\n const model = data || {};\n return {\n LoyaltyLevel: model.loyaltyLevel || 0,\n SpendBonusPercent: fixedNumber((model?.spendBonusPercent || 0) / 100, 2),\n DeliveryType: model.deliveryType || 0,\n }\n}\n\nexport const advancedCashback = (data = {}) => {\n const model = data || {};\n return {\n loyaltyLevel: model.loyaltyLevel || 0,\n spendBonusPercent: fixedNumber((model.spendBonusPercent || 0) * 100, 2),\n deliveryType: model.deliveryType || 0,\n id: model.id || 0,\n }\n}\n\nexport const advancedCashbackEdit = (data = {}) => {\n const model = data || {};\n return {\n loyaltyLevel: model.loyaltyLevel || 0,\n spendBonusPercent: (model.spendBonusPercent || 0),\n deliveryType: model.deliveryType || 0,\n id: model.id || 0,\n }\n}","import {fixedNumber} from \"../utils/math-util.js\";\n\nexport const cashOutModel = (data = {}) => {\n const model = data || {};\n return {\n LoyaltyLevel: model.loyaltyLevel || 0,\n AccumulatedBonusTarget: fixedNumber((model?.accumulatedBonusTarget || 0) / 100, 2),\n }\n}\n\nexport const cashOut = (data = {}) => {\n const model = data || {};\n return {\n loyaltyLevel: model.loyaltyLevel || 0,\n accumulatedBonusTarget: fixedNumber((model.accumulatedBonusTarget || 0) * 100, 2),\n id: model.id || 0,\n }\n}\n\nexport const cashOytEdit = (data = {}) => {\n const model = data || {};\n return {\n loyaltyLevel: model.loyaltyLevel || 0,\n accumulatedBonusTarget: (model.accumulatedBonusTarget || 0),\n id: model.id || 0,\n }\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 || {\n crop_mode: 0,\n gravity_mode: 0,\n quality: 90,\n quality_mode: 0\n },\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","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","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 canCopyItem,\n resetAccessorsValueInCopy,\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 this.canCopyItem = canCopyItem;\n this.resetAccessorsValueInCopy = resetAccessorsValueInCopy;\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 item.allowedControlCenters\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 if(requestResult.data) {\n yield put(actionPendingOrdersUpdate({ resetAssistOrder: true, activeOrders: requestResult.data.Orders }));\n }\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, item.items[index].key);\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 LOYALTY_SETTINGS_ADVANCED_CASHBACK_EDIT,\n LOYALTY_SETTINGS_ADVANCED_CASHBACK_ADD,\n LOYALTY_SETTINGS_ADVANCED_CASHBACK_DELETE,\n LOYALTY_SETTINGS_CASH_OUT_ADD,\n LOYALTY_SETTINGS_CASH_OUT_EDIT, LOYALTY_SETTINGS_CASH_OUT_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,\n deleteShipmentPriceSettingsTemplate,\n updateLoyaltySettingsAdvancedCashback, updateCashoutSettings,\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, acceptExternalPayment } = action.data;\n const walletData = {\n enabled: enabled,\n RequireVerifiedPhoneOnCash: requireVerifiedPhoneOnCash,\n OverrideDepotSettings: overrideDepotSettings,\n AcceptCash: acceptCash,\n AcceptCreditCard: acceptCreditCard,\n AcceptCashOnTakeAway: acceptCashOnTakeAway,\n AcceptExternalPayment: acceptExternalPayment\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 banner = action.data.banner;\n delete action.data.banner;\n const requestResult = yield call(createMarketplaceMessage, action.data);\n if (requestResult && requestResult.status === 200) {\n yield put(actionAddNewMarketplaceMessage(requestResult.data));\n if (banner && (isBase64Image(banner) || isBase64Video(banner))) {\n const requestResultWithBanner = yield call(\n setMarketplaceBannerBase64,\n requestResult.data.id,\n dataURItoBlob(banner),\n isBase64Video(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\n yield put(createAction(NAMED_PLACES_GET, {shouldUpdate: true}));\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 || action.data.shouldUpdate) {\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 loyaltySettings.advancedCashbackSettings = loyaltySettings.advancedCashbackSettings.map((cashback, index) => getInitModel(MODEL_TYPE.advancedCashBack, {...cashback, id: index}))\n loyaltySettings.cashoutSettings = loyaltySettings.cashoutSettings.map((cashback, index) => getInitModel(MODEL_TYPE.cashOut, {...cashback, id: index}))\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* editLoyaltySettingsAdvancedCashbackSaga(action) {\n yield* createSaga(function*() {\n const newCashback = action.data;\n const restaurant = yield select(getRestaurant);\n const advancedCashBack = (restaurant?.loyaltySettings?.advancedCashbackSettings || [])\n .map(cashback => getInitModel(MODEL_TYPE.advancedCashBackModel, cashback.id === newCashback.id ? newCashback : cashback));\n\n const requestResult = yield call(updateLoyaltySettingsAdvancedCashback, advancedCashBack);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data)\n const restaurant = yield select(getRestaurant);\n loyaltySettings.advancedCashbackSettings = loyaltySettings.advancedCashbackSettings.map((cashback, index) => getInitModel(MODEL_TYPE.advancedCashBack, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* editLoyaltySettingsCashOutSaga(action) {\n yield* createSaga(function*() {\n const newCashback = action.data;\n const restaurant = yield select(getRestaurant);\n const cashoutSettings = (restaurant?.loyaltySettings?.cashoutSettings || [])\n .map(cashback => getInitModel(MODEL_TYPE.cashOutModel, cashback.id === newCashback.id ? newCashback : cashback));\n\n const requestResult = yield call(updateCashoutSettings, cashoutSettings);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data)\n const restaurant = yield select(getRestaurant);\n loyaltySettings.cashoutSettings = loyaltySettings.cashoutSettings.map((cashback, index) => getInitModel(MODEL_TYPE.cashOut, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* addLoyaltySettingsAdvancedCashbackSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const advancedCashBack = (restaurant?.loyaltySettings?.advancedCashbackSettings || [])\n .map(item => getInitModel(MODEL_TYPE.advancedCashBackModel, item))\n .concat(getInitModel(MODEL_TYPE.advancedCashBackModel, action.data));\n\n const requestResult = yield call(updateLoyaltySettingsAdvancedCashback, advancedCashBack);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data)\n const restaurant = yield select(getRestaurant);\n loyaltySettings.advancedCashbackSettings = loyaltySettings.advancedCashbackSettings.map((cashback, index) => getInitModel(MODEL_TYPE.advancedCashBack, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* addLoyaltySettingsCashOutSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const cashoutSettings = (restaurant?.loyaltySettings?.cashoutSettings || [])\n .map(item => getInitModel(MODEL_TYPE.cashOutModel, item))\n .concat(getInitModel(MODEL_TYPE.cashOutModel, action.data));\n\n const requestResult = yield call(updateCashoutSettings, cashoutSettings);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data);\n const restaurant = yield select(getRestaurant);\n loyaltySettings.cashoutSettings = loyaltySettings.cashoutSettings.map((cashback, index) => getInitModel(MODEL_TYPE.cashOut, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteLoyaltySettingsAdvancedCashbackSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const advancedCashBack = (restaurant?.loyaltySettings?.advancedCashbackSettings || [])\n .filter(cashback => cashback.id !== action.data.id)\n .map(cashback => getInitModel(MODEL_TYPE.advancedCashBackModel, cashback));\n\n const requestResult = yield call(updateLoyaltySettingsAdvancedCashback, advancedCashBack);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data)\n const restaurant = yield select(getRestaurant);\n loyaltySettings.advancedCashbackSettings = loyaltySettings.advancedCashbackSettings.map((cashback, index) => getInitModel(MODEL_TYPE.advancedCashBack, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\n } else {\n return new ErrorData(getErrorMessage(requestResult));\n }\n }, action.type);\n}\n\nfunction* deleteLoyaltySettingsCashOutSaga(action) {\n yield* createSaga(function*() {\n const restaurant = yield select(getRestaurant);\n const cashoutSettings = (restaurant?.loyaltySettings?.cashoutSettings || [])\n .filter(cashback => cashback.id !== action.data.id)\n .map(cashback => getInitModel(MODEL_TYPE.cashOutModel, cashback));\n\n const requestResult = yield call(updateCashoutSettings, cashoutSettings);\n\n if (requestResult.status === 200) {\n const loyaltySettings = objectKeysToUpperLowerCase(requestResult.data)\n const restaurant = yield select(getRestaurant);\n loyaltySettings.cashoutSettings = loyaltySettings.cashoutSettings.map((cashback, index) => getInitModel(MODEL_TYPE.cashOut, {...cashback, id: index}))\n yield put(actionRestaurantUpdate({ ...restaurant, loyaltySettings }));\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 restaurant = yield select(getRestaurant);\n const templates = restaurant.shipmentTemplateSettings;\n const data = getInitModel(MODEL_TYPE.courierDeliveryFeesServer, action.data);\n const hasDuplicatedName = (templates || []).some(template => template?.name?.trim() === action.data?.name?.trim());\n\n if(hasDuplicatedName) {\n return new ErrorData(i18n.t(\"settings.courierDeliveryFeesSettings.DUPLICATE_NAME_ERROR\", {name: action.data.name}));\n }\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(LOYALTY_SETTINGS_ADVANCED_CASHBACK_EDIT, editLoyaltySettingsAdvancedCashbackSaga);\n yield takeEvery(LOYALTY_SETTINGS_ADVANCED_CASHBACK_ADD, addLoyaltySettingsAdvancedCashbackSaga);\n yield takeEvery(LOYALTY_SETTINGS_ADVANCED_CASHBACK_DELETE, deleteLoyaltySettingsAdvancedCashbackSaga);\n yield takeEvery(LOYALTY_SETTINGS_CASH_OUT_EDIT, editLoyaltySettingsCashOutSaga);\n yield takeEvery(LOYALTY_SETTINGS_CASH_OUT_ADD, addLoyaltySettingsCashOutSaga);\n yield takeEvery(LOYALTY_SETTINGS_CASH_OUT_DELETE, deleteLoyaltySettingsCashOutSaga);\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 skuFilter(text, item) {\n if (!text || !text.length) return true;\n const loverText = text.toLowerCase();\n const name = item?.name || '';\n const sku = item?.sKU || '';\n\n return name.toLowerCase().includes(loverText) || sku.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: Array.isArray(data) && data.length\n ? data\n : [\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 mishloha: \"/assets/defaulticons/mishloha.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.loyaltySettingsAdvancedCashback]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackEdit]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutNew]: true,\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutEdit]: 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 [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut]}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 getDeliveryTypeName = (deliveryType) => {\n return getDeliveryTypes().find(({key}) => key === deliveryType)?.value || '-';\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\";\nimport i18n from \"../i18n.js\";\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, reasonId) {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/reject/\" + orderId,\n method: \"POST\",\n data: {\n Reason: value,\n ReasonId: reasonId\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 fetchConsumerOrderCancelReason() {\n return new Promise((resolve, reject) => {\n callServer({\n url: environment.backendAPI + \"consumerOrder/rejectReasons/\" + i18n.language,\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 allowedControlCenters\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 AllowedControlCenters: allowedControlCenters\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","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}","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 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\";\nimport Waiter from \"../Waiter/Waiter.jsx\";\nimport {WAITER_TYPES} from \"../../../utils/enums.js\";\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 && (\n \n )}\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 [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback]}DeleteButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut]}AddButton`]: true,\n [`${[MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut]}DeleteButton`]: 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: \"150px\",\n headerWidth: \"150px\",\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 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(window.location.search);\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 width: '130px',\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: \"145px\",\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: \"150px\",\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\";\nimport {fixedNumber} from \"../../utils/math-util.js\";\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: '250px',\n fixedWidth: '250px',\n accessor: 'count',\n centered: true\n },\n {\n title: \"shifts.TOTAL_PRICE_LABEL\",\n width: '250px',\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 accessor: 'totalOrders',\n centered: true,\n },\n {\n title: \"shifts.ACTIONS\",\n width: \"50px\",\n fixedWidth: \"50px\",\n headerWidth: \"120px\",\n centered: 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: \"50px\",\n fixedWidth: \"50px\",\n type: CONTROL_TYPE.link,\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 isHideControls: true,\n hideHeaderItemControls: true,\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 (
{fixedNumber(order.priceInfo?.price || '0', 2)} {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: '135px',\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 hideHeaderItemControls: true,\n hideCellForSort: true,\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: \"150px\",\n fixedWidth: \"150px\",\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: \"110px\",\n fixedWidth: \"110px\",\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: \"110px\",\n fixedWidth: \"110px\",\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: \"145px\",\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: \"145px\",\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_MERGE_PIZZA_OPTION_LABEL',\n accessor: 'merge_price_for_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 = 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_MERGE_PIZZA_OPTION_LABEL',\n accessor: 'merge_price_for_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: \"145px\",\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: \"150px\",\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 const secondName = Object.values(reason.nameTranslations || [])[0];\n return {\n name: name || secondName || '',\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\";\nimport {sortItemsByProp} from \"../filter.js\";\n\nconst getEditColumns = ({showName} = {}) => ([\n {\n title: 'settings.courierDeliveryFeesSettings.NAME_LABEL',\n accessor: 'name',\n isEditable: true,\n type: CONTROL_TYPE.text,\n isFuncRequired: item => !item?.name?.trim()?.length,\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: 'Actions',\n width: '110px'\n },\n {\n title: '',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew,\n iconName: 'copy',\n width: '40px',\n tooltipText: i18n.t('basic.COPY_BUTTON'),\n },\n {\n title: '',\n hideInHeader: true,\n type: CONTROL_TYPE.link,\n link: TYPE_SECTION_MODEL.courierDeliveryFeesTemplateEdit,\n iconName: 'editItem',\n width: '40px',\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 hideHeaderItemControls: true,\n hideCellForSort: true,\n isForceUpdate: true,\n initNewItemModel: item => item,\n typeModel: TYPE_SECTION_MODEL.courierDeliveryFeesTemplate,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: TYPE_SECTION_MODEL.courierDeliveryFeesTemplateNew,\n }),\n ],\n sortByFunc: (items) => sortItemsByProp(items),\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 canCopyItem: args.typeAction === TYPE_ACTION.new,\n resetAccessorsValueInCopy: args.typeAction === TYPE_ACTION.new ? [\"name\"] : null,\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 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.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_MERGE_PIZZA_OPTION_LABEL',\n accessor: 'merge_price_for_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 = 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_MERGE_PIZZA_OPTION_LABEL',\n accessor: 'merge_price_for_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_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 width: '50%',\n },\n {\n title: \"settings.operationTiming.MAX_DELIVERY_TIME\",\n accessor: \"maxDeliveryTime\",\n width: \"25%\",\n },\n {\n title: 'basic.EDIT_BUTTON',\n width: \"100px\",\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 centered: true,\n width: '150px',\n headerWidth: '150px',\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: '110px',\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 SectionModel from \"../../models/sectionModel.js\";\nimport {\n CONTROL_TYPE, LOYALTY_LEVEL, loyaltyLevels,\n MARKETPLACE_SETTINGS_MODEL,\n MODEL_CONTROL_TYPE,\n MODEL_TYPE, TYPE_ACTION,\n} from \"../../utils/enums.js\";\nimport {\n LOYALTY_SETTINGS_ADVANCED_CASHBACK, LOYALTY_SETTINGS_CASH_OUT,\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\";\nimport FilterOptionsModel from \"../../models/filterOptionsModel.js\";\nimport {getDeliveryTypeName, getDeliveryTypes} from \"../../utils/constants.js\";\nimport i18n from \"i18next\";\n\nexport function createLoyaltySettingsAdvancedCashbackSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createLoyaltySettingsAdvancedCashbackFilter(),\n columns: [\n {\n title: 'settings.loyaltyCashback.SPEND_BONUS_PERCENT',\n accessor: 'spendBonusPercent',\n },\n {\n title: 'settings.loyaltyCashback.LOYALTY_LEVEL',\n accessor: 'loyaltyLevel',\n component: item => LOYALTY_LEVEL[item.loyaltyLevel],\n },\n {\n title: 'settings.loyaltyCashback.DELIVERY_TYPE',\n accessor: 'deliveryType',\n component: item => getDeliveryTypeName(item.deliveryType),\n },\n {\n title: '',\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackEdit,\n iconName: 'editItem',\n width: '120px',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n }\n ],\n actionName: LOYALTY_SETTINGS_ADVANCED_CASHBACK,\n actionLoad: LOYALTY_SETTINGS_GET,\n hideCellForSort: true,\n isForceUpdate: true,\n isHideControls: true,\n initNewItemModel: item => item,\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackNew,\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.loyaltyCashback.ADVANCED_CASHBACK',\n tabs: [\n {\n title: \"settings.loyaltyCashback.MENU_LABEL\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.ADVANCED_CASHBACK\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.CASH_OUT\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut,\n search: () => '',\n },\n ],\n mappingLambda: state => {\n return (state.restaurant.data && state?.restaurant?.data?.loyaltySettings?.advancedCashbackSettings) || [];\n },\n });\n}\n\nexport function createLoyaltySettingsAdvancedCashbackEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.loyaltyCashback.LOYALTY_LEVEL',\n accessor: 'loyaltyLevel',\n isEditable: true,\n type: CONTROL_TYPE.select,\n values: loyaltyLevels(),\n },\n {\n title: 'settings.loyaltyCashback.SPEND_BONUS_PERCENT',\n accessor: 'spendBonusPercent',\n isEditable: true,\n max: item => 100,\n min: item => 0,\n isItemValid: item => item && item.spendBonusPercent <= 100 && item.spendBonusPercent >= 0,\n useColorRed: item => !(item.spendBonusPercent <= 100 && item.spendBonusPercent >= 0),\n measure: '%',\n type: CONTROL_TYPE.number,\n },\n {\n title: 'settings.loyaltyCashback.DELIVERY_TYPE',\n accessor: 'deliveryType',\n isEditable: true,\n type: CONTROL_TYPE.select,\n values: getDeliveryTypes()\n },\n ],\n parentUrl: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback,\n actionName: LOYALTY_SETTINGS_ADVANCED_CASHBACK,\n actionLoad: LOYALTY_SETTINGS_GET,\n typeAction: args.typeAction,\n initNewItemModel: item => getInitModel(MODEL_TYPE.advancedCashBackEditModel, item),\n typeModel: args.typeAction === TYPE_ACTION.new\n ? MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackNew\n : MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackEdit,\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 ],\n label: 'settings.loyaltyCashback.ADVANCED_CASHBACK',\n mappingLambda: state => {\n return (state.restaurant.data && state?.restaurant?.data?.loyaltySettings?.advancedCashbackSettings) || [];\n },\n });\n}\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 tabs: [\n {\n title: \"settings.loyaltyCashback.MENU_LABEL\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.ADVANCED_CASHBACK\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.CASH_OUT\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut,\n search: () => '',\n },\n ],\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\n\n\n\nexport function createLoyaltySettingsCashOutSectionModel({ ...args }) {\n return new SectionModel({\n filterOptions: createLoyaltySettingsAdvancedCashbackFilter(),\n columns: [\n {\n title: 'settings.loyaltyCashback.ACCUMULATED_BONUS_TARGET',\n accessor: 'accumulatedBonusTarget',\n },\n {\n title: 'settings.loyaltyCashback.LOYALTY_LEVEL',\n accessor: 'loyaltyLevel',\n component: item => LOYALTY_LEVEL[item.loyaltyLevel],\n },\n {\n title: '',\n type: CONTROL_TYPE.link,\n link: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutEdit,\n iconName: 'editItem',\n width: '120px',\n tooltipText: i18n.t('basic.EDIT_BUTTON'),\n }\n ],\n actionName: LOYALTY_SETTINGS_CASH_OUT,\n actionLoad: LOYALTY_SETTINGS_GET,\n hideCellForSort: true,\n isForceUpdate: true,\n isHideControls: true,\n initNewItemModel: item => item,\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut,\n controls: [\n createControlModel({\n type: MODEL_CONTROL_TYPE.back,\n isShow: isMobileWidth,\n }),\n createControlModel({\n type: MODEL_CONTROL_TYPE.add,\n url: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutNew,\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.loyaltyCashback.CASH_OUT',\n tabs: [\n {\n title: \"settings.loyaltyCashback.MENU_LABEL\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.ADVANCED_CASHBACK\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback,\n search: () => '',\n },\n {\n title: \"settings.loyaltyCashback.CASH_OUT\",\n typeModel: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut,\n search: () => '',\n },\n ],\n mappingLambda: state => {\n return (state.restaurant.data && state?.restaurant?.data?.loyaltySettings?.cashoutSettings) || [];\n },\n });\n}\n\nexport function createLoyaltySettingsCashOutEditSectionModel({ ...args }) {\n return new SectionModel({\n columns: [\n {\n title: 'settings.loyaltyCashback.LOYALTY_LEVEL',\n accessor: 'loyaltyLevel',\n isEditable: true,\n type: CONTROL_TYPE.select,\n values: loyaltyLevels(),\n },\n {\n title: 'settings.loyaltyCashback.ACCUMULATED_BONUS_TARGET',\n accessor: 'accumulatedBonusTarget',\n isEditable: true,\n max: item => 100,\n min: item => 0,\n isItemValid: item => item && item.accumulatedBonusTarget <= 100 && item.accumulatedBonusTarget >= 0,\n useColorRed: item => !(item.accumulatedBonusTarget <= 100 && item.accumulatedBonusTarget >= 0),\n measure: '%',\n type: CONTROL_TYPE.number,\n },\n ],\n parentUrl: MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut,\n actionName: LOYALTY_SETTINGS_CASH_OUT,\n actionLoad: LOYALTY_SETTINGS_GET,\n typeAction: args.typeAction,\n initNewItemModel: item => getInitModel(MODEL_TYPE.cashOutEditModel, item),\n typeModel: args.typeAction === TYPE_ACTION.new\n ? MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutNew\n : MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutEdit,\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 ],\n label: 'settings.loyaltyCashback.ADVANCED_CASHBACK',\n mappingLambda: state => {\n return (state.restaurant.data && state?.restaurant?.data?.loyaltySettings?.cashoutSettings) || [];\n },\n });\n}\n\n\nfunction createLoyaltySettingsAdvancedCashbackFilter() {\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}","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\";\nimport {getDepotNameById} from \"../../../services/restaurant.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 const depotName = getDepotNameById(value.depot_id);\n\n return (\n
\n
\n
\n
\n {value.customer_name}\n
\n
\n {depotName && (
{depotName}
)}\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';\nimport {skuFilter} from \"../filter.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(item) {\n return skuFilter(this.selected, item);\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 createLoyaltySettingsAdvancedCashbackEditSectionModel,\n createLoyaltySettingsAdvancedCashbackSectionModel,\n createLoyaltySettingsCashbackSectionModel, createLoyaltySettingsCashOutEditSectionModel,\n createLoyaltySettingsCashOutSectionModel,\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.loyaltySettingsAdvancedCashback]: createLoyaltySettingsAdvancedCashbackSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackEdit]: createLoyaltySettingsAdvancedCashbackEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashbackNew]: createLoyaltySettingsAdvancedCashbackEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n\n\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut]: createLoyaltySettingsCashOutSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutEdit]: createLoyaltySettingsCashOutEditSectionModel({\n typeAction: TYPE_ACTION.edit,\n }),\n [MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOutNew]: createLoyaltySettingsCashOutEditSectionModel({\n typeAction: TYPE_ACTION.new,\n }),\n\n\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: 'empty1'},\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_CASH_ON_TAKEAWAY\",\n accessor: \"acceptCashOnTakeAway\",\n isEditable: true,\n type: CONTROL_TYPE.checkbox\n },\n {accessor: 'empty2'},\n {\n title: \"settings.paymentsConfigurationSettings.ACCEPT_EXTERNAL_PAYMENT\",\n accessor: \"acceptExternalPayment\",\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","\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, style }) => {\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(!open) return;\n setTemporarySelected(selectedValues);\n setMultiMode(defaultMultiMode);\n // eslint-disable-next-line\n }, [open]);\n\n useEffect(() => {\n if(!multiMode) {\n setTemporarySelected([]);\n }\n if(multiMode && selectedValues.length === 1) {\n setTemporarySelected(selectedValues)\n }\n // eslint-disable-next-line\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 React.memo(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 || getIsActive(location, MARKETPLACE_SETTINGS_MODEL.loyaltySettingsCashOut)\n || getIsActive(location, MARKETPLACE_SETTINGS_MODEL.loyaltySettingsAdvancedCashback),\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, cancelNotes }) => {\n return (\n
\n
\n {getAccountOrderStatusTitle(value)}\n {!!cancelNotes && (\n {' '}{cancelNotes}\n )}\n
\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":""}